|  | // SPDX-License-Identifier: BSD-3-Clause | 
|  | /* | 
|  | * Copyright (c) 2021, The Linux Foundation. All rights reserved. | 
|  | * Copyright (c) 2022, Linaro Limited | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  |  | 
|  | #include <dt-bindings/gpio/gpio.h> | 
|  | #include <dt-bindings/regulator/qcom,rpmh-regulator.h> | 
|  |  | 
|  | #include "sc8280xp.dtsi" | 
|  | #include "sc8280xp-pmics.dtsi" | 
|  |  | 
|  | / { | 
|  | model = "Qualcomm SC8280XP CRD"; | 
|  | compatible = "qcom,sc8280xp-crd", "qcom,sc8280xp"; | 
|  |  | 
|  | aliases { | 
|  | i2c4 = &i2c4; | 
|  | i2c21 = &i2c21; | 
|  | serial0 = &uart17; | 
|  | }; | 
|  |  | 
|  | backlight: backlight { | 
|  | compatible = "pwm-backlight"; | 
|  | pwms = <&pmc8280c_lpg 3 1000000>; | 
|  | enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>; | 
|  | power-supply = <&vreg_edp_bl>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>; | 
|  | }; | 
|  |  | 
|  | chosen { | 
|  | stdout-path = "serial0:115200n8"; | 
|  | }; | 
|  |  | 
|  | pmic-glink { | 
|  | compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink"; | 
|  |  | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  |  | 
|  | 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_0_dwc3_hs>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | port@1 { | 
|  | reg = <1>; | 
|  |  | 
|  | pmic_glink_con0_ss: endpoint { | 
|  | remote-endpoint = <&usb_0_qmpphy_out>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | port@2 { | 
|  | reg = <2>; | 
|  |  | 
|  | pmic_glink_con0_sbu: endpoint { | 
|  | remote-endpoint = <&usb0_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_1_dwc3_hs>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | port@1 { | 
|  | reg = <1>; | 
|  |  | 
|  | pmic_glink_con1_ss: endpoint { | 
|  | remote-endpoint = <&usb_1_qmpphy_out>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | port@2 { | 
|  | reg = <2>; | 
|  |  | 
|  | pmic_glink_con1_sbu: endpoint { | 
|  | remote-endpoint = <&usb1_sbu_mux>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | vreg_edp_3p3: regulator-edp-3p3 { | 
|  | compatible = "regulator-fixed"; | 
|  |  | 
|  | regulator-name = "VREG_EDP_3P3"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  |  | 
|  | gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>; | 
|  | enable-active-high; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&edp_reg_en>; | 
|  |  | 
|  | regulator-boot-on; | 
|  | }; | 
|  |  | 
|  | vreg_edp_bl: regulator-edp-bl { | 
|  | compatible = "regulator-fixed"; | 
|  |  | 
|  | regulator-name = "VREG_EDP_BL"; | 
|  | regulator-min-microvolt = <3600000>; | 
|  | regulator-max-microvolt = <3600000>; | 
|  |  | 
|  | gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>; | 
|  | enable-active-high; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&edp_bl_reg_en>; | 
|  |  | 
|  | regulator-boot-on; | 
|  | }; | 
|  |  | 
|  | vreg_nvme: regulator-nvme { | 
|  | compatible = "regulator-fixed"; | 
|  |  | 
|  | regulator-name = "VREG_NVME_3P3"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  |  | 
|  | gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>; | 
|  | enable-active-high; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&nvme_reg_en>; | 
|  | }; | 
|  |  | 
|  | vreg_misc_3p3: regulator-misc-3p3 { | 
|  | compatible = "regulator-fixed"; | 
|  |  | 
|  | regulator-name = "VREG_MISC_3P3"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  |  | 
|  | gpio = <&pmc8280_1_gpios 2 GPIO_ACTIVE_HIGH>; | 
|  | enable-active-high; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&misc_3p3_reg_en>; | 
|  |  | 
|  | regulator-boot-on; | 
|  | regulator-always-on; | 
|  | }; | 
|  |  | 
|  | vreg_wlan: regulator-wlan { | 
|  | compatible = "regulator-fixed"; | 
|  |  | 
|  | regulator-name = "VPH_PWR_WLAN"; | 
|  | regulator-min-microvolt = <3900000>; | 
|  | regulator-max-microvolt = <3900000>; | 
|  |  | 
|  | gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>; | 
|  | enable-active-high; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&hastings_reg_en>; | 
|  |  | 
|  | regulator-boot-on; | 
|  | }; | 
|  |  | 
|  | vreg_wwan: regulator-wwan { | 
|  | compatible = "regulator-fixed"; | 
|  |  | 
|  | regulator-name = "SDX_VPH_PWR"; | 
|  | regulator-min-microvolt = <3300000>; | 
|  | regulator-max-microvolt = <3300000>; | 
|  |  | 
|  | gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>; | 
|  | enable-active-high; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&wwan_sw_en>; | 
|  |  | 
|  | regulator-boot-on; | 
|  | }; | 
|  |  | 
|  | reserved-memory { | 
|  | gpu_mem: gpu-mem@8bf00000 { | 
|  | reg = <0 0x8bf00000 0 0x2000>; | 
|  | no-map; | 
|  | }; | 
|  |  | 
|  | linux,cma { | 
|  | compatible = "shared-dma-pool"; | 
|  | size = <0x0 0x8000000>; | 
|  | reusable; | 
|  | linux,cma-default; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | usb0-sbu-mux { | 
|  | compatible = "pericom,pi3usb102", "gpio-sbu-mux"; | 
|  |  | 
|  | enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>; | 
|  | select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&usb0_sbu_default>; | 
|  |  | 
|  | mode-switch; | 
|  | orientation-switch; | 
|  |  | 
|  | port { | 
|  | usb0_sbu_mux: endpoint { | 
|  | remote-endpoint = <&pmic_glink_con0_sbu>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | usb1-sbu-mux { | 
|  | compatible = "pericom,pi3usb102", "gpio-sbu-mux"; | 
|  |  | 
|  | enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>; | 
|  | select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&usb1_sbu_default>; | 
|  |  | 
|  | mode-switch; | 
|  | orientation-switch; | 
|  |  | 
|  | port { | 
|  | usb1_sbu_mux: endpoint { | 
|  | remote-endpoint = <&pmic_glink_con1_sbu>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &apps_rsc { | 
|  | regulators-0 { | 
|  | compatible = "qcom,pm8350-rpmh-regulators"; | 
|  | qcom,pmic-id = "b"; | 
|  |  | 
|  | vdd-l3-l5-supply = <&vreg_s11b>; | 
|  |  | 
|  | vreg_s11b: smps11 { | 
|  | regulator-name = "vreg_s11b"; | 
|  | regulator-min-microvolt = <1272000>; | 
|  | regulator-max-microvolt = <1272000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l3b: ldo3 { | 
|  | regulator-name = "vreg_l3b"; | 
|  | regulator-min-microvolt = <1200000>; | 
|  | regulator-max-microvolt = <1200000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | regulator-boot-on; | 
|  | }; | 
|  |  | 
|  | vreg_l4b: ldo4 { | 
|  | regulator-name = "vreg_l4b"; | 
|  | regulator-min-microvolt = <912000>; | 
|  | regulator-max-microvolt = <912000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l6b: ldo6 { | 
|  | regulator-name = "vreg_l6b"; | 
|  | regulator-min-microvolt = <880000>; | 
|  | regulator-max-microvolt = <880000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | regulator-boot-on; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | regulators-1 { | 
|  | compatible = "qcom,pm8350c-rpmh-regulators"; | 
|  | qcom,pmic-id = "c"; | 
|  |  | 
|  | vreg_l1c: ldo1 { | 
|  | regulator-name = "vreg_l1c"; | 
|  | regulator-min-microvolt = <1800000>; | 
|  | regulator-max-microvolt = <1800000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l6c: ldo6 { | 
|  | regulator-name = "vreg_l6c"; | 
|  | regulator-min-microvolt = <1800000>; | 
|  | regulator-max-microvolt = <2960000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l7c: ldo7 { | 
|  | regulator-name = "vreg_l7c"; | 
|  | regulator-min-microvolt = <2504000>; | 
|  | regulator-max-microvolt = <2504000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | regulator-allow-set-load; | 
|  | regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM | 
|  | RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l9c: ldo9 { | 
|  | regulator-name = "vreg_l9c"; | 
|  | regulator-min-microvolt = <2960000>; | 
|  | regulator-max-microvolt = <2960000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l13c: ldo13 { | 
|  | regulator-name = "vreg_l13c"; | 
|  | regulator-min-microvolt = <3072000>; | 
|  | regulator-max-microvolt = <3072000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | regulators-2 { | 
|  | compatible = "qcom,pm8350-rpmh-regulators"; | 
|  | qcom,pmic-id = "d"; | 
|  |  | 
|  | vdd-l1-l4-supply = <&vreg_s11b>; | 
|  |  | 
|  | vreg_l3d: ldo3 { | 
|  | regulator-name = "vreg_l3d"; | 
|  | regulator-min-microvolt = <1200000>; | 
|  | regulator-max-microvolt = <1200000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | regulator-allow-set-load; | 
|  | regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM | 
|  | RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l4d: ldo4 { | 
|  | regulator-name = "vreg_l4d"; | 
|  | regulator-min-microvolt = <1200000>; | 
|  | regulator-max-microvolt = <1200000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l6d: ldo6 { | 
|  | regulator-name = "vreg_l6d"; | 
|  | regulator-min-microvolt = <880000>; | 
|  | regulator-max-microvolt = <880000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l7d: ldo7 { | 
|  | regulator-name = "vreg_l7d"; | 
|  | regulator-min-microvolt = <3072000>; | 
|  | regulator-max-microvolt = <3072000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  |  | 
|  | vreg_l9d: ldo9 { | 
|  | regulator-name = "vreg_l9d"; | 
|  | regulator-min-microvolt = <912000>; | 
|  | regulator-max-microvolt = <912000>; | 
|  | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &dispcc0 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &gpu { | 
|  | status = "okay"; | 
|  |  | 
|  | zap-shader { | 
|  | memory-region = <&gpu_mem>; | 
|  | firmware-name = "qcom/sc8280xp/qcdxkmsuc8280.mbn"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &mdss0 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &mdss0_dp0 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &mdss0_dp0_out { | 
|  | data-lanes = <0 1>; | 
|  | remote-endpoint = <&usb_0_qmpphy_dp_in>; | 
|  | }; | 
|  |  | 
|  | &mdss0_dp1 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &mdss0_dp1_out { | 
|  | data-lanes = <0 1>; | 
|  | remote-endpoint = <&usb_1_qmpphy_dp_in>; | 
|  | }; | 
|  |  | 
|  | &mdss0_dp3 { | 
|  | compatible = "qcom,sc8280xp-edp"; | 
|  | /delete-property/ #sound-dai-cells; | 
|  |  | 
|  | data-lanes = <0 1 2 3>; | 
|  |  | 
|  | status = "okay"; | 
|  |  | 
|  | aux-bus { | 
|  | panel { | 
|  | compatible = "edp-panel"; | 
|  | power-supply = <&vreg_edp_3p3>; | 
|  |  | 
|  | backlight = <&backlight>; | 
|  |  | 
|  | port { | 
|  | edp_panel_in: endpoint { | 
|  | remote-endpoint = <&mdss0_dp3_out>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | ports { | 
|  | port@1 { | 
|  | reg = <1>; | 
|  | mdss0_dp3_out: endpoint { | 
|  | remote-endpoint = <&edp_panel_in>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &mdss0_dp3_phy { | 
|  | compatible = "qcom,sc8280xp-edp-phy"; | 
|  |  | 
|  | vdda-phy-supply = <&vreg_l6b>; | 
|  | vdda-pll-supply = <&vreg_l3b>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &i2c4 { | 
|  | clock-frequency = <400000>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&i2c4_default>; | 
|  |  | 
|  | status = "okay"; | 
|  |  | 
|  | touchscreen@10 { | 
|  | compatible = "hid-over-i2c"; | 
|  | reg = <0x10>; | 
|  |  | 
|  | hid-descr-addr = <0x1>; | 
|  | interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>; | 
|  | vdd-supply = <&vreg_misc_3p3>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&ts0_default>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &i2c21 { | 
|  | clock-frequency = <400000>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&i2c21_default>; | 
|  |  | 
|  | status = "okay"; | 
|  |  | 
|  | touchpad@15 { | 
|  | compatible = "hid-over-i2c"; | 
|  | reg = <0x15>; | 
|  |  | 
|  | hid-descr-addr = <0x1>; | 
|  | interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>; | 
|  | vdd-supply = <&vreg_misc_3p3>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&tpad_default>; | 
|  |  | 
|  | wakeup-source; | 
|  | }; | 
|  |  | 
|  | keyboard@68 { | 
|  | compatible = "hid-over-i2c"; | 
|  | reg = <0x68>; | 
|  |  | 
|  | hid-descr-addr = <0x1>; | 
|  | interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>; | 
|  | vdd-supply = <&vreg_misc_3p3>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&kybd_default>; | 
|  |  | 
|  | wakeup-source; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &pcie2a { | 
|  | perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>; | 
|  | wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>; | 
|  |  | 
|  | vddpe-3v3-supply = <&vreg_nvme>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pcie2a_default>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pcie2a_phy { | 
|  | vdda-phy-supply = <&vreg_l6d>; | 
|  | vdda-pll-supply = <&vreg_l4d>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pcie3a { | 
|  | perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>; | 
|  | wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>; | 
|  |  | 
|  | vddpe-3v3-supply = <&vreg_wwan>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pcie3a_default>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pcie3a_phy { | 
|  | vdda-phy-supply = <&vreg_l6d>; | 
|  | vdda-pll-supply = <&vreg_l4d>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pcie4 { | 
|  | max-link-speed = <2>; | 
|  |  | 
|  | perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>; | 
|  | wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>; | 
|  |  | 
|  | vddpe-3v3-supply = <&vreg_wlan>; | 
|  |  | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pcie4_default>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pcie4_phy { | 
|  | vdda-phy-supply = <&vreg_l6d>; | 
|  | vdda-pll-supply = <&vreg_l4d>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pmc8280c_lpg { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pmk8280_pon_pwrkey { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pmk8280_rtc { | 
|  | nvmem-cells = <&rtc_offset>; | 
|  | nvmem-cell-names = "offset"; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pmk8280_sdam_6 { | 
|  | status = "okay"; | 
|  |  | 
|  | rtc_offset: rtc-offset@bc { | 
|  | reg = <0xbc 0x4>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &qup0 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &qup1 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &qup2 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &remoteproc_adsp { | 
|  | firmware-name = "qcom/sc8280xp/qcadsp8280.mbn"; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &remoteproc_nsp0 { | 
|  | firmware-name = "qcom/sc8280xp/qccdsp8280.mbn"; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &sdc2 { | 
|  | pinctrl-0 = <&sdc2_default_state>; | 
|  | pinctrl-1 = <&sdc2_sleep_state>; | 
|  | pinctrl-names = "default", "sleep"; | 
|  |  | 
|  | vmmc-supply = <&vreg_l9c>; | 
|  | vqmmc-supply = <&vreg_l6c>; | 
|  |  | 
|  | cd-gpios = <&tlmm 131 GPIO_ACTIVE_LOW>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &uart17 { | 
|  | compatible = "qcom,geni-debug-uart"; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &ufs_mem_hc { | 
|  | reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>; | 
|  |  | 
|  | vcc-supply = <&vreg_l7c>; | 
|  | vcc-max-microamp = <800000>; | 
|  | vccq-supply = <&vreg_l3d>; | 
|  | vccq-max-microamp = <900000>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &ufs_mem_phy { | 
|  | vdda-phy-supply = <&vreg_l6b>; | 
|  | vdda-pll-supply = <&vreg_l3b>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_0 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_0_dwc3 { | 
|  | dr_mode = "host"; | 
|  | }; | 
|  |  | 
|  | &usb_0_dwc3_hs { | 
|  | remote-endpoint = <&pmic_glink_con0_hs>; | 
|  | }; | 
|  |  | 
|  | &usb_0_hsphy { | 
|  | vdda-pll-supply = <&vreg_l9d>; | 
|  | vdda18-supply = <&vreg_l1c>; | 
|  | vdda33-supply = <&vreg_l7d>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_0_qmpphy { | 
|  | vdda-phy-supply = <&vreg_l9d>; | 
|  | vdda-pll-supply = <&vreg_l4d>; | 
|  |  | 
|  | orientation-switch; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_0_qmpphy_dp_in { | 
|  | remote-endpoint = <&mdss0_dp0_out>; | 
|  | }; | 
|  |  | 
|  | &usb_0_qmpphy_out { | 
|  | remote-endpoint = <&pmic_glink_con0_ss>; | 
|  | }; | 
|  |  | 
|  | &usb_1 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_1_dwc3 { | 
|  | dr_mode = "host"; | 
|  | }; | 
|  |  | 
|  | &usb_1_dwc3_hs { | 
|  | remote-endpoint = <&pmic_glink_con1_hs>; | 
|  | }; | 
|  |  | 
|  | &usb_1_hsphy { | 
|  | vdda-pll-supply = <&vreg_l4b>; | 
|  | vdda18-supply = <&vreg_l1c>; | 
|  | vdda33-supply = <&vreg_l13c>; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_1_qmpphy { | 
|  | vdda-phy-supply = <&vreg_l4b>; | 
|  | vdda-pll-supply = <&vreg_l3b>; | 
|  |  | 
|  | orientation-switch; | 
|  |  | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usb_1_qmpphy_dp_in { | 
|  | remote-endpoint = <&mdss0_dp1_out>; | 
|  | }; | 
|  |  | 
|  | &usb_1_qmpphy_out { | 
|  | remote-endpoint = <&pmic_glink_con1_ss>; | 
|  | }; | 
|  |  | 
|  | &xo_board_clk { | 
|  | clock-frequency = <38400000>; | 
|  | }; | 
|  |  | 
|  | /* PINCTRL - additions to nodes defined in sc8280xp.dtsi */ | 
|  |  | 
|  | &pmc8280_1_gpios { | 
|  | edp_bl_en: edp-bl-en-state { | 
|  | pins = "gpio8"; | 
|  | function = "normal"; | 
|  | }; | 
|  |  | 
|  | edp_bl_reg_en: edp-bl-reg-en-state { | 
|  | pins = "gpio9"; | 
|  | function = "normal"; | 
|  | }; | 
|  |  | 
|  | misc_3p3_reg_en: misc-3p3-reg-en-state { | 
|  | pins = "gpio2"; | 
|  | function = "normal"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &pmc8280_2_gpios { | 
|  | wwan_sw_en: wwan-sw-en-state { | 
|  | pins = "gpio1"; | 
|  | function = "normal"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &pmc8280c_gpios { | 
|  | edp_bl_pwm: edp-bl-pwm-state { | 
|  | pins = "gpio8"; | 
|  | function = "func1"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &pmr735a_gpios { | 
|  | hastings_reg_en: hastings-reg-en-state { | 
|  | pins = "gpio1"; | 
|  | function = "normal"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &tlmm { | 
|  | gpio-reserved-ranges = <74 6>, <83 4>, <125 2>, <128 2>, <154 7>; | 
|  |  | 
|  | edp_reg_en: edp-reg-en-state { | 
|  | pins = "gpio25"; | 
|  | function = "gpio"; | 
|  | drive-strength = <16>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | i2c4_default: i2c4-default-state { | 
|  | pins = "gpio171", "gpio172"; | 
|  | function = "qup4"; | 
|  | drive-strength = <16>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | i2c21_default: i2c21-default-state { | 
|  | pins = "gpio81", "gpio82"; | 
|  | function = "qup21"; | 
|  | drive-strength = <16>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | kybd_default: kybd-default-state { | 
|  | disable-pins { | 
|  | pins = "gpio102"; | 
|  | function = "gpio"; | 
|  | output-low; | 
|  | }; | 
|  |  | 
|  | int-n-pins { | 
|  | pins = "gpio104"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | reset-pins { | 
|  | pins = "gpio105"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | nvme_reg_en: nvme-reg-en-state { | 
|  | pins = "gpio135"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | pcie2a_default: pcie2a-default-state { | 
|  | clkreq-n-pins { | 
|  | pins = "gpio142"; | 
|  | function = "pcie2a_clkreq"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | perst-n-pins { | 
|  | pins = "gpio143"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | wake-n-pins { | 
|  | pins = "gpio145"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pcie3a_default: pcie3a-default-state { | 
|  | clkreq-n-pins { | 
|  | pins = "gpio150"; | 
|  | function = "pcie3a_clkreq"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | perst-n-pins { | 
|  | pins = "gpio151"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | wake-n-pins { | 
|  | pins = "gpio148"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pcie4_default: pcie4-default-state { | 
|  | clkreq-n-pins { | 
|  | pins = "gpio140"; | 
|  | function = "pcie4_clkreq"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | perst-n-pins { | 
|  | pins = "gpio141"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | wake-n-pins { | 
|  | pins = "gpio139"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | sdc2_default_state: sdc2-default-state { | 
|  | clk-pins { | 
|  | pins = "sdc2_clk"; | 
|  | drive-strength = <16>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | cmd-pins { | 
|  | pins = "sdc2_cmd"; | 
|  | drive-strength = <16>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | data-pins { | 
|  | pins = "sdc2_data"; | 
|  | drive-strength = <16>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | card-detect-pins { | 
|  | pins = "gpio131"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | sdc2_sleep_state: sdc2-sleep-state { | 
|  | clk-pins { | 
|  | pins = "sdc2_clk"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | cmd-pins { | 
|  | pins = "sdc2_cmd"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | data-pins { | 
|  | pins = "sdc2_data"; | 
|  | drive-strength = <2>; | 
|  | bias-pull-up; | 
|  | }; | 
|  |  | 
|  | card-detect-pins { | 
|  | pins = "gpio131"; | 
|  | function = "gpio"; | 
|  | drive-strength = <2>; | 
|  | bias-disable; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | tpad_default: tpad-default-state { | 
|  | int-n-pins { | 
|  | pins = "gpio182"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | ts0_default: ts0-default-state { | 
|  | int-n-pins { | 
|  | pins = "gpio175"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | }; | 
|  |  | 
|  | reset-n-pins { | 
|  | pins = "gpio99"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | usb0_sbu_default: usb0-sbu-state { | 
|  | oe-n-pins { | 
|  | pins = "gpio101"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | drive-strength = <16>; | 
|  | output-high; | 
|  | }; | 
|  |  | 
|  | sel-pins { | 
|  | pins = "gpio164"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | drive-strength = <16>; | 
|  | }; | 
|  |  | 
|  | mode-pins { | 
|  | pins = "gpio167"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | drive-strength = <16>; | 
|  | output-high; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | usb1_sbu_default: usb1-sbu-state { | 
|  | oe-n-pins { | 
|  | pins = "gpio48"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | drive-strength = <16>; | 
|  | output-high; | 
|  | }; | 
|  |  | 
|  | sel-pins { | 
|  | pins = "gpio47"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | drive-strength = <16>; | 
|  | }; | 
|  |  | 
|  | mode-pins { | 
|  | pins = "gpio50"; | 
|  | function = "gpio"; | 
|  | bias-disable; | 
|  | drive-strength = <16>; | 
|  | output-high; | 
|  | }; | 
|  | }; | 
|  | }; |