Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  msm8916-wingtech-wt88047.dts   Sprache: unbekannt

 
Spracherkennung für: .dts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2020 Stephan Gerhold
 */

/dts-v1/;

#include "msm8916-pm8916.dtsi"
#include "msm8916-modem-qdsp6.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>

/ {
 model = "Xiaomi Redmi 2 (Wingtech WT88047)";
 compatible = "wingtech,wt88047", "qcom,msm8916";
 chassis-type = "handset";

 aliases {
  mmc0 = &sdhc_1; /* eMMC */
  mmc1 = &sdhc_2; /* SD card */
  serial0 = &blsp_uart2;
 };

 chosen {
  stdout-path = "serial0";
 };

 speaker_amp: audio-amplifier {
  compatible = "simple-audio-amplifier";
  enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
  sound-name-prefix = "Speaker Amp";
  pinctrl-0 = <&speaker_amp_default>;
  pinctrl-names = "default";
 };

 /*
  * This seems to be actually an analog switch that either routes audio
  * to the headphone jack or nowhere. Given that we need to enable a GPIO
  * to get sound on headphones, modelling it as simple-audio-amplifier
  * works just fine.
  */
 headphones_switch: audio-switch {
  compatible = "simple-audio-amplifier";
  enable-gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
  sound-name-prefix = "Headphones Switch";
  pinctrl-0 = <&headphones_switch_default>;
  pinctrl-names = "default";
 };

 flash-led-controller {
  compatible = "ocs,ocp8110";
  enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
  flash-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;

  pinctrl-names = "default";
  pinctrl-0 = <&camera_flash_default>;

  flash_led: led {
   function = LED_FUNCTION_FLASH;
   color = <LED_COLOR_ID_WHITE>;
  };
 };

 gpio-keys {
  compatible = "gpio-keys";

  pinctrl-names = "default";
  pinctrl-0 = <&gpio_keys_default>;

  label = "GPIO Buttons";

  button-volume-up {
   label = "Volume Up";
   gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
   linux,code = <KEY_VOLUMEUP>;
  };
 };

 usb_id: usb-id {
  compatible = "linux,extcon-usb-gpio";
  id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
  pinctrl-names = "default";
  pinctrl-0 = <&usb_id_default>;
 };
};

&blsp_i2c2 {
 status = "okay";

 imu@68 {
  compatible = "invensense,mpu6880";
  reg = <0x68>;

  interrupt-parent = <&tlmm>;
  interrupts = <115 IRQ_TYPE_EDGE_RISING>;

  vdd-supply = <&pm8916_l17>;
  vddio-supply = <&pm8916_l6>;

  pinctrl-names = "default";
  pinctrl-0 = <&imu_default>;

  mount-matrix = "1",  "0", "0",
          "0", "-1", "0",
          "0",  "0", "1";
 };
};

&blsp_i2c5 {
 status = "okay";

 touchscreen@38 {
  /* Likely some other model but works just fine with this one */
  compatible = "edt,edt-ft5506";
  reg = <0x38>;

  interrupt-parent = <&tlmm>;
  interrupts = <13 IRQ_TYPE_EDGE_FALLING>;

  reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;

  vcc-supply = <&pm8916_l17>;
  iovcc-supply = <&pm8916_l6>;

  touchscreen-size-x = <720>;
  touchscreen-size-y = <1280>;

  pinctrl-names = "default";
  pinctrl-0 = <&touchscreen_default>;
 };
};

&blsp_i2c6 {
 status = "okay";

 led-controller@45 {
  compatible = "awinic,aw2013";
  reg = <0x45>;
  #address-cells = <1>;
  #size-cells = <0>;

  vcc-supply = <&pm8916_l16>;
  vio-supply = <&pm8916_l5>;

  led@0 {
   reg = <0>;
   led-max-microamp = <15000>;
   function = LED_FUNCTION_INDICATOR;
   color = <LED_COLOR_ID_RED>;
  };

  led@1 {
   reg = <1>;
   led-max-microamp = <15000>;
   function = LED_FUNCTION_INDICATOR;
   color = <LED_COLOR_ID_GREEN>;
  };

  led@2 {
   reg = <2>;
   led-max-microamp = <15000>;
   function = LED_FUNCTION_INDICATOR;
   color = <LED_COLOR_ID_BLUE>;
  };
 };
};

