1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/sound/qcom,q6afe.h>
10 #include <dt-bindings/sound/qcom,q6asm.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include "sm8250.dtsi"
13 #include "pm8150.dtsi"
14 #include "pm8150b.dtsi"
15 #include "pm8150l.dtsi"
16 #include "pm8009.dtsi"
19 model = "Qualcomm Technologies, Inc. SM8250 MTP";
20 compatible = "qcom,sm8250-mtp", "qcom,sm8250";
21 chassis-type = "handset";
27 wcd938x: audio-codec {
28 compatible = "qcom,wcd9380-codec";
30 reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
32 vdd-buck-supply = <&vreg_s4a_1p8>;
33 vdd-rxtx-supply = <&vreg_s4a_1p8>;
34 vdd-io-supply = <&vreg_s4a_1p8>;
35 vdd-mic-bias-supply = <&vreg_bob>;
37 qcom,micbias1-microvolt = <1800000>;
38 qcom,micbias2-microvolt = <1800000>;
39 qcom,micbias3-microvolt = <1800000>;
40 qcom,micbias4-microvolt = <1800000>;
41 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
42 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
43 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
44 qcom,rx-device = <&wcd_rx>;
45 qcom,tx-device = <&wcd_tx>;
47 #sound-dai-cells = <1>;
51 stdout-path = "serial0:115200n8";
56 polling-delay-passive = <0>;
58 thermal-sensors = <&pm8150l_adc_tm 0>;
62 temperature = <125000>;
70 polling-delay-passive = <0>;
72 thermal-sensors = <&pm8150b_adc_tm 0>;
76 temperature = <125000>;
84 polling-delay-passive = <0>;
86 thermal-sensors = <&pm8150_adc_tm 2>;
90 temperature = <125000>;
98 polling-delay-passive = <0>;
100 thermal-sensors = <&pm8150l_adc_tm 2>;
104 temperature = <125000>;
112 polling-delay-passive = <0>;
114 thermal-sensors = <&pm8150l_adc_tm 1>;
118 temperature = <125000>;
126 polling-delay-passive = <0>;
128 thermal-sensors = <&pm8150_adc_tm 1>;
132 temperature = <125000>;
140 polling-delay-passive = <0>;
142 thermal-sensors = <&pm8150_adc_tm 0>;
146 temperature = <125000>;
154 vph_pwr: vph-pwr-regulator {
155 compatible = "regulator-fixed";
156 regulator-name = "vph_pwr";
157 regulator-min-microvolt = <3700000>;
158 regulator-max-microvolt = <3700000>;
161 vreg_s4a_1p8: pm8150-s4 {
162 compatible = "regulator-fixed";
163 regulator-name = "vreg_s4a_1p8";
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <1800000>;
171 vin-supply = <&vph_pwr>;
174 vreg_s6c_0p88: smpc6-regulator {
175 compatible = "regulator-fixed";
176 regulator-name = "vreg_s6c_0p88";
178 regulator-min-microvolt = <880000>;
179 regulator-max-microvolt = <880000>;
181 vin-supply = <&vph_pwr>;
187 firmware-name = "/*(DEBLOBBED)*/";
192 compatible = "qcom,pm8150-rpmh-regulators";
195 vdd-s1-supply = <&vph_pwr>;
196 vdd-s2-supply = <&vph_pwr>;
197 vdd-s3-supply = <&vph_pwr>;
198 vdd-s4-supply = <&vph_pwr>;
199 vdd-s5-supply = <&vph_pwr>;
200 vdd-s6-supply = <&vph_pwr>;
201 vdd-s7-supply = <&vph_pwr>;
202 vdd-s8-supply = <&vph_pwr>;
203 vdd-s9-supply = <&vph_pwr>;
204 vdd-s10-supply = <&vph_pwr>;
205 vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
206 vdd-l2-l10-supply = <&vreg_bob>;
207 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
208 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
209 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
210 vdd-l13-l16-l17-supply = <&vreg_bob>;
212 vreg_s5a_1p9: smps5 {
213 regulator-name = "vreg_s5a_1p9";
214 regulator-min-microvolt = <1904000>;
215 regulator-max-microvolt = <2000000>;
216 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
219 vreg_s6a_0p95: smps6 {
220 regulator-name = "vreg_s6a_0p95";
221 regulator-min-microvolt = <920000>;
222 regulator-max-microvolt = <1128000>;
223 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
227 regulator-name = "vreg_l2a_3p1";
228 regulator-min-microvolt = <3072000>;
229 regulator-max-microvolt = <3072000>;
230 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
234 regulator-name = "vreg_l3a_0p9";
235 regulator-min-microvolt = <928000>;
236 regulator-max-microvolt = <932000>;
237 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
240 vreg_l5a_0p875: ldo5 {
241 regulator-name = "vreg_l5a_0p875";
242 regulator-min-microvolt = <880000>;
243 regulator-max-microvolt = <880000>;
244 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
248 regulator-name = "vreg_l6a_1p2";
249 regulator-min-microvolt = <1200000>;
250 regulator-max-microvolt = <1200000>;
251 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255 regulator-name = "vreg_l7a_1p7";
256 regulator-min-microvolt = <1704000>;
257 regulator-max-microvolt = <1800000>;
258 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
262 regulator-name = "vreg_l9a_1p2";
263 regulator-min-microvolt = <1200000>;
264 regulator-max-microvolt = <1200000>;
265 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268 vreg_l10a_1p8: ldo10 {
269 regulator-name = "vreg_l10a_1p8";
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <1800000>;
272 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275 vreg_l12a_1p8: ldo12 {
276 regulator-name = "vreg_l12a_1p8";
277 regulator-min-microvolt = <1800000>;
278 regulator-max-microvolt = <1800000>;
279 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282 vreg_l13a_ts_3p0: ldo13 {
283 regulator-name = "vreg_l13a_ts_3p0";
284 regulator-min-microvolt = <3008000>;
285 regulator-max-microvolt = <3008000>;
286 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
289 vreg_l14a_1p8: ldo14 {
290 regulator-name = "vreg_l14a_1p8";
291 regulator-min-microvolt = <1800000>;
292 regulator-max-microvolt = <1880000>;
293 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
296 vreg_l15a_11ad_io_1p8: ldo15 {
297 regulator-name = "vreg_l15a_11ad_io_1p8";
298 regulator-min-microvolt = <1800000>;
299 regulator-max-microvolt = <1800000>;
300 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
303 vreg_l16a_2p7: ldo16 {
304 regulator-name = "vreg_l16a_2p7";
305 regulator-min-microvolt = <2704000>;
306 regulator-max-microvolt = <2960000>;
307 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
310 vreg_l17a_3p0: ldo17 {
311 regulator-name = "vreg_l17a_3p0";
312 regulator-min-microvolt = <2856000>;
313 regulator-max-microvolt = <3008000>;
314 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
317 vreg_l18a_0p9: ldo18 {
318 regulator-name = "vreg_l18a_0p9";
319 regulator-min-microvolt = <912000>;
320 regulator-max-microvolt = <912000>;
321 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326 compatible = "qcom,pm8150l-rpmh-regulators";
329 vdd-s1-supply = <&vph_pwr>;
330 vdd-s2-supply = <&vph_pwr>;
331 vdd-s3-supply = <&vph_pwr>;
332 vdd-s4-supply = <&vph_pwr>;
333 vdd-s5-supply = <&vph_pwr>;
334 vdd-s6-supply = <&vph_pwr>;
335 vdd-s7-supply = <&vph_pwr>;
336 vdd-s8-supply = <&vph_pwr>;
337 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
338 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
339 vdd-l4-l5-l6-supply = <&vreg_bob>;
340 vdd-l7-l11-supply = <&vreg_bob>;
341 vdd-l9-l10-supply = <&vreg_bob>;
342 vdd-bob-supply = <&vph_pwr>;
345 regulator-name = "vreg_bob";
346 regulator-min-microvolt = <3008000>;
347 regulator-max-microvolt = <4000000>;
348 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
351 vreg_s8c_1p3: smps8 {
352 regulator-name = "vreg_s8c_1p3";
353 regulator-min-microvolt = <1352000>;
354 regulator-max-microvolt = <1352000>;
355 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
359 regulator-name = "vreg_l1c_1p8";
360 regulator-min-microvolt = <1800000>;
361 regulator-max-microvolt = <1800000>;
362 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
366 regulator-name = "vreg_l2c_1p2";
367 regulator-min-microvolt = <1200000>;
368 regulator-max-microvolt = <1200000>;
369 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
372 vreg_l3c_0p92: ldo3 {
373 regulator-name = "vreg_l3c_0p92";
374 regulator-min-microvolt = <920000>;
375 regulator-max-microvolt = <920000>;
376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
380 regulator-name = "vreg_l4c_1p7";
381 regulator-min-microvolt = <1704000>;
382 regulator-max-microvolt = <2928000>;
383 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
387 regulator-name = "vreg_l5c_1p8";
388 regulator-min-microvolt = <1800000>;
389 regulator-max-microvolt = <2928000>;
390 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
394 regulator-name = "vreg_l6c_2p9";
395 regulator-min-microvolt = <1800000>;
396 regulator-max-microvolt = <2960000>;
397 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
400 vreg_l7c_cam_vcm0_2p85: ldo7 {
401 regulator-name = "vreg_l7c_cam_vcm0_2p85";
402 regulator-min-microvolt = <2856000>;
403 regulator-max-microvolt = <3104000>;
404 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
408 regulator-name = "vreg_l8c_1p8";
409 regulator-min-microvolt = <1800000>;
410 regulator-max-microvolt = <1800000>;
411 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
415 regulator-name = "vreg_l9c_2p9";
416 regulator-min-microvolt = <2704000>;
417 regulator-max-microvolt = <2960000>;
418 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
421 vreg_l10c_3p0: ldo10 {
422 regulator-name = "vreg_l10c_3p0";
423 regulator-min-microvolt = <3000000>;
424 regulator-max-microvolt = <3000000>;
425 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
428 vreg_l11c_3p3: ldo11 {
429 regulator-name = "vreg_l11c_3p3";
430 regulator-min-microvolt = <3000000>;
431 regulator-max-microvolt = <3312000>;
432 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437 compatible = "qcom,pm8009-rpmh-regulators";
440 vdd-s1-supply = <&vph_pwr>;
441 vdd-s2-supply = <&vreg_bob>;
442 vdd-l2-supply = <&vreg_s8c_1p3>;
443 vdd-l5-l6-supply = <&vreg_bob>;
444 vdd-l7-supply = <&vreg_s4a_1p8>;
446 vreg_l1f_cam_dvdd1_1p1: ldo1 {
447 regulator-name = "vreg_l1f_cam_dvdd1_1p1";
448 regulator-min-microvolt = <1104000>;
449 regulator-max-microvolt = <1104000>;
450 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
453 vreg_l2f_cam_dvdd0_1p2: ldo2 {
454 regulator-name = "vreg_l2f_cam_dvdd0_1p2";
455 regulator-min-microvolt = <1200000>;
456 regulator-max-microvolt = <1200000>;
457 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
460 vreg_l3f_cam_dvdd2_1p05: ldo3 {
461 regulator-name = "vreg_l3f_cam_dvdd2_1p05";
462 regulator-min-microvolt = <1056000>;
463 regulator-max-microvolt = <1056000>;
464 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
467 vreg_l5f_cam_avdd0_2p85: ldo5 {
468 regulator-name = "vreg_l5f_cam_avdd0_2p85";
469 regulator-min-microvolt = <2800000>;
470 regulator-max-microvolt = <2800000>;
471 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
474 vreg_l6f_cam_avdd1_2p85: ldo6 {
475 regulator-name = "vreg_l6f_cam_avdd1_2p85";
476 regulator-min-microvolt = <2856000>;
477 regulator-max-microvolt = <2856000>;
478 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
482 regulator-name = "vreg_l7f_1p8";
483 regulator-min-microvolt = <1800000>;
484 regulator-max-microvolt = <1800000>;
485 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
492 firmware-name = "/*(DEBLOBBED)*/";
503 memory-region = <&gpu_mem>;
504 firmware-name = "/*(DEBLOBBED)*/";
510 clock-frequency = <1000000>;
512 /* NQ NFC chip @28 */
530 reg = <ADC5_XO_THERM_100K_PU>;
532 qcom,hw-settle-time = <200>;
537 reg = <ADC5_AMUX_THM1_100K_PU>;
539 qcom,hw-settle-time = <200>;
540 label = "skin_therm";
544 reg = <ADC5_AMUX_THM2_100K_PU>;
546 qcom,hw-settle-time = <200>;
556 io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
558 qcom,hw-settle-time-us = <200>;
563 io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
565 qcom,hw-settle-time-us = <200>;
570 io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
572 qcom,hw-settle-time-us = <200>;
578 reg = <ADC5_AMUX_THM3_100K_PU>;
580 qcom,hw-settle-time = <200>;
581 label = "conn_therm";
590 io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
592 qcom,hw-settle-time-us = <200>;
599 camera-flash-therm@0 {
601 io-channels = <&pm8150l_adc ADC5_AMUX_THM1_100K_PU>;
603 qcom,hw-settle-time-us = <200>;
608 io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
610 qcom,hw-settle-time-us = <200>;
615 io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
617 qcom,hw-settle-time-us = <200>;
623 reg = <ADC5_AMUX_THM1_100K_PU>;
625 qcom,hw-settle-time = <200>;
626 label = "camera_flash_therm";
630 reg = <ADC5_AMUX_THM2_100K_PU>;
632 qcom,hw-settle-time = <200>;
633 label = "skin_msm_therm";
637 reg = <ADC5_AMUX_THM3_100K_PU>;
639 qcom,hw-settle-time = <200>;
662 firmware-name = "/*(DEBLOBBED)*/";
666 compatible = "qcom,sm8250-sndcard";
667 model = "SM8250-MTP-WCD9380-WSA8810-VA-DMIC";
669 "SpkrLeft IN", "WSA_SPK1 OUT",
670 "SpkrRight IN", "WSA_SPK2 OUT",
671 "IN1_HPHL", "HPHL_OUT",
672 "IN2_HPHR", "HPHR_OUT",
673 "AMIC1", "MIC BIAS1",
674 "AMIC2", "MIC BIAS2",
675 "AMIC3", "MIC BIAS3",
676 "AMIC4", "MIC BIAS3",
677 "AMIC5", "MIC BIAS4",
678 "TX SWR_ADC0", "ADC1_OUTPUT",
679 "TX SWR_ADC1", "ADC2_OUTPUT",
680 "TX SWR_ADC2", "ADC3_OUTPUT",
681 "TX SWR_ADC3", "ADC4_OUTPUT",
682 "TX SWR_DMIC0", "DMIC1_OUTPUT",
683 "TX SWR_DMIC1", "DMIC2_OUTPUT",
684 "TX SWR_DMIC2", "DMIC3_OUTPUT",
685 "TX SWR_DMIC3", "DMIC4_OUTPUT",
686 "TX SWR_DMIC4", "DMIC5_OUTPUT",
687 "TX SWR_DMIC5", "DMIC6_OUTPUT",
688 "TX SWR_DMIC6", "DMIC7_OUTPUT",
689 "TX SWR_DMIC7", "DMIC8_OUTPUT";
692 link-name = "MultiMedia1";
694 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
699 link-name = "MultiMedia2";
701 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
706 link-name = "MultiMedia3";
708 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
712 wcd-playback-dai-link {
713 link-name = "WCD Playback";
715 sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
718 sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
721 sound-dai = <&q6routing>;
725 wcd-capture-dai-link {
726 link-name = "WCD Capture";
728 sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
732 sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
735 sound-dai = <&q6routing>;
740 link-name = "WSA Playback";
742 sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
746 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
749 sound-dai = <&q6routing>;
754 link-name = "VA Capture";
756 sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
760 sound-dai = <&q6routing>;
764 sound-dai = <&vamacro 0>;
772 left_spkr: speaker@0,3 {
773 compatible = "sdw10217211000";
775 powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
776 #thermal-sensor-cells = <0>;
777 sound-name-prefix = "SpkrLeft";
778 #sound-dai-cells = <0>;
781 right_spkr: speaker@0,4 {
782 compatible = "sdw10217211000";
784 powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_LOW>;
785 #thermal-sensor-cells = <0>;
786 sound-name-prefix = "SpkrRight";
787 #sound-dai-cells = <0>;
794 wcd_rx: wcd9380-rx@0,4 {
795 compatible = "sdw20217010d00";
797 qcom,rx-port-mapping = <1 2 3 4 5>;
804 wcd_tx: wcd9380-tx@0,3 {
805 compatible = "sdw20217010d00";
807 qcom,tx-port-mapping = <2 3 4 5>;
812 gpio-reserved-ranges = <28 4>, <40 4>;
814 wcd938x_reset_default: wcd938x-reset-default-state {
817 drive-strength = <16>;
821 wcd938x_reset_sleep: wcd938x-reset-sleep-state {
824 drive-strength = <16>;
841 vcc-supply = <&vreg_l17a_3p0>;
842 vcc-max-microamp = <750000>;
843 vccq-supply = <&vreg_l6a_1p2>;
844 vccq-max-microamp = <700000>;
845 vccq2-supply = <&vreg_s4a_1p8>;
846 vccq2-max-microamp = <750000>;
852 vdda-phy-supply = <&vreg_l5a_0p875>;
853 vdda-pll-supply = <&vreg_l9a_1p2>;
867 vdda-pll-supply = <&vreg_l5a_0p875>;
868 vdda18-supply = <&vreg_l12a_1p8>;
869 vdda33-supply = <&vreg_l2a_3p1>;
875 vdda-phy-supply = <&vreg_l9a_1p2>;
876 vdda-pll-supply = <&vreg_l18a_0p9>;
890 vdda-pll-supply = <&vreg_l5a_0p875>;
891 vdda18-supply = <&vreg_l12a_1p8>;
892 vdda33-supply = <&vreg_l2a_3p1>;
898 vdda-phy-supply = <&vreg_l9a_1p2>;
899 vdda-pll-supply = <&vreg_l18a_0p9>;