1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2022, Linaro Limited
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12 #include "sc8280xp.dtsi"
13 #include "sc8280xp-pmics.dtsi"
16 model = "Qualcomm SC8280XP CRD";
17 compatible = "qcom,sc8280xp-crd", "qcom,sc8280xp";
25 backlight: backlight {
26 compatible = "pwm-backlight";
27 pwms = <&pmc8280c_lpg 3 1000000>;
28 enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
29 power-supply = <&vreg_edp_bl>;
31 pinctrl-names = "default";
32 pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
36 stdout-path = "serial0:115200n8";
40 compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
46 compatible = "usb-c-connector";
58 pmic_glink_con0_hs: endpoint {
59 remote-endpoint = <&usb_0_role_switch>;
66 pmic_glink_con0_ss: endpoint {
67 remote-endpoint = <&usb_0_qmpphy_out>;
74 pmic_glink_con0_sbu: endpoint {
75 remote-endpoint = <&usb0_sbu_mux>;
82 compatible = "usb-c-connector";
93 pmic_glink_con1_hs: endpoint {
94 remote-endpoint = <&usb_1_role_switch>;
101 pmic_glink_con1_ss: endpoint {
102 remote-endpoint = <&usb_1_qmpphy_out>;
109 pmic_glink_con1_sbu: endpoint {
110 remote-endpoint = <&usb1_sbu_mux>;
117 vreg_edp_3p3: regulator-edp-3p3 {
118 compatible = "regulator-fixed";
120 regulator-name = "VREG_EDP_3P3";
121 regulator-min-microvolt = <3300000>;
122 regulator-max-microvolt = <3300000>;
124 gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
127 pinctrl-names = "default";
128 pinctrl-0 = <&edp_reg_en>;
133 vreg_edp_bl: regulator-edp-bl {
134 compatible = "regulator-fixed";
136 regulator-name = "VREG_EDP_BL";
137 regulator-min-microvolt = <3600000>;
138 regulator-max-microvolt = <3600000>;
140 gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
143 pinctrl-names = "default";
144 pinctrl-0 = <&edp_bl_reg_en>;
149 vreg_nvme: regulator-nvme {
150 compatible = "regulator-fixed";
152 regulator-name = "VREG_NVME_3P3";
153 regulator-min-microvolt = <3300000>;
154 regulator-max-microvolt = <3300000>;
156 gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
159 pinctrl-names = "default";
160 pinctrl-0 = <&nvme_reg_en>;
163 vreg_misc_3p3: regulator-misc-3p3 {
164 compatible = "regulator-fixed";
166 regulator-name = "VREG_MISC_3P3";
167 regulator-min-microvolt = <3300000>;
168 regulator-max-microvolt = <3300000>;
170 gpio = <&pmc8280_1_gpios 2 GPIO_ACTIVE_HIGH>;
173 pinctrl-names = "default";
174 pinctrl-0 = <&misc_3p3_reg_en>;
180 vreg_wlan: regulator-wlan {
181 compatible = "regulator-fixed";
183 regulator-name = "VPH_PWR_WLAN";
184 regulator-min-microvolt = <3900000>;
185 regulator-max-microvolt = <3900000>;
187 gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
190 pinctrl-names = "default";
191 pinctrl-0 = <&hastings_reg_en>;
196 vreg_wwan: regulator-wwan {
197 compatible = "regulator-fixed";
199 regulator-name = "SDX_VPH_PWR";
200 regulator-min-microvolt = <3300000>;
201 regulator-max-microvolt = <3300000>;
203 gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
206 pinctrl-names = "default";
207 pinctrl-0 = <&wwan_sw_en>;
213 gpu_mem: gpu-mem@8bf00000 {
214 reg = <0 0x8bf00000 0 0x2000>;
219 compatible = "shared-dma-pool";
220 size = <0x0 0x8000000>;
227 compatible = "pericom,pi3usb102", "gpio-sbu-mux";
229 enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
230 select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
232 pinctrl-names = "default";
233 pinctrl-0 = <&usb0_sbu_default>;
239 usb0_sbu_mux: endpoint {
240 remote-endpoint = <&pmic_glink_con0_sbu>;
246 compatible = "pericom,pi3usb102", "gpio-sbu-mux";
248 enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
249 select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
251 pinctrl-names = "default";
252 pinctrl-0 = <&usb1_sbu_default>;
258 usb1_sbu_mux: endpoint {
259 remote-endpoint = <&pmic_glink_con1_sbu>;
267 compatible = "qcom,pm8350-rpmh-regulators";
270 vdd-l3-l5-supply = <&vreg_s11b>;
273 regulator-name = "vreg_s11b";
274 regulator-min-microvolt = <1272000>;
275 regulator-max-microvolt = <1272000>;
276 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280 regulator-name = "vreg_l3b";
281 regulator-min-microvolt = <1200000>;
282 regulator-max-microvolt = <1200000>;
283 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288 regulator-name = "vreg_l4b";
289 regulator-min-microvolt = <912000>;
290 regulator-max-microvolt = <912000>;
291 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
295 regulator-name = "vreg_l6b";
296 regulator-min-microvolt = <880000>;
297 regulator-max-microvolt = <880000>;
298 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
304 compatible = "qcom,pm8350c-rpmh-regulators";
308 regulator-name = "vreg_l1c";
309 regulator-min-microvolt = <1800000>;
310 regulator-max-microvolt = <1800000>;
311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315 regulator-name = "vreg_l6c";
316 regulator-min-microvolt = <1800000>;
317 regulator-max-microvolt = <2960000>;
318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
322 regulator-name = "vreg_l7c";
323 regulator-min-microvolt = <2504000>;
324 regulator-max-microvolt = <2504000>;
325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326 regulator-allow-set-load;
327 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
328 RPMH_REGULATOR_MODE_HPM>;
332 regulator-name = "vreg_l9c";
333 regulator-min-microvolt = <2960000>;
334 regulator-max-microvolt = <2960000>;
335 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
339 regulator-name = "vreg_l13c";
340 regulator-min-microvolt = <3072000>;
341 regulator-max-microvolt = <3072000>;
342 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347 compatible = "qcom,pm8350-rpmh-regulators";
350 vdd-l1-l4-supply = <&vreg_s11b>;
353 regulator-name = "vreg_l3d";
354 regulator-min-microvolt = <1200000>;
355 regulator-max-microvolt = <1200000>;
356 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
357 regulator-allow-set-load;
358 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
359 RPMH_REGULATOR_MODE_HPM>;
363 regulator-name = "vreg_l4d";
364 regulator-min-microvolt = <1200000>;
365 regulator-max-microvolt = <1200000>;
366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
370 regulator-name = "vreg_l6d";
371 regulator-min-microvolt = <880000>;
372 regulator-max-microvolt = <880000>;
373 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377 regulator-name = "vreg_l7d";
378 regulator-min-microvolt = <3072000>;
379 regulator-max-microvolt = <3072000>;
380 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384 regulator-name = "vreg_l9d";
385 regulator-min-microvolt = <912000>;
386 regulator-max-microvolt = <912000>;
387 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
400 memory-region = <&gpu_mem>;
401 firmware-name = "qcom/sc8280xp/qcdxkmsuc8280.mbn";
415 remote-endpoint = <&usb_0_qmpphy_dp_in>;
424 remote-endpoint = <&usb_1_qmpphy_dp_in>;
428 compatible = "qcom,sc8280xp-edp";
429 /delete-property/ #sound-dai-cells;
431 data-lanes = <0 1 2 3>;
437 compatible = "edp-panel";
438 power-supply = <&vreg_edp_3p3>;
440 backlight = <&backlight>;
443 edp_panel_in: endpoint {
444 remote-endpoint = <&mdss0_dp3_out>;
453 mdss0_dp3_out: endpoint {
454 remote-endpoint = <&edp_panel_in>;
461 vdda-phy-supply = <&vreg_l6b>;
462 vdda-pll-supply = <&vreg_l3b>;
468 clock-frequency = <400000>;
470 pinctrl-names = "default";
471 pinctrl-0 = <&i2c4_default>;
476 compatible = "hid-over-i2c";
479 hid-descr-addr = <0x1>;
480 interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
481 vdd-supply = <&vreg_misc_3p3>;
483 pinctrl-names = "default";
484 pinctrl-0 = <&ts0_default>;
489 clock-frequency = <400000>;
491 pinctrl-names = "default";
492 pinctrl-0 = <&i2c21_default>;
497 compatible = "hid-over-i2c";
500 hid-descr-addr = <0x1>;
501 interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
502 vdd-supply = <&vreg_misc_3p3>;
504 pinctrl-names = "default";
505 pinctrl-0 = <&tpad_default>;
511 compatible = "hid-over-i2c";
514 hid-descr-addr = <0x1>;
515 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
516 vdd-supply = <&vreg_misc_3p3>;
518 pinctrl-names = "default";
519 pinctrl-0 = <&kybd_default>;
526 perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
527 wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
529 vddpe-3v3-supply = <&vreg_nvme>;
531 pinctrl-names = "default";
532 pinctrl-0 = <&pcie2a_default>;
538 vdda-phy-supply = <&vreg_l6d>;
539 vdda-pll-supply = <&vreg_l4d>;
545 perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
546 wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
548 vddpe-3v3-supply = <&vreg_wwan>;
550 pinctrl-names = "default";
551 pinctrl-0 = <&pcie3a_default>;
557 vdda-phy-supply = <&vreg_l6d>;
558 vdda-pll-supply = <&vreg_l4d>;
564 perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
565 wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
567 vddpe-3v3-supply = <&vreg_wlan>;
569 pinctrl-names = "default";
570 pinctrl-0 = <&pcie4_default>;
576 vdda-phy-supply = <&vreg_l6d>;
577 vdda-pll-supply = <&vreg_l4d>;
586 &pmk8280_pon_pwrkey {
591 nvmem-cells = <&rtc_offset>;
592 nvmem-cell-names = "offset";
600 rtc_offset: rtc-offset@bc {
618 firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";
624 firmware-name = "qcom/sc8280xp/qccdsp8280.mbn";
630 pinctrl-0 = <&sdc2_default_state>;
631 pinctrl-1 = <&sdc2_sleep_state>;
632 pinctrl-names = "default", "sleep";
634 vmmc-supply = <&vreg_l9c>;
635 vqmmc-supply = <&vreg_l6c>;
637 cd-gpios = <&tlmm 131 GPIO_ACTIVE_LOW>;
643 compatible = "qcom,geni-debug-uart";
649 reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
651 vcc-supply = <&vreg_l7c>;
652 vcc-max-microamp = <800000>;
653 vccq-supply = <&vreg_l3d>;
654 vccq-max-microamp = <900000>;
660 vdda-phy-supply = <&vreg_l6b>;
661 vdda-pll-supply = <&vreg_l3b>;
675 vdda-pll-supply = <&vreg_l9d>;
676 vdda18-supply = <&vreg_l1c>;
677 vdda33-supply = <&vreg_l7d>;
683 vdda-phy-supply = <&vreg_l9d>;
684 vdda-pll-supply = <&vreg_l4d>;
691 &usb_0_qmpphy_dp_in {
692 remote-endpoint = <&mdss0_dp0_out>;
696 remote-endpoint = <&pmic_glink_con0_ss>;
700 remote-endpoint = <&pmic_glink_con0_hs>;
712 vdda-pll-supply = <&vreg_l4b>;
713 vdda18-supply = <&vreg_l1c>;
714 vdda33-supply = <&vreg_l13c>;
720 vdda-phy-supply = <&vreg_l4b>;
721 vdda-pll-supply = <&vreg_l3b>;
728 &usb_1_qmpphy_dp_in {
729 remote-endpoint = <&mdss0_dp1_out>;
733 remote-endpoint = <&pmic_glink_con1_ss>;
737 remote-endpoint = <&pmic_glink_con1_hs>;
741 clock-frequency = <38400000>;
744 /* PINCTRL - additions to nodes defined in sc8280xp.dtsi */
747 edp_bl_en: edp-bl-en-state {
752 edp_bl_reg_en: edp-bl-reg-en-state {
757 misc_3p3_reg_en: misc-3p3-reg-en-state {
764 wwan_sw_en: wwan-sw-en-state {
771 edp_bl_pwm: edp-bl-pwm-state {
778 hastings_reg_en: hastings-reg-en-state {
785 gpio-reserved-ranges = <74 6>, <83 4>, <125 2>, <128 2>, <154 7>;
787 edp_reg_en: edp-reg-en-state {
790 drive-strength = <16>;
794 i2c4_default: i2c4-default-state {
795 pins = "gpio171", "gpio172";
797 drive-strength = <16>;
801 i2c21_default: i2c21-default-state {
802 pins = "gpio81", "gpio82";
804 drive-strength = <16>;
808 kybd_default: kybd-default-state {
828 nvme_reg_en: nvme-reg-en-state {
831 drive-strength = <2>;
835 pcie2a_default: pcie2a-default-state {
838 function = "pcie2a_clkreq";
839 drive-strength = <2>;
846 drive-strength = <2>;
853 drive-strength = <2>;
858 pcie3a_default: pcie3a-default-state {
861 function = "pcie3a_clkreq";
862 drive-strength = <2>;
869 drive-strength = <2>;
876 drive-strength = <2>;
881 pcie4_default: pcie4-default-state {
884 function = "pcie4_clkreq";
885 drive-strength = <2>;
892 drive-strength = <2>;
899 drive-strength = <2>;
904 sdc2_default_state: sdc2-default-state {
907 drive-strength = <16>;
913 drive-strength = <16>;
919 drive-strength = <16>;
926 drive-strength = <2>;
931 sdc2_sleep_state: sdc2-sleep-state {
934 drive-strength = <2>;
940 drive-strength = <2>;
946 drive-strength = <2>;
953 drive-strength = <2>;
958 tpad_default: tpad-default-state {
966 ts0_default: ts0-default-state {
977 drive-strength = <16>;
981 usb0_sbu_default: usb0-sbu-state {
986 drive-strength = <16>;
994 drive-strength = <16>;
1001 drive-strength = <16>;
1006 usb1_sbu_default: usb1-sbu-state {
1011 drive-strength = <16>;
1019 drive-strength = <16>;
1026 drive-strength = <16>;