Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/arm64/boot/dts/qcom/   (Fast Lexical Analyzer Version 2.6©)  Datei vom 24.10.2025 mit Größe 14 kB image not shown  

Quelle  sc8180x-lenovo-flex-5g.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2020-2023, Linaro Limited
 */

/dts-v1/;

#include <dt-bindings/firmware/qcom,scm.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc8180x.dtsi"
#include "sc8180x-pmics.dtsi"

/ {
 model = "Lenovo Flex 5G";
 compatible = "lenovo,flex-5g", "qcom,sc8180x";

 aliases {
  serial0 = &uart13;
 };

 backlight: backlight {
  compatible = "pwm-backlight";
  pwms = <&pmc8180c_lpg 4 1000000>;
  enable-gpios = <&pmc8180c_gpios 8 GPIO_ACTIVE_HIGH>;

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

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

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

  lid-switch {
   gpios = <&tlmm 121 GPIO_ACTIVE_LOW>;
   linux,input-type = <EV_SW>;
   linux,code = <SW_LID>;
   wakeup-source;
   wakeup-event-action = <EV_ACT_DEASSERTED>;
  };
 };

 pmic-glink {
  compatible = "qcom,sc8180x-pmic-glink", "qcom,pmic-glink";

  #address-cells = <1>;
  #size-cells = <0>;
  orientation-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>,
        <&tlmm 58 GPIO_ACTIVE_HIGH>;

  connector@0 {
   compatible = "usb-c-connector";
   reg = <0>;
   power-role = "dual";
   data-role = "dual";

   ports {
    #address-cells = <1>;
    #size-cells = <0>;

    port@0 {
     reg = <0>;

     pmic_glink_con0_hs: endpoint {
      remote-endpoint = <&usb_prim_dwc3_hs>;
     };
    };

    port@1 {
     reg = <1>;

     pmic_glink_con0_ss: endpoint {
      remote-endpoint = <&usb_prim_qmpphy_out>;
     };
    };

    port@2 {
     reg = <2>;

     pmic_glink_con0_sbu: endpoint {
      remote-endpoint = <&usbprim_sbu_mux>;
     };
    };
   };
  };

  connector@1 {
   compatible = "usb-c-connector";
   reg = <1>;
   power-role = "dual";
   data-role = "dual";

   ports {
    #address-cells = <1>;
    #size-cells = <0>;
    port@0 {
     reg = <0>;

     pmic_glink_con1_hs: endpoint {
      remote-endpoint = <&usb_sec_dwc3_hs>;
     };
    };

    port@1 {
     reg = <1>;

     pmic_glink_con1_ss: endpoint {
      remote-endpoint = <&usb_sec_qmpphy_out>;
     };
    };

    port@2 {
     reg = <2>;

     pmic_glink_con1_sbu: endpoint {
      remote-endpoint = <&usbsec_sbu_mux>;
     };
    };
   };
  };
 };

 reserved-memory {
  rmtfs_mem: rmtfs-region@85500000 {
   compatible = "qcom,rmtfs-mem";
   reg = <0x0 0x85500000 0x0 0x200000>;
   no-map;

   qcom,client-id = <1>;
   qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
  };

  wlan_mem: wlan-region@8bc00000 {
   reg = <0x0 0x8bc00000 0x0 0x180000>;
   no-map;
  };

  mpss_mem: mpss-region@8d800000 {
   reg = <0x0 0x8d800000 0x0 0x3000000>;
   no-map;
  };

  adsp_mem: adsp-region@90800000 {
   reg = <0x0 0x90800000 0x0 0x1c00000>;
   no-map;
  };

  gpu_mem: gpu-region@98715000 {
   reg = <0x0 0x98715000 0x0 0x2000>;
   no-map;
  };

  cdsp_mem: cdsp-region@98900000 {
   reg = <0x0 0x98900000 0x0 0x1400000>;
   no-map;
  };
 };

 vph_pwr: vph-pwr-regulator {
  compatible = "regulator-fixed";
  regulator-name = "vph_pwr";
  regulator-min-microvolt = <3700000>;
  regulator-max-microvolt = <3700000>;
 };

 vreg_s4a_1p8: pm8150-s4-regulator {
  compatible = "regulator-fixed";
  regulator-name = "vreg_s4a_1p8";

  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <1800000>;

  regulator-always-on;
  regulator-boot-on;

  vin-supply = <&vph_pwr>;
 };

 usbprim-sbu-mux {
  compatible = "pericom,pi3usb102", "gpio-sbu-mux";

  enable-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
  select-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;

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

  mode-switch;
  orientation-switch;

  port {
   usbprim_sbu_mux: endpoint {
    remote-endpoint = <&pmic_glink_con0_sbu>;
   };
  };
 };

 usbsec-sbu-mux {
  compatible = "pericom,pi3usb102", "gpio-sbu-mux";

  enable-gpios = <&tlmm 188 GPIO_ACTIVE_LOW>;
  select-gpios = <&tlmm 187 GPIO_ACTIVE_HIGH>;

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

  mode-switch;
  orientation-switch;

  port {
   usbsec_sbu_mux: endpoint {
    remote-endpoint = <&pmic_glink_con1_sbu>;
   };
  };
 };
};

&apps_rsc {
 regulators-0 {
  compatible = "qcom,pmc8180-rpmh-regulators";
  qcom,pmic-id = "a";

  vdd-s5-supply = <&vph_pwr>;
  vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;

  vreg_s5a_2p0: smps5 {
   regulator-min-microvolt = <2040000>;
   regulator-max-microvolt = <2100000>;
  };

  vreg_l7a_1p8: ldo7 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1800000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l9a_1p3: ldo9 {
   regulator-min-microvolt = <1296000>;
   regulator-max-microvolt = <1304000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l12a_1p8: ldo12 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1800000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };
 };

 regulators-1 {
  compatible = "qcom,pmc8180c-rpmh-regulators";
  qcom,pmic-id = "c";

  vdd-s6-supply = <&vph_pwr>;
  vdd-l2-l3-supply = <&vreg_s6c_1p35>;
  vdd-bob-supply = <&vph_pwr>;

  vreg_s6c_1p35: smps6 {
   regulator-min-microvolt = <1350000>;
   regulator-max-microvolt = <1372000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l3c_1p2: ldo3 {
   regulator-min-microvolt = <1200000>;
   regulator-max-microvolt = <1200000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l10c_3p3: ldo10 {
   regulator-min-microvolt = <3000000>;
   regulator-max-microvolt = <3312000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l11c_3p3: ldo11 {
   regulator-min-microvolt = <3296000>;
   regulator-max-microvolt = <3304000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_bob: bob {
   regulator-min-microvolt = <3296000>;
   regulator-max-microvolt = <3350000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };
 };

 regulators-2 {
  compatible = "qcom,pmc8180-rpmh-regulators";
  qcom,pmic-id = "e";

  vdd-s4-supply = <&vph_pwr>;
  vdd-s5-supply = <&vph_pwr>;
  vdd-l2-l10-supply = <&vreg_bob>;
  vdd-l3-l4-l5-l18-supply = <&vreg_s4e_0p98>;
  vdd-l7-l12-l14-l15-supply = <&vreg_s5e_2p05>;
  vdd-l13-l16-l17-supply = <&vreg_bob>;

  vreg_s4e_0p98: smps4 {
   regulator-min-microvolt = <992000>;
   regulator-max-microvolt = <992000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_s5e_2p05: smps5 {
   regulator-min-microvolt = <2040000>;
   regulator-max-microvolt = <2040000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l1e_0p75: ldo1 {
   regulator-min-microvolt = <752000>;
   regulator-max-microvolt = <752000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l5e_0p88: ldo5 {
   regulator-min-microvolt = <880000>;
   regulator-max-microvolt = <880000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };

  vreg_l7e_1p8: ldo7 {
   regulator-min-microvolt = <1800000>;
   regulator-max-microvolt = <1800000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
   regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
         RPMH_REGULATOR_MODE_HPM>;
   regulator-allow-set-load;
  };

  vreg_l10e_2p9: ldo10 {
   regulator-min-microvolt = <2904000>;
   regulator-max-microvolt = <2904000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
   regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
         RPMH_REGULATOR_MODE_HPM>;
   regulator-allow-set-load;
  };

  vreg_l16e_3p0: ldo16 {
   regulator-min-microvolt = <3072000>;
   regulator-max-microvolt = <3072000>;
   regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  };
 };
};

&gpu {
 status = "okay";

 zap-shader {
  memory-region = <&gpu_mem>;
  firmware-name = "qcom/sc8180x/LENOVO/82AK/qcdxkmsuc8180.mbn";
 };
};

&i2c1 {
 clock-frequency = <100000>;

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

 status = "okay";

 touchscreen@10 {
  compatible = "hid-over-i2c";
  reg = <0x10>;
  hid-descr-addr = <0x1>;

  interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;

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

&i2c7 {
 clock-frequency = <1000000>;

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

 status = "okay";

 keyboard@5 {
  compatible = "hid-over-i2c";
  reg = <0x5>;
  hid-descr-addr = <0x20>;

  interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>;

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

 touchpad@2c {
  compatible = "hid-over-i2c";
  reg = <0x2c>;
  hid-descr-addr = <0x20>;

  interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;

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

&mdss {
 status = "okay";
};

&mdss_dp0 {
 status = "okay";
};

&mdss_dp0_out {
 data-lanes = <0 1>;
 remote-endpoint = <&usb_prim_qmpphy_dp_in>;
};

&mdss_dp1 {
 status = "okay";
};

&mdss_dp1_out {
 data-lanes = <0 1>;
 remote-endpoint = <&usb_sec_qmpphy_dp_in>;
};

&mdss_edp {
 data-lanes = <0 1 2 3>;

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

 status = "okay";

 aux-bus {
  panel {
   compatible = "edp-panel";
   no-hpd;

   backlight = <&backlight>;

   port {
    auo_b140han06_in: endpoint {
     remote-endpoint = <&mdss_edp_out>;
    };
   };
  };
 };

 ports {
  port@1 {
   reg = <1>;
   mdss_edp_out: endpoint {
    remote-endpoint = <&auo_b140han06_in>;
   };
  };
 };
};

&pcie3 {
 perst-gpios = <&tlmm 178 GPIO_ACTIVE_LOW>;
 wake-gpios = <&tlmm 180 GPIO_ACTIVE_HIGH>;
 pinctrl-0 = <&pcie3_default_state>;
 pinctrl-names = "default";

 status = "okay";
};

&pcie3_phy {
 vdda-phy-supply = <&vreg_l5e_0p88>;
 vdda-pll-supply = <&vreg_l3c_1p2>;

 status = "okay";
};

&pmc8180_pwrkey {
 status = "okay";
};

&pmc8180c_lpg {
 status = "okay";
};

&qupv3_id_0 {
 status = "okay";
};

&qupv3_id_1 {
 status = "okay";
};

&qupv3_id_2 {
 status = "okay";
};

&remoteproc_adsp {
 memory-region = <&adsp_mem>;
 firmware-name = "qcom/sc8180x/LENOVO/82AK/qcadsp8180.mbn";

 status = "okay";
};

&remoteproc_cdsp {
 memory-region = <&cdsp_mem>;
 firmware-name = "qcom/sc8180x/LENOVO/82AK/qccdsp8180.mbn";

 status = "okay";
};

&remoteproc_mpss {
 memory-region = <&mpss_mem>;
 firmware-name = "qcom/sc8180x/LENOVO/82AK/qcmpss8180_nm.mbn";

 status = "okay";
};

&uart13 {
 pinctrl-0 = <&uart13_state>;
 pinctrl-names = "default";

 status = "okay";

 bluetooth {
  compatible = "qcom,wcn3998-bt";

  vddio-supply = <&vreg_s4a_1p8>;
  vddxo-supply = <&vreg_l7a_1p8>;
  vddrf-supply = <&vreg_l9a_1p3>;
  vddch0-supply = <&vreg_l11c_3p3>;
  max-speed = <3200000>;
 };
};

&ufs_mem_hc {
 reset-gpios = <&tlmm 190 GPIO_ACTIVE_LOW>;

 vcc-supply = <&vreg_l10e_2p9>;
 vcc-max-microamp = <155000>;

 vccq2-supply = <&vreg_l7e_1p8>;
 vccq2-max-microamp = <425000>;

 status = "okay";
};

&ufs_mem_phy {
 vdda-phy-supply = <&vreg_l5e_0p88>;
 vdda-pll-supply = <&vreg_l3c_1p2>;

 status = "okay";
};

&usb_mp {
 status = "okay";
};

&usb_mp_hsphy0 {
 vdda-pll-supply = <&vreg_l5e_0p88>;
 vdda18-supply = <&vreg_l12a_1p8>;
 vdda33-supply = <&vreg_l16e_3p0>;

 status = "okay";
};

&usb_mp_hsphy1 {
 vdda-pll-supply = <&vreg_l5e_0p88>;
 vdda18-supply = <&vreg_l12a_1p8>;
 vdda33-supply = <&vreg_l16e_3p0>;

 status = "okay";
};

&usb_mp_qmpphy0 {
 vdda-phy-supply = <&vreg_l3c_1p2>;
 vdda-pll-supply = <&vreg_l5e_0p88>;

 status = "okay";
};

&usb_mp_qmpphy1 {
 vdda-phy-supply = <&vreg_l3c_1p2>;
 vdda-pll-supply = <&vreg_l5e_0p88>;

 status = "okay";
};

&usb_prim_hsphy {
 vdda-pll-supply = <&vreg_l5e_0p88>;
 vdda18-supply = <&vreg_l12a_1p8>;
 vdda33-supply = <&vreg_l16e_3p0>;

 status = "okay";
};

&usb_prim_qmpphy {
 vdda-phy-supply = <&vreg_l3c_1p2>;
 vdda-pll-supply = <&vreg_l5e_0p88>;

 orientation-switch;

 status = "okay";
};

&usb_prim {
 status = "okay";
};

&usb_prim_dwc3 {
 dr_mode = "host";
};

&usb_prim_dwc3_hs {
 remote-endpoint = <&pmic_glink_con0_hs>;
};

&usb_prim_qmpphy_dp_in {
 remote-endpoint = <&mdss_dp0_out>;
};

&usb_prim_qmpphy_out {
 remote-endpoint = <&pmic_glink_con0_ss>;
};

&usb_sec_dwc3_hs {
 remote-endpoint = <&pmic_glink_con1_hs>;
};

&usb_sec_hsphy {
 vdda-pll-supply = <&vreg_l5e_0p88>;
 vdda18-supply = <&vreg_l12a_1p8>;
 vdda33-supply = <&vreg_l16e_3p0>;

 status = "okay";
};

&usb_sec_qmpphy {
 vdda-phy-supply = <&vreg_l3c_1p2>;
 vdda-pll-supply = <&vreg_l5e_0p88>;

 orientation-switch;

 status = "okay";
};

&usb_sec_qmpphy_dp_in {
 remote-endpoint = <&mdss_dp1_out>;
};

&usb_sec_qmpphy_out {
 remote-endpoint = <&pmic_glink_con1_ss>;
};

&usb_sec {
 status = "okay";
};

&usb_sec_dwc3 {
 dr_mode = "host";
};

&wifi {
 memory-region = <&wlan_mem>;

 vdd-0.8-cx-mx-supply = <&vreg_l1e_0p75>;
 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
 vdd-1.3-rfa-supply = <&vreg_l9a_1p3>;
 vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;
 vdd-3.3-ch1-supply = <&vreg_l10c_3p3>;

 status = "okay";
};

/* PINCTRL */

&pmc8180c_gpios {
 bl_pwm_default: bl-pwm-default-state {
  en-pins {
   pins = "gpio8";
   function = "normal";
  };

  pwm-pins {
   pins = "gpio10";
   function = "func1";
  };
 };
};

&tlmm {
 gpio-reserved-ranges = <0 4>, <47 4>, <126 4>;

 edp_hpd_active: epd-hpd-active-state {
  pins = "gpio10";
  function = "edp_hot";
 };

 hall_int_active_state: hall-int-active-state {
  pins = "gpio121";
  function = "gpio";

  bias-disable;
 };

 i2c1_active: i2c1-active-state {
  pins = "gpio114", "gpio115";
  function = "qup1";

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

 i2c7_active: i2c7-active-state {
  pins = "gpio98", "gpio99";
  function = "qup7";

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

 kb_int_default: kb-int-default-state {
  pins = "gpio37";
  function = "gpio";

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

 pcie3_default_state: pcie3-default-state {
  clkreq-pins {
   pins = "gpio179";
   function = "pci_e3";
   bias-pull-up;
  };

  reset-n-pins {
   pins = "gpio178";
   function = "gpio";

   drive-strength = <2>;
   output-low;
   bias-pull-down;
  };

  wake-n-pins {
   pins = "gpio180";
   function = "gpio";

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

 tp_int_default: tp-int-default-state {
  pins = "gpio24";
  function = "gpio";

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

 ts_int_default: ts-int-default-state {
  pins = "gpio122";
  function = "gpio";

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

 usbprim_sbu_default: usbprim-sbu-state {
  oe-n-pins {
   pins = "gpio152";
   function = "gpio";
   bias-disable;
   drive-strength = <16>;
   output-high;
  };

  sel-pins {
   pins = "gpio100";
   function = "gpio";
   bias-disable;
   drive-strength = <16>;
  };
 };

 usbsec_sbu_default: usbsec-sbu-state {
  oe-n-pins {
   pins = "gpio188";
   function = "gpio";
   bias-disable;
   drive-strength = <16>;
   output-high;
  };

  sel-pins {
   pins = "gpio187";
   function = "gpio";
   bias-disable;
   drive-strength = <16>;
  };
 };

 uart13_state: uart13-state {
  cts-pins {
   pins = "gpio43";
   function = "qup13";
   bias-pull-down;
  };

  rts-tx-pins {
   pins = "gpio44", "gpio45";
   function = "qup13";
   drive-strength = <2>;
   bias-disable;
  };

  rx-pins {
   pins = "gpio46";
   function = "qup13";
   bias-pull-up;
  };
 };
};

[ Dauer der Verarbeitung: 0.4 Sekunden  (vorverarbeitet)  ]