1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2022, Linaro Limited
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10 #include "pm8010.dtsi"
11 #include "pm8550.dtsi"
12 #include "pm8550b.dtsi"
13 #include "pm8550ve.dtsi"
14 #include "pm8550vs.dtsi"
15 #include "pmk8550.dtsi"
16 #include "pmr735d_a.dtsi"
17 #include "pmr735d_b.dtsi"
20 model = "Qualcomm Technologies, Inc. SM8550 MTP";
21 compatible = "qcom,sm8550-mtp", "qcom,sm8550";
22 chassis-type = "handset";
28 wcd938x: audio-codec {
29 compatible = "qcom,wcd9385-codec";
31 pinctrl-names = "default";
32 pinctrl-0 = <&wcd_default>;
34 qcom,micbias1-microvolt = <1800000>;
35 qcom,micbias2-microvolt = <1800000>;
36 qcom,micbias3-microvolt = <1800000>;
37 qcom,micbias4-microvolt = <1800000>;
38 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
39 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
40 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
41 qcom,rx-device = <&wcd_rx>;
42 qcom,tx-device = <&wcd_tx>;
44 reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
46 vdd-buck-supply = <&vreg_l15b_1p8>;
47 vdd-rxtx-supply = <&vreg_l15b_1p8>;
48 vdd-io-supply = <&vreg_l15b_1p8>;
49 vdd-mic-bias-supply = <&vreg_bob1>;
51 #sound-dai-cells = <1>;
55 stdout-path = "serial0:115200n8";
59 compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
62 orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
65 compatible = "usb-c-connector";
77 pmic_glink_hs_in: endpoint {
78 remote-endpoint = <&usb_1_dwc3_hs>;
85 pmic_glink_ss_in: endpoint {
86 remote-endpoint = <&usb_dp_qmpphy_out>;
93 pmic_glink_sbu: endpoint {
94 remote-endpoint = <&fsa4480_sbu_mux>;
102 compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard";
103 model = "SM8550-MTP";
104 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
105 "SpkrRight IN", "WSA_SPK2 OUT",
106 "IN1_HPHL", "HPHL_OUT",
107 "IN2_HPHR", "HPHR_OUT",
108 "AMIC2", "MIC BIAS2",
109 "VA DMIC0", "MIC BIAS1",
110 "VA DMIC1", "MIC BIAS1",
111 "VA DMIC2", "MIC BIAS3",
112 "TX DMIC0", "MIC BIAS1",
113 "TX DMIC1", "MIC BIAS2",
114 "TX DMIC2", "MIC BIAS3",
115 "TX SWR_ADC1", "ADC2_OUTPUT";
117 wcd-playback-dai-link {
118 link-name = "WCD Playback";
121 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
125 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
129 sound-dai = <&q6apm>;
133 wcd-capture-dai-link {
134 link-name = "WCD Capture";
137 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
141 sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
145 sound-dai = <&q6apm>;
150 link-name = "WSA Playback";
153 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
157 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
161 sound-dai = <&q6apm>;
166 link-name = "VA Capture";
169 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
173 sound-dai = <&lpass_vamacro 0>;
177 sound-dai = <&q6apm>;
182 vph_pwr: vph-pwr-regulator {
183 compatible = "regulator-fixed";
184 regulator-name = "vph_pwr";
185 regulator-min-microvolt = <3700000>;
186 regulator-max-microvolt = <3700000>;
195 compatible = "qcom,pm8550-rpmh-regulators";
198 vdd-bob1-supply = <&vph_pwr>;
199 vdd-bob2-supply = <&vph_pwr>;
200 vdd-l1-l4-l10-supply = <&vreg_s6g_1p8>;
201 vdd-l2-l13-l14-supply = <&vreg_bob1>;
202 vdd-l3-supply = <&vreg_s4g_1p3>;
203 vdd-l5-l16-supply = <&vreg_bob1>;
204 vdd-l6-l7-supply = <&vreg_bob1>;
205 vdd-l8-l9-supply = <&vreg_bob1>;
206 vdd-l11-supply = <&vreg_s4g_1p3>;
207 vdd-l12-supply = <&vreg_s6g_1p8>;
208 vdd-l15-supply = <&vreg_s6g_1p8>;
209 vdd-l17-supply = <&vreg_bob2>;
212 regulator-name = "vreg_bob1";
213 regulator-min-microvolt = <3296000>;
214 regulator-max-microvolt = <3960000>;
215 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
219 regulator-name = "vreg_bob2";
220 regulator-min-microvolt = <2720000>;
221 regulator-max-microvolt = <3960000>;
222 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
226 regulator-name = "vreg_l1b_1p8";
227 regulator-min-microvolt = <1800000>;
228 regulator-max-microvolt = <1800000>;
229 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233 regulator-name = "vreg_l2b_3p0";
234 regulator-min-microvolt = <3008000>;
235 regulator-max-microvolt = <3008000>;
236 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
240 regulator-name = "vreg_l5b_3p1";
241 regulator-min-microvolt = <3104000>;
242 regulator-max-microvolt = <3104000>;
243 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
247 regulator-name = "vreg_l6b_1p8";
248 regulator-min-microvolt = <1800000>;
249 regulator-max-microvolt = <3008000>;
250 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254 regulator-name = "vreg_l7b_1p8";
255 regulator-min-microvolt = <1800000>;
256 regulator-max-microvolt = <3008000>;
257 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261 regulator-name = "vreg_l8b_1p8";
262 regulator-min-microvolt = <1800000>;
263 regulator-max-microvolt = <3008000>;
264 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268 regulator-name = "vreg_l9b_2p9";
269 regulator-min-microvolt = <2960000>;
270 regulator-max-microvolt = <3008000>;
271 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274 vreg_l11b_1p2: ldo11 {
275 regulator-name = "vreg_l11b_1p2";
276 regulator-min-microvolt = <1200000>;
277 regulator-max-microvolt = <1504000>;
278 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281 vreg_l12b_1p8: ldo12 {
282 regulator-name = "vreg_l12b_1p8";
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
285 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288 vreg_l13b_3p0: ldo13 {
289 regulator-name = "vreg_l13b_3p0";
290 regulator-min-microvolt = <3000000>;
291 regulator-max-microvolt = <3000000>;
292 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
295 vreg_l14b_3p2: ldo14 {
296 regulator-name = "vreg_l14b_3p2";
297 regulator-min-microvolt = <3200000>;
298 regulator-max-microvolt = <3200000>;
299 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
302 vreg_l15b_1p8: ldo15 {
303 regulator-name = "vreg_l15b_1p8";
304 regulator-min-microvolt = <1800000>;
305 regulator-max-microvolt = <1800000>;
306 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
309 vreg_l16b_2p8: ldo16 {
310 regulator-name = "vreg_l16b_2p8";
311 regulator-min-microvolt = <2800000>;
312 regulator-max-microvolt = <2800000>;
313 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
316 vreg_l17b_2p5: ldo17 {
317 regulator-name = "vreg_l17b_2p5";
318 regulator-min-microvolt = <2504000>;
319 regulator-max-microvolt = <2504000>;
320 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325 compatible = "qcom,pm8550vs-rpmh-regulators";
328 vdd-l3-supply = <&vreg_s4e_0p9>;
330 vreg_l3c_0p91: ldo3 {
331 regulator-name = "vreg_l3c_0p9";
332 regulator-min-microvolt = <880000>;
333 regulator-max-microvolt = <912000>;
334 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
339 compatible = "qcom,pm8550vs-rpmh-regulators";
342 vdd-l1-supply = <&vreg_s4e_0p9>;
344 vreg_l1d_0p88: ldo1 {
345 regulator-name = "vreg_l1d_0p88";
346 regulator-min-microvolt = <880000>;
347 regulator-max-microvolt = <920000>;
348 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
353 compatible = "qcom,pm8550vs-rpmh-regulators";
356 vdd-l1-supply = <&vreg_s4e_0p9>;
357 vdd-l2-supply = <&vreg_s4e_0p9>;
358 vdd-l3-supply = <&vreg_s4g_1p3>;
359 vdd-s4-supply = <&vph_pwr>;
360 vdd-s5-supply = <&vph_pwr>;
362 vreg_s4e_0p9: smps4 {
363 regulator-name = "vreg_s4e_0p9";
364 regulator-min-microvolt = <904000>;
365 regulator-max-microvolt = <984000>;
366 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369 vreg_s5e_1p1: smps5 {
370 regulator-name = "vreg_s5e_1p1";
371 regulator-min-microvolt = <1080000>;
372 regulator-max-microvolt = <1120000>;
373 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376 vreg_l1e_0p88: ldo1 {
377 regulator-name = "vreg_l1e_0p88";
378 regulator-min-microvolt = <880000>;
379 regulator-max-microvolt = <880000>;
380 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384 regulator-name = "vreg_l2e_0p9";
385 regulator-min-microvolt = <904000>;
386 regulator-max-microvolt = <970000>;
387 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391 regulator-name = "vreg_l3e_1p2";
392 regulator-min-microvolt = <1200000>;
393 regulator-max-microvolt = <1200000>;
394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
399 compatible = "qcom,pm8550ve-rpmh-regulators";
402 vdd-l1-supply = <&vreg_s4e_0p9>;
403 vdd-l2-supply = <&vreg_s4e_0p9>;
404 vdd-l3-supply = <&vreg_s4e_0p9>;
405 vdd-s4-supply = <&vph_pwr>;
407 vreg_s4f_0p5: smps4 {
408 regulator-name = "vreg_s4f_0p5";
409 regulator-min-microvolt = <500000>;
410 regulator-max-microvolt = <700000>;
411 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
415 regulator-name = "vreg_l1f_0p9";
416 regulator-min-microvolt = <912000>;
417 regulator-max-microvolt = <912000>;
418 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
421 vreg_l2f_0p88: ldo2 {
422 regulator-name = "vreg_l2f_0p88";
423 regulator-min-microvolt = <880000>;
424 regulator-max-microvolt = <912000>;
425 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
428 vreg_l3f_0p91: ldo3 {
429 regulator-name = "vreg_l3f_0p91";
430 regulator-min-microvolt = <880000>;
431 regulator-max-microvolt = <912000>;
432 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437 compatible = "qcom,pm8550vs-rpmh-regulators";
440 vdd-l1-supply = <&vreg_s4g_1p3>;
441 vdd-l2-supply = <&vreg_s4g_1p3>;
442 vdd-l3-supply = <&vreg_s4g_1p3>;
443 vdd-s1-supply = <&vph_pwr>;
444 vdd-s2-supply = <&vph_pwr>;
445 vdd-s3-supply = <&vph_pwr>;
446 vdd-s4-supply = <&vph_pwr>;
447 vdd-s5-supply = <&vph_pwr>;
448 vdd-s6-supply = <&vph_pwr>;
450 vreg_s1g_1p2: smps1 {
451 regulator-name = "vreg_s1g_1p2";
452 regulator-min-microvolt = <1200000>;
453 regulator-max-microvolt = <1300000>;
454 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
457 vreg_s2g_0p8: smps2 {
458 regulator-name = "vreg_s2g_0p8";
459 regulator-min-microvolt = <800000>;
460 regulator-max-microvolt = <1000000>;
461 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
464 vreg_s3g_0p7: smps3 {
465 regulator-name = "vreg_s3g_0p7";
466 regulator-min-microvolt = <300000>;
467 regulator-max-microvolt = <1004000>;
468 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
471 vreg_s4g_1p3: smps4 {
472 regulator-name = "vreg_s4g_1p3";
473 regulator-min-microvolt = <1200000>;
474 regulator-max-microvolt = <1352000>;
475 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
478 vreg_s5g_0p8: smps5 {
479 regulator-name = "vreg_s5g_0p8";
480 regulator-min-microvolt = <500000>;
481 regulator-max-microvolt = <1004000>;
482 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
485 vreg_s6g_1p8: smps6 {
486 regulator-name = "vreg_s6g_1p8";
487 regulator-min-microvolt = <1800000>;
488 regulator-max-microvolt = <2000000>;
489 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
493 regulator-name = "vreg_l1g_1p2";
494 regulator-min-microvolt = <1200000>;
495 regulator-max-microvolt = <1200000>;
496 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
500 regulator-name = "vreg_l2g_1p2";
501 regulator-min-microvolt = <1200000>;
502 regulator-max-microvolt = <1200000>;
503 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
507 regulator-name = "vreg_l3g_1p2";
508 regulator-min-microvolt = <1200000>;
509 regulator-max-microvolt = <1200000>;
510 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
523 compatible = "fcs,fsa4480";
526 vcc-supply = <&vreg_bob1>;
532 fsa4480_sbu_mux: endpoint {
533 remote-endpoint = <&pmic_glink_sbu>;
540 spkr_1_sd_n_active: spkr-1-sd-n-active-state {
543 drive-strength = <16>;
548 spkr_2_sd_n_active: spkr-2-sd-n-active-state {
551 drive-strength = <16>;
562 vdda-supply = <&vreg_l3e_1p2>;
566 compatible = "visionox,vtdr6130";
569 pinctrl-names = "default", "sleep";
570 pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
571 pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
573 vddio-supply = <&vreg_l12b_1p8>;
574 vci-supply = <&vreg_l13b_3p0>;
575 vdd-supply = <&vreg_l11b_1p2>;
577 reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
580 panel0_in: endpoint {
581 remote-endpoint = <&mdss_dsi0_out>;
588 remote-endpoint = <&panel0_in>;
589 data-lanes = <0 1 2 3>;
593 vdds-supply = <&vreg_l1e_0p88>;
603 remote-endpoint = <&usb_dp_qmpphy_dp_in>;
606 &pcie_1_phy_aux_clk {
607 clock-frequency = <1000>;
611 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
612 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
614 pinctrl-names = "default";
615 pinctrl-0 = <&pcie0_default_state>;
621 vdda-phy-supply = <&vreg_l1e_0p88>;
622 vdda-pll-supply = <&vreg_l3e_1p2>;
628 wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>;
629 perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
631 pinctrl-names = "default";
632 pinctrl-0 = <&pcie1_default_state>;
638 vdda-phy-supply = <&vreg_l3c_0p91>;
639 vdda-pll-supply = <&vreg_l3e_1p2>;
640 vdda-qref-supply = <&vreg_l1e_0p88>;
646 sdc2_card_det_n: sdc2-card-det-state {
652 power-source = <1>; /* 1.8 V */
656 &pm8550b_eusb2_repeater {
657 vdd18-supply = <&vreg_l15b_1p8>;
658 vdd3-supply = <&vreg_l5b_3p1>;
666 firmware-name = "/*(DEBLOBBED)*/",
672 firmware-name = "/*(DEBLOBBED)*/",
678 firmware-name = "/*(DEBLOBBED)*/",
684 cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>;
685 pinctrl-names = "default", "sleep";
686 pinctrl-0 = <&sdc2_default &sdc2_card_det_n>;
687 pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>;
688 vmmc-supply = <&vreg_l9b_2p9>;
689 vqmmc-supply = <&vreg_l8b_1p8>;
697 clock-frequency = <32000>;
704 left_spkr: speaker@0,0 {
705 compatible = "sdw20217020400";
707 pinctrl-names = "default";
708 pinctrl-0 = <&spkr_1_sd_n_active>;
709 powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
710 #sound-dai-cells = <0>;
711 sound-name-prefix = "SpkrLeft";
712 vdd-1p8-supply = <&vreg_l15b_1p8>;
713 vdd-io-supply = <&vreg_l3g_1p2>;
717 right_spkr: speaker@0,1 {
718 compatible = "sdw20217020400";
720 pinctrl-names = "default";
721 pinctrl-0 = <&spkr_2_sd_n_active>;
722 powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
723 #sound-dai-cells = <0>;
724 sound-name-prefix = "SpkrRight";
725 vdd-1p8-supply = <&vreg_l15b_1p8>;
726 vdd-io-supply = <&vreg_l3g_1p2>;
735 compatible = "sdw20217010d00";
737 qcom,rx-port-mapping = <1 2 3 4 5>;
746 compatible = "sdw20217010d00";
748 qcom,tx-port-mapping = <1 1 2 3>;
753 gpio-reserved-ranges = <32 8>;
755 sde_dsi_active: sde-dsi-active-state {
758 drive-strength = <8>;
762 sde_dsi_suspend: sde-dsi-suspend-state {
765 drive-strength = <2>;
769 sde_te_active: sde-te-active-state {
771 function = "mdp_vsync";
772 drive-strength = <2>;
776 sde_te_suspend: sde-te-suspend-state {
778 function = "mdp_vsync";
779 drive-strength = <2>;
783 wcd_default: wcd-reset-n-active-state {
786 drive-strength = <16>;
797 reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
798 vcc-supply = <&vreg_l17b_2p5>;
799 vcc-max-microamp = <1300000>;
800 vccq-supply = <&vreg_l1g_1p2>;
801 vccq-max-microamp = <1200000>;
802 vdd-hba-supply = <&vreg_l3g_1p2>;
808 vdda-phy-supply = <&vreg_l1d_0p88>;
809 vdda-pll-supply = <&vreg_l3e_1p2>;
824 remote-endpoint = <&pmic_glink_hs_in>;
828 remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>;
832 vdd-supply = <&vreg_l1e_0p88>;
833 vdda12-supply = <&vreg_l3e_1p2>;
835 phys = <&pm8550b_eusb2_repeater>;
841 vdda-phy-supply = <&vreg_l3e_1p2>;
842 vdda-pll-supply = <&vreg_l3f_0p91>;
849 &usb_dp_qmpphy_dp_in {
850 remote-endpoint = <&mdss_dp0_out>;
854 remote-endpoint = <&pmic_glink_ss_in>;
857 &usb_dp_qmpphy_usb_ss_in {
858 remote-endpoint = <&usb_1_dwc3_ss>;
862 clock-frequency = <76800000>;