&blsp_uart2 {
 status = "okay";
 pinctrl-0 = <&blsp_uart2_console_default>;
 pinctrl-1 = <&blsp_uart2_console_sleep>;
 pinctrl-names = "default", "sleep";
};

&mpss_mem {
 reg = <0x0 0x86800000 0x0 0x5100000>;
};

&pm8916_codec {
 qcom,micbias1-ext-cap;
 qcom,micbias-lvl = <2800>;
 qcom,mbhc-vthreshold-low = <75 100 120 180 500>;
 qcom,mbhc-vthreshold-high = <75 100 120 180 500>;
 qcom,hphl-jack-type-normally-open;
};

&pm8916_resin {
 status = "okay";
 linux,code = <KEY_VOLUMEDOWN>;
};

&pm8916_rpm_regulators {
 pm8916_l16: l16 {
  /*
   * L16 is only used for AW2013 which is fine with 2.5-3.3V.
   * Use the recommended typical voltage of 2.8V as minimum.
   */
  regulator-min-microvolt = <2800000>;
  regulator-max-microvolt = <3300000>;
 };

 pm8916_l17: l17 {
  regulator-min-microvolt = <2850000>;
  regulator-max-microvolt = <2850000>;
 };
};

&pm8916_vib {
 status = "okay";
};

&sdhc_1 {
 status = "okay";
};

&sdhc_2 {
 status = "okay";
 non-removable;
};

&sound {
 /*
  * Provide widgets/pin-switches to allow enabling speaker and headphones
  * separately. Both are routed via the HPH_L/HPH_R pins of the codec.
  */
 model = "wt88047";
 widgets =
  "Speaker", "Speaker",
  "Headphone", "Headphones";
 pin-switches = "Speaker", "Headphones";
 audio-routing =
  "Speaker", "Speaker Amp OUTL",
  "Speaker", "Speaker Amp OUTR",
  "Speaker Amp INL", "HPH_R",
  "Speaker Amp INR", "HPH_R",
  "Headphones", "Headphones Switch OUTL",
  "Headphones", "Headphones Switch OUTR",
  "Headphones Switch INL", "HPH_L",
  "Headphones Switch INR", "HPH_R",
  "AMIC1", "MIC BIAS External1",
  "AMIC2", "MIC BIAS Internal2";
 aux-devs = <&speaker_amp>, <&headphones_switch>;
};

&usb {
 status = "okay";
 extcon = <&usb_id>, <&usb_id>;
};

&usb_hs_phy {
 extcon = <&usb_id>;
};

&venus {
 status = "okay";
};

&venus_mem {
 status = "okay";
};

&wcnss {
 status = "okay";
};

&wcnss_iris {
 compatible = "qcom,wcn3620";
};

&wcnss_mem {
 status = "okay";
};

&tlmm {
 camera_flash_default: camera-flash-default-state {
  pins = "gpio31", "gpio32";
  function = "gpio";

  drive-strength = <2>;
  bias-disable;
 };

 gpio_keys_default: gpio-keys-default-state {
  pins = "gpio107";
  function = "gpio";

  drive-strength = <2>;
  bias-pull-up;
 };

 headphones_switch_default: headphones-switch-default-state {
  pins = "gpio8";
  function = "gpio";
  drive-strength = <2>;
  bias-disable;
 };

 imu_default: imu-default-state {
  pins = "gpio115";
  function = "gpio";

  drive-strength = <2>;
  bias-disable;
 };

 speaker_amp_default: speaker-amp-default-state {
  pins = "gpio117";
  function = "gpio";
  drive-strength = <2>;
  bias-disable;
 };

 touchscreen_default: touchscreen-default-state {
  touchscreen-pins {
   pins = "gpio13";
   function = "gpio";

   drive-strength = <2>;
   bias-pull-up;
  };
  reset-pins {
   pins = "gpio12";
   function = "gpio";

   drive-strength = <2>;
   bias-disable;
  };
 };

 usb_id_default: usb-id-default-state {
  pins = "gpio110";
  function = "gpio";

  drive-strength = <8>;
  bias-pull-up;
 };
};

[ Dauer der Verarbeitung: 0.30 Sekunden  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge