Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/arm64/boot/dts/qcom/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 7 kB image not shown  

Quelle  sm6125-xiaomi-laurel-sprout.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2022, Lux Aliaga <they@mint.lgbt>
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "sm6125.dtsi"
#include "pm6125.dtsi"

/ {
 model = "Xiaomi Mi A3";
 compatible = "xiaomi,laurel-sprout", "qcom,sm6125";
 chassis-type = "handset";

 /* required for bootloader to select correct board */
 qcom,msm-id = <394 0>; /* sm6125 v1 */
 qcom,board-id = <11 0>;

 chosen {
  #address-cells = <2>;
  #size-cells = <2>;
  ranges;

  framebuffer0: framebuffer@5c000000 {
   compatible = "simple-framebuffer";
   reg = <0 0x5c000000 0 (1560 * 720 * 4)>;
   width = <720>;
   height = <1560>;
   stride = <(720 * 4)>;
   format = "a8r8g8b8";
  };
 };

 reserved-memory {
  debug_mem: debug@ffb00000 {
   reg = <0x0 0xffb00000 0x0 0xc0000>;
   no-map;
  };

  last_log_mem: lastlog@ffbc0000 {
   reg = <0x0 0xffbc0000 0x0 0x80000>;
   no-map;
  };

  pstore_mem: ramoops@ffc00000 {
   compatible = "ramoops";
   reg = <0x0 0xffc40000 0x0 0xc0000>;
   record-size = <0x1000>;
   console-size = <0x40000>;
   pmsg-size = <0x20000>;
  };

  cmdline_mem: memory@ffd00000 {
   reg = <0x0 0xffd40000 0x0 0x1000>;
   no-map;
  };
 };

 extcon_usb: usb-id {
  compatible = "linux,extcon-usb-gpio";
  id-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>;
 };

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

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

  key-volume-up {
   label = "Volume Up";
   gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>;
   linux,code = <KEY_VOLUMEUP>;
   debounce-interval = <15>;
   linux,can-disable;
   wakeup-source;
  };
 };

 thermal-zones {
  rf-pa0-thermal {
   thermal-sensors = <&pm6125_adc_tm 0>;

   trips {
    active-config0 {
     temperature = <125000>;
     hysteresis = <1000>;
     type = "critical";
    };
   };
  };

  quiet-thermal {
   thermal-sensors = <&pm6125_adc_tm 1>;

   trips {
    active-config0 {
     temperature = <125000>;
     hysteresis = <1000>;
     type = "critical";
    };
   };
  };

  xo-thermal {
   thermal-sensors = <&pm6125_adc_tm 2>;

   trips {
    active-config0 {
     temperature = <125000>;
     hysteresis = <1000>;
     type = "critical";
    };
   };
  };
 };
};

&hsusb_phy1 {
 vdd-supply = <&vreg_l7a>;
 vdda-pll-supply = <&vreg_l10a>;
 vdda-phy-dpdm-supply = <&vreg_l15a>;
 status = "okay";
};

&pm6125_adc {
 pinctrl-names = "default";
 pinctrl-0 = <&camera_flash_therm &emmc_ufs_therm>;

 channel@4d {
  reg = <ADC5_AMUX_THM1_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time = <200>;
  qcom,pre-scaling = <1 1>;
  label = "rf_pa0_therm";
 };

 channel@4e {
  reg = <ADC5_AMUX_THM2_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time = <200>;
  qcom,pre-scaling = <1 1>;
  label = "quiet_therm";
 };

 channel@52 {
  reg = <ADC5_GPIO1_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time = <200>;
  qcom,pre-scaling = <1 1>;
  label = "camera_flash_therm";
 };

 channel@54 {
  reg = <ADC5_GPIO3_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time = <200>;
  qcom,pre-scaling = <1 1>;
  label = "emmc_ufs_therm";
 };
};

&pm6125_adc_tm {
 status = "okay";

 rf-pa0-therm@0 {
  reg = <0>;
  io-channels = <&pm6125_adc ADC5_AMUX_THM1_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time-us = <200>;
 };

 quiet-therm@1 {
  reg = <1>;
  io-channels = <&pm6125_adc ADC5_AMUX_THM2_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time-us = <200>;
 };

 xo-therm@2 {
  reg = <2>;
  io-channels = <&pm6125_adc ADC5_XO_THERM_100K_PU>;
  qcom,ratiometric;
  qcom,hw-settle-time-us = <200>;
 };
};

&pm6125_gpios {
 camera_flash_therm: camera-flash-therm-state {
  pins = "gpio3";
  function = PMIC_GPIO_FUNC_NORMAL;
  bias-high-impedance;
 };

 emmc_ufs_therm: emmc-ufs-therm-state {
  pins = "gpio6";
  function = PMIC_GPIO_FUNC_NORMAL;
  bias-high-impedance;
 };

 vol_up_n: vol-up-n-state {
  pins = "gpio5";
  function = PMIC_GPIO_FUNC_NORMAL;
  input-enable;
  bias-pull-up;
 };
};

&pon_pwrkey {
 status = "okay";
};

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

&rpm_requests {
 regulators-0 {
  compatible = "qcom,rpm-pm6125-regulators";

  vreg_s6a: s6 {
   regulator-min-microvolt = <936000>;
   regulator-max-microvolt = <1422000>;
  };

  vreg_l1a: l1 {
   regulator-min-microvolt = <1200000>;
   regulator-max-microvolt = <1256000>;
  };

  vreg_l2a: l2 {
   regulator-min-microvolt = <1000000>;
   regulator-max-microvolt = <1056000>;
  };

  vreg_l3a: l3 {
   regulator-min-microvolt = <1000000>;
   regulator-max-microvolt = <1064000>;
  };

  vreg_l4a: l4 {
   regulator-min-microvolt = <872000>;
   regulator-max-microvolt = <976000>;
   regulator-allow-set-load;
  };

  vreg_l5a: l5 {
   regulator-min-microvolt = <1648000>;
   regulator-max-microvolt = <2950000>;
   regulator-allow-set-load;
  };

  vreg_l6a: l6 {
   regulator-min-microvolt = <576000>;
   regulator-max-microvolt = <656000>;
  };

  vreg_l7a: l7 {
   regulator-min-microvolt = <872000>;
   regulator-max-microvolt = <976000>;
  };

  vreg_l8a: l8 {
   regulator-min-microvolt = <400000>;
   regulator-max-microvolt = <728000>;
  };

  vreg_l9a: l9 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1896000>;
  };

  vreg_l10a: l10 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1896000>;
   regulator-allow-set-load;
  };

  vreg_l11a: l11 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1952000>;
   regulator-allow-set-load;
  };

  vreg_l12a: l12 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1996000>;
  };

  vreg_l13a: l13 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1832000>;
  };

  vreg_l14a: l14 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1904000>;
  };

  vreg_l15a: l15 {
   regulator-min-microvolt = <3104000>;
   regulator-max-microvolt = <3232000>;
  };

  vreg_l16a: l16 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1904000>;
  };

  vreg_l17a: l17 {
   regulator-min-microvolt = <1248000>;
   regulator-max-microvolt = <1304000>;
  };

  vreg_l18a: l18 {
   regulator-min-microvolt = <1200000>;
   regulator-max-microvolt = <1264000>;
   regulator-allow-set-load;
  };

  vreg_l19a: l19 {
   regulator-min-microvolt = <1648000>;
   regulator-max-microvolt = <2952000>;
  };

  vreg_l20a: l20 {
   regulator-min-microvolt = <1648000>;
   regulator-max-microvolt = <2952000>;
  };

  vreg_l21a: l21 {
   regulator-min-microvolt = <2600000>;
   regulator-max-microvolt = <2856000>;
  };

  vreg_l22a: l22 {
   regulator-min-microvolt = <2944000>;
   regulator-max-microvolt = <2950000>;
   regulator-allow-set-load;
  };

  vreg_l23a: l23 {
   regulator-min-microvolt = <3000000>;
   regulator-max-microvolt = <3400000>;
  };

  vreg_l24a: l24 {
   regulator-min-microvolt = <2944000>;
   regulator-max-microvolt = <2950000>;
   regulator-allow-set-load;
  };
 };
};

&sdc2_off_state {
 sd-cd-pins {
  pins = "gpio98";
  function = "gpio";
  drive-strength = <2>;
  bias-disable;
 };
};

&sdc2_on_state {
 sd-cd-pins {
  pins = "gpio98";
  function = "gpio";
  drive-strength = <2>;
  bias-pull-up;
 };
};

&sdhc_2 {
 cd-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
 vmmc-supply = <&vreg_l22a>;
 vqmmc-supply = <&vreg_l5a>;
 no-sdio;
 no-mmc;
 status = "okay";
};

&tlmm {
 gpio-reserved-ranges = <22 2>, <28 6>;
};

&ufs_mem_hc {
 vcc-supply = <&vreg_l24a>;
 vccq2-supply = <&vreg_l11a>;
 vcc-max-microamp = <600000>;
 vccq2-max-microamp = <600000>;
 vdd-hba-supply = <&vreg_l18a>;
 status = "okay";
};

&ufs_mem_phy {
 vdda-phy-supply = <&vreg_l4a>;
 vdda-pll-supply = <&vreg_l10a>;
 status = "okay";
};

&usb3 {
 status = "okay";
};

&usb3_dwc3 {
 extcon = <&extcon_usb>;
};

[ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ]