1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2020-2023, Linaro Limited
9 #include <dt-bindings/firmware/qcom,scm.h>
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/gpio-keys.h>
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
14 #include "sc8180x.dtsi"
15 #include "sc8180x-pmics.dtsi"
18 model = "Qualcomm SC8180x Primus";
19 compatible = "qcom,sc8180x-primus", "qcom,sc8180x";
26 backlight: backlight {
27 compatible = "pwm-backlight";
28 pwms = <&pmc8180c_lpg 4 1000000>;
29 enable-gpios = <&pmc8180c_gpios 8 GPIO_ACTIVE_HIGH>;
31 pinctrl-names = "default";
32 pinctrl-0 = <&bl_pwm_default>;
36 stdout-path = "serial0:115200n8";
40 compatible = "gpio-keys";
42 pinctrl-names = "default";
43 pinctrl-0 = <&hall_int_active_state>;
46 gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
47 linux,input-type = <EV_SW>;
48 linux,code = <SW_LID>;
50 wakeup-event-action = <EV_ACT_DEASSERTED>;
55 compatible = "qcom,sc8180x-pmic-glink", "qcom,pmic-glink";
61 compatible = "usb-c-connector";
73 pmic_glink_con0_hs: endpoint {
74 remote-endpoint = <&usb_prim_role_switch>;
81 pmic_glink_con0_ss: endpoint {
82 remote-endpoint = <&usb_prim_qmpphy_out>;
89 pmic_glink_con0_sbu: endpoint {
90 remote-endpoint = <&usbprim_sbu_mux>;
97 compatible = "usb-c-connector";
103 #address-cells = <1>;
108 pmic_glink_con1_hs: endpoint {
109 remote-endpoint = <&usb_sec_role_switch>;
116 pmic_glink_con1_ss: endpoint {
117 remote-endpoint = <&usb_sec_qmpphy_out>;
124 pmic_glink_con1_sbu: endpoint {
125 remote-endpoint = <&usbsec_sbu_mux>;
133 rmtfs_mem: rmtfs-region@85500000 {
134 compatible = "qcom,rmtfs-mem";
135 reg = <0x0 0x85500000 0x0 0x200000>;
138 qcom,client-id = <1>;
139 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
142 wlan_mem: wlan-region@8bc00000 {
143 reg = <0x0 0x8bc00000 0x0 0x180000>;
147 adsp_mem: adsp-region@96e00000 {
148 reg = <0x0 0x96e00000 0x0 0x1c00000>;
152 mpss_mem: mpss-region@8d800000 {
153 reg = <0x0 0x8d800000 0x0 0x9600000>;
157 gpu_mem: gpu-region@98a00000 {
158 reg = <0x0 0x98a00000 0x0 0x2000>;
162 reserved-region@9a500000 {
163 reg = <0x0 0x9a500000 0x0 0x600000>;
168 vreg_nvme_0p9: nvme-0p9-regulator {
169 compatible = "regulator-fixed";
170 regulator-name = "vreg_nvme_0p9";
172 regulator-min-microvolt = <900000>;
173 regulator-max-microvolt = <900000>;
178 vreg_nvme_3p3: nvme-3p3-regulator {
179 compatible = "regulator-fixed";
180 regulator-name = "vreg_nvme_3p3";
182 regulator-min-microvolt = <3300000>;
183 regulator-max-microvolt = <3300000>;
185 gpio = <&pmc8180c_gpios 11 0>;
191 vdd_kb_tp_3v3: vdd-kb-tp-3v3-regulator {
192 compatible = "regulator-fixed";
193 regulator-name = "vdd_kb_tp_3v3";
194 regulator-min-microvolt = <3300000>;
195 regulator-max-microvolt = <3300000>;
197 gpio = <&tlmm 4 GPIO_ACTIVE_HIGH>;
202 pinctrl-names = "default";
203 pinctrl-0 = <&kb_tp_3v3_en_active_state>;
206 vph_pwr: vph-pwr-regulator {
207 compatible = "regulator-fixed";
208 regulator-name = "vph_pwr";
209 regulator-min-microvolt = <3700000>;
210 regulator-max-microvolt = <3700000>;
213 vreg_s4a_1p8: pm8150-s4 {
214 compatible = "regulator-fixed";
215 regulator-name = "vreg_s4a_1p8";
217 regulator-min-microvolt = <1800000>;
218 regulator-max-microvolt = <1800000>;
223 vin-supply = <&vph_pwr>;
227 compatible = "pericom,pi3usb102", "gpio-sbu-mux";
229 enable-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
230 select-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
232 pinctrl-names = "default";
233 pinctrl-0 = <&usbprim_sbu_default>;
239 usbprim_sbu_mux: endpoint {
240 remote-endpoint = <&pmic_glink_con0_sbu>;
246 compatible = "pericom,pi3usb102", "gpio-sbu-mux";
248 enable-gpios = <&tlmm 188 GPIO_ACTIVE_LOW>;
249 select-gpios = <&tlmm 187 GPIO_ACTIVE_HIGH>;
251 pinctrl-names = "default";
252 pinctrl-0 = <&usbsec_sbu_default>;
258 usbsec_sbu_mux: endpoint {
259 remote-endpoint = <&pmic_glink_con1_sbu>;
267 compatible = "qcom,pmc8180-rpmh-regulators";
270 vdd-s5-supply = <&vph_pwr>;
271 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
273 vreg_s5a_2p0: smps5 {
274 regulator-min-microvolt = <2040000>;
275 regulator-max-microvolt = <2100000>;
279 regulator-min-microvolt = <1800000>;
280 regulator-max-microvolt = <1800000>;
281 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
285 regulator-min-microvolt = <1296000>;
286 regulator-max-microvolt = <1304000>;
287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
290 vreg_l12a_1p8: ldo12 {
291 regulator-min-microvolt = <1800000>;
292 regulator-max-microvolt = <1800000>;
293 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298 compatible = "qcom,pmc8180c-rpmh-regulators";
301 vdd-s6-supply = <&vph_pwr>;
302 vdd-s8-supply = <&vph_pwr>;
303 vdd-l2-l3-supply = <&vreg_s6c_1p35>;
304 vdd-bob-supply = <&vph_pwr>;
306 vreg_s6c_1p35: smps6 {
307 regulator-min-microvolt = <1350000>;
308 regulator-max-microvolt = <1372000>;
309 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312 vreg_s8c_1p8: smps8 {
313 regulator-min-microvolt = <1800000>;
314 regulator-max-microvolt = <1800000>;
315 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
320 regulator-min-microvolt = <1200000>;
321 regulator-max-microvolt = <1200000>;
322 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326 regulator-min-microvolt = <3008000>;
327 regulator-max-microvolt = <3008000>;
328 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
331 vreg_l10c_3p3: ldo10 {
332 regulator-min-microvolt = <3000000>;
333 regulator-max-microvolt = <3312000>;
334 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337 vreg_l11c_3p3: ldo11 {
338 regulator-min-microvolt = <3296000>;
339 regulator-max-microvolt = <3304000>;
340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
344 regulator-min-microvolt = <3296000>;
345 regulator-max-microvolt = <3350000>;
346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
351 compatible = "qcom,pmc8180-rpmh-regulators";
354 vdd-s4-supply = <&vph_pwr>;
355 vdd-s5-supply = <&vph_pwr>;
356 vdd-l2-l10-supply = <&vreg_bob>;
357 vdd-l3-l4-l5-l18-supply = <&vreg_s4e_0p98>;
358 vdd-l7-l12-l14-l15-supply = <&vreg_s5e_2p05>;
359 vdd-l13-l16-l17-supply = <&vreg_bob>;
361 vreg_s4e_0p98: smps4 {
362 regulator-min-microvolt = <992000>;
363 regulator-max-microvolt = <992000>;
364 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367 vreg_s5e_2p05: smps5 {
368 regulator-min-microvolt = <2040000>;
369 regulator-max-microvolt = <2040000>;
370 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
373 vreg_l1e_0p75: ldo1 {
374 regulator-min-microvolt = <752000>;
375 regulator-max-microvolt = <752000>;
376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
379 vreg_l5e_0p88: ldo5 {
380 regulator-min-microvolt = <880000>;
381 regulator-max-microvolt = <880000>;
382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
386 regulator-min-microvolt = <1800000>;
387 regulator-max-microvolt = <1800000>;
388 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391 vreg_l10e_2p9: ldo10 {
392 regulator-min-microvolt = <2904000>;
393 regulator-max-microvolt = <2904000>;
394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
398 regulator-min-microvolt = <1800000>;
399 regulator-max-microvolt = <1800000>;
400 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
403 vreg_l16e_3p0: ldo16 {
404 regulator-min-microvolt = <3072000>;
405 regulator-max-microvolt = <3072000>;
406 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
415 memory-region = <&gpu_mem>;
416 firmware-name = "/*(DEBLOBBED)*/";
421 clock-frequency = <100000>;
423 pinctrl-names = "default";
424 pinctrl-0 = <&ts_i2c_active_state>;
429 compatible = "hid-over-i2c";
431 hid-descr-addr = <0x1>;
433 vdd-supply = <&vreg_l4c_3p3>;
434 vddl-supply = <&vreg_l12e>;
436 post-power-on-delay-ms = <20>;
438 interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
440 pinctrl-names = "default";
441 pinctrl-0 = <&ts_active_state>;
446 clock-frequency = <100000>;
448 pinctrl-names = "default";
449 pinctrl-0 = <&aux_i2c_active_state>;
454 compatible = "hid-over-i2c";
456 hid-descr-addr = <0x1>;
458 interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
460 pinctrl-names = "default";
461 pinctrl-0 = <&tp_int_active_state>;
463 vdd-supply = <&vdd_kb_tp_3v3>;
467 compatible = "hid-over-i2c";
469 hid-descr-addr = <0x1>;
470 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>;
472 pinctrl-names = "default";
473 pinctrl-0 = <&kb_int_active_state>;
475 vdd-supply = <&vdd_kb_tp_3v3>;
489 remote-endpoint = <&usb_prim_qmpphy_dp_in>;
498 remote-endpoint = <&usb_sec_qmpphy_dp_in>;
502 data-lanes = <0 1 2 3>;
504 pinctrl-names = "default";
505 pinctrl-0 = <&edp_hpd_active>;
511 compatible = "edp-panel";
513 backlight = <&backlight>;
516 auo_b133han05_in: endpoint {
517 remote-endpoint = <&mdss_edp_out>;
526 mdss_edp_out: endpoint {
527 remote-endpoint = <&auo_b133han05_in>;
534 perst-gpio = <&tlmm 175 GPIO_ACTIVE_LOW>;
535 wake-gpio = <&tlmm 177 GPIO_ACTIVE_HIGH>;
536 pinctrl-names = "default";
537 pinctrl-0 = <&pcie2_default_state>;
543 vdda-phy-supply = <&vreg_l5e_0p88>;
544 vdda-pll-supply = <&vreg_l3c_1p2>;
566 memory-region = <&adsp_mem>;
567 firmware-name = "/*(DEBLOBBED)*/";
573 memory-region = <&mpss_mem>;
574 firmware-name = "/*(DEBLOBBED)*/";
580 compatible = "qcom,geni-debug-uart";
585 pinctrl-names = "default";
586 pinctrl-0 = <&uart13_state>;
591 compatible = "qcom,wcn3998-bt";
593 vddio-supply = <&vreg_s4a_1p8>;
594 vddxo-supply = <&vreg_l7a_1p8>;
595 vddrf-supply = <&vreg_l9a_1p3>;
596 vddch0-supply = <&vreg_l11c_3p3>;
597 max-speed = <3200000>;
602 reset-gpios = <&tlmm 190 GPIO_ACTIVE_LOW>;
604 vcc-supply = <&vreg_l10e_2p9>;
605 vcc-max-microamp = <155000>;
607 vccq2-supply = <&vreg_l7e_1p8>;
608 vccq2-max-microamp = <425000>;
614 vdda-phy-supply = <&vreg_l5e_0p88>;
615 vdda-pll-supply = <&vreg_l3c_1p2>;
621 vdda-pll-supply = <&vreg_l5e_0p88>;
622 vdda18-supply = <&vreg_l12a_1p8>;
623 vdda33-supply = <&vreg_l16e_3p0>;
629 vdda-phy-supply = <&vreg_l3c_1p2>;
630 vdda-pll-supply = <&vreg_l5e_0p88>;
645 &usb_prim_qmpphy_dp_in {
646 remote-endpoint = <&mdss_dp0_out>;
649 &usb_prim_qmpphy_out {
650 remote-endpoint = <&pmic_glink_con0_ss>;
653 &usb_prim_role_switch {
654 remote-endpoint = <&pmic_glink_con0_hs>;
658 vdda-pll-supply = <&vreg_l5e_0p88>;
659 vdda18-supply = <&vreg_l12a_1p8>;
660 vdda33-supply = <&vreg_l16e_3p0>;
666 vdda-phy-supply = <&vreg_l3c_1p2>;
667 vdda-pll-supply = <&vreg_l5e_0p88>;
674 &usb_sec_qmpphy_dp_in {
675 remote-endpoint = <&mdss_dp1_out>;
678 &usb_sec_qmpphy_out {
679 remote-endpoint = <&pmic_glink_con1_ss>;
682 &usb_sec_role_switch {
683 remote-endpoint = <&pmic_glink_con1_hs>;
695 memory-region = <&wlan_mem>;
697 vdd-0.8-cx-mx-supply = <&vreg_l1e_0p75>;
698 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
699 vdd-1.3-rfa-supply = <&vreg_l9a_1p3>;
700 vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;
701 vdd-3.3-ch1-supply = <&vreg_l10c_3p3>;
707 clock-frequency = <38400000>;
713 bl_pwm_default: bl-pwm-default-state {
727 gpio-reserved-ranges = <0 4>, <47 4>, <126 4>;
729 aux_i2c_active_state: aux-i2c-active-state {
730 pins = "gpio98", "gpio99";
734 drive-strength = <16>;
737 edp_hpd_active: epd-hpd-active-state {
739 function = "edp_hot";
742 hall_int_active_state: hall-int-active-state {
749 kb_int_active_state: kb-int-active-state {
765 kb_tp_3v3_en_active_state: kb-tp-3v3-en-active-state {
772 pcie2_default_state: pcie2-default-state {
783 drive-strength = <2>;
792 drive-strength = <2>;
797 usbprim_sbu_default: usbprim-sbu-state {
802 drive-strength = <16>;
810 drive-strength = <16>;
814 usbsec_sbu_default: usbsec-sbu-state {
819 drive-strength = <16>;
827 drive-strength = <16>;
831 tp_int_active_state: tp-int-active-state {
847 ts_active_state: ts-active-state {
863 ts_i2c_active_state: ts-i2c-active-state {
864 pins = "gpio114", "gpio115";
867 /* External pull up */
869 drive-strength = <2>;
872 uart13_state: uart13-state {
880 pins = "gpio44", "gpio45";
882 drive-strength = <2>;