1 // SPDX-License-Identifier: GPL-2.0
3 * SDM845 MTP board device tree source
5 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11 #include "sdm845.dtsi"
12 #include "pm8998.dtsi"
13 #include "pmi8998.dtsi"
16 model = "Qualcomm Technologies, Inc. SDM845 MTP";
17 compatible = "qcom,sdm845-mtp", "qcom,sdm845";
24 stdout-path = "serial0:115200n8";
27 vph_pwr: vph-pwr-regulator {
28 compatible = "regulator-fixed";
29 regulator-name = "vph_pwr";
30 regulator-min-microvolt = <3700000>;
31 regulator-max-microvolt = <3700000>;
35 * Apparently RPMh does not provide support for PM8998 S4 because it
36 * is always-on; model it as a fixed regulator.
38 vreg_s4a_1p8: pm8998-smps4 {
39 compatible = "regulator-fixed";
40 regulator-name = "vreg_s4a_1p8";
42 regulator-min-microvolt = <1800000>;
43 regulator-max-microvolt = <1800000>;
48 vin-supply = <&vph_pwr>;
52 xo_thermal: xo-thermal {
53 polling-delay-passive = <0>;
56 thermal-sensors = <&pm8998_adc_tm 1>;
60 temperature = <125000>;
67 msm_thermal: msm-thermal {
68 polling-delay-passive = <0>;
71 thermal-sensors = <&pm8998_adc_tm 2>;
75 temperature = <125000>;
82 pa_thermal: pa-thermal {
83 polling-delay-passive = <0>;
86 thermal-sensors = <&pm8998_adc_tm 3>;
90 temperature = <125000>;
97 quiet_thermal: quiet-thermal {
98 polling-delay-passive = <0>;
101 thermal-sensors = <&pm8998_adc_tm 4>;
105 temperature = <125000>;
106 hysteresis = <10000>;
116 firmware-name = "/*(DEBLOBBED)*/";
121 compatible = "qcom,pm8998-rpmh-regulators";
124 vdd-s1-supply = <&vph_pwr>;
125 vdd-s2-supply = <&vph_pwr>;
126 vdd-s3-supply = <&vph_pwr>;
127 vdd-s4-supply = <&vph_pwr>;
128 vdd-s5-supply = <&vph_pwr>;
129 vdd-s6-supply = <&vph_pwr>;
130 vdd-s7-supply = <&vph_pwr>;
131 vdd-s8-supply = <&vph_pwr>;
132 vdd-s9-supply = <&vph_pwr>;
133 vdd-s10-supply = <&vph_pwr>;
134 vdd-s11-supply = <&vph_pwr>;
135 vdd-s12-supply = <&vph_pwr>;
136 vdd-s13-supply = <&vph_pwr>;
137 vdd-l1-l27-supply = <&vreg_s7a_1p025>;
138 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
139 vdd-l3-l11-supply = <&vreg_s7a_1p025>;
140 vdd-l4-l5-supply = <&vreg_s7a_1p025>;
141 vdd-l6-supply = <&vph_pwr>;
142 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
143 vdd-l9-supply = <&vreg_bob>;
144 vdd-l10-l23-l25-supply = <&vreg_bob>;
145 vdd-l13-l19-l21-supply = <&vreg_bob>;
146 vdd-l16-l28-supply = <&vreg_bob>;
147 vdd-l18-l22-supply = <&vreg_bob>;
148 vdd-l20-l24-supply = <&vreg_bob>;
149 vdd-l26-supply = <&vreg_s3a_1p35>;
150 vin-lvs-1-2-supply = <&vreg_s4a_1p8>;
152 vreg_s2a_1p125: smps2 {
153 regulator-min-microvolt = <1100000>;
154 regulator-max-microvolt = <1100000>;
157 vreg_s3a_1p35: smps3 {
158 regulator-min-microvolt = <1352000>;
159 regulator-max-microvolt = <1352000>;
162 vreg_s5a_2p04: smps5 {
163 regulator-min-microvolt = <1904000>;
164 regulator-max-microvolt = <2040000>;
167 vreg_s7a_1p025: smps7 {
168 regulator-min-microvolt = <900000>;
169 regulator-max-microvolt = <1028000>;
190 vreg_l1a_0p875: ldo1 {
191 regulator-min-microvolt = <880000>;
192 regulator-max-microvolt = <880000>;
193 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
198 regulator-min-microvolt = <1200000>;
199 regulator-max-microvolt = <1200000>;
200 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205 regulator-min-microvolt = <1000000>;
206 regulator-max-microvolt = <1000000>;
207 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
214 regulator-min-microvolt = <800000>;
215 regulator-max-microvolt = <800000>;
216 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221 regulator-min-microvolt = <1856000>;
222 regulator-max-microvolt = <1856000>;
223 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
227 regulator-min-microvolt = <1800000>;
228 regulator-max-microvolt = <1800000>;
229 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233 regulator-min-microvolt = <1200000>;
234 regulator-max-microvolt = <1248000>;
235 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
239 regulator-min-microvolt = <1704000>;
240 regulator-max-microvolt = <2928000>;
241 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
244 vreg_l10a_1p8: ldo10 {
245 regulator-min-microvolt = <1704000>;
246 regulator-max-microvolt = <2928000>;
247 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
250 vreg_l11a_1p0: ldo11 {
251 regulator-min-microvolt = <1000000>;
252 regulator-max-microvolt = <1048000>;
253 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
263 vreg_l12a_1p8: ldo12 {
264 regulator-min-microvolt = <1800000>;
265 regulator-max-microvolt = <1800000>;
266 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
270 vreg_l13a_2p95: ldo13 {
271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <2960000>;
273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
276 vreg_l14a_1p88: ldo14 {
277 regulator-min-microvolt = <1800000>;
278 regulator-max-microvolt = <1800000>;
279 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282 vreg_l15a_1p8: ldo15 {
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
285 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288 vreg_l16a_2p7: ldo16 {
289 regulator-min-microvolt = <2704000>;
290 regulator-max-microvolt = <2704000>;
291 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294 vreg_l17a_1p3: ldo17 {
295 regulator-min-microvolt = <1304000>;
296 regulator-max-microvolt = <1304000>;
297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
300 vreg_l18a_2p7: ldo18 {
301 regulator-min-microvolt = <2704000>;
302 regulator-max-microvolt = <2960000>;
303 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
306 vreg_l19a_3p0: ldo19 {
307 regulator-min-microvolt = <2856000>;
308 regulator-max-microvolt = <3104000>;
309 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312 vreg_l20a_2p95: ldo20 {
313 regulator-min-microvolt = <2704000>;
314 regulator-max-microvolt = <2960000>;
315 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318 vreg_l21a_2p95: ldo21 {
319 regulator-min-microvolt = <2704000>;
320 regulator-max-microvolt = <2960000>;
321 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
324 vreg_l22a_2p85: ldo22 {
325 regulator-min-microvolt = <2864000>;
326 regulator-max-microvolt = <3312000>;
327 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
330 vreg_l23a_3p3: ldo23 {
331 regulator-min-microvolt = <3000000>;
332 regulator-max-microvolt = <3312000>;
333 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337 vreg_l24a_3p075: ldo24 {
338 regulator-min-microvolt = <3088000>;
339 regulator-max-microvolt = <3088000>;
340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
343 vreg_l25a_3p3: ldo25 {
344 regulator-min-microvolt = <3300000>;
345 regulator-max-microvolt = <3312000>;
346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
362 vreg_l26a_1p2: ldo26 {
363 regulator-min-microvolt = <1200000>;
364 regulator-max-microvolt = <1200000>;
365 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
368 vreg_l28a_3p0: ldo28 {
369 regulator-min-microvolt = <2856000>;
370 regulator-max-microvolt = <3008000>;
371 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
374 vreg_lvs1a_1p8: lvs1 {
375 regulator-min-microvolt = <1800000>;
376 regulator-max-microvolt = <1800000>;
379 vreg_lvs2a_1p8: lvs2 {
380 regulator-min-microvolt = <1800000>;
381 regulator-max-microvolt = <1800000>;
386 compatible = "qcom,pmi8998-rpmh-regulators";
389 vdd-bob-supply = <&vph_pwr>;
392 regulator-min-microvolt = <3312000>;
393 regulator-max-microvolt = <3600000>;
394 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
395 regulator-allow-bypass;
400 compatible = "qcom,pm8005-rpmh-regulators";
403 vdd-s1-supply = <&vph_pwr>;
404 vdd-s2-supply = <&vph_pwr>;
405 vdd-s3-supply = <&vph_pwr>;
406 vdd-s4-supply = <&vph_pwr>;
408 vreg_s3c_0p6: smps3 {
409 regulator-min-microvolt = <600000>;
410 regulator-max-microvolt = <600000>;
417 firmware-name = "/*(DEBLOBBED)*/";
422 vdda-supply = <&vdda_mipi_dsi0_1p2>;
430 remote-endpoint = <&truly_in_0>;
431 data-lanes = <0 1 2 3>;
437 compatible = "truly,nt35597-2K-display";
439 vdda-supply = <&vreg_l14a_1p88>;
441 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
442 mode-gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
445 #address-cells = <1>;
450 truly_in_0: endpoint {
451 remote-endpoint = <&dsi0_out>;
457 truly_in_1: endpoint {
458 remote-endpoint = <&dsi1_out>;
467 vdds-supply = <&vdda_mipi_dsi0_pll>;
472 vdda-supply = <&vdda_mipi_dsi1_1p2>;
476 /* DSI1 is slave, so use DSI0 clocks */
477 assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
482 remote-endpoint = <&truly_in_1>;
483 data-lanes = <0 1 2 3>;
491 vdds-supply = <&vdda_mipi_dsi1_pll>;
495 protected-clocks = <GCC_QSPI_CORE_CLK>,
496 <GCC_QSPI_CORE_CLK_SRC>,
497 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
498 <GCC_LPASS_Q6_AXI_CLK>,
499 <GCC_LPASS_SWAY_CLK>;
510 memory-region = <&gpu_mem>;
511 firmware-name = "/*(DEBLOBBED)*/";
517 clock-frequency = <400000>;
522 memory-region = <&ipa_fw_mem>;
531 firmware-name = "/*(DEBLOBBED)*/", "/*(DEBLOBBED)*/";
536 reg = <ADC5_XO_THERM_100K_PU>;
539 qcom,hw-settle-time = <200>;
543 reg = <ADC5_AMUX_THM1_100K_PU>;
546 qcom,hw-settle-time = <200>;
550 reg = <ADC5_AMUX_THM3_100K_PU>;
553 qcom,hw-settle-time = <200>;
557 reg = <ADC5_AMUX_THM5_100K_PU>;
558 label = "quiet_therm";
560 qcom,hw-settle-time = <200>;
564 reg = <ADC5_VPH_PWR>;
567 qcom,hw-settle-time = <200>;
574 qcom,hw-settle-time = <200>;
583 io-channels = <&pm8998_adc ADC5_XO_THERM_100K_PU>;
585 qcom,hw-settle-time-us = <200>;
590 io-channels = <&pm8998_adc ADC5_AMUX_THM1_100K_PU>;
592 qcom,hw-settle-time-us = <200>;
597 io-channels = <&pm8998_adc ADC5_AMUX_THM3_100K_PU>;
599 qcom,hw-settle-time-us = <200>;
604 io-channels = <&pm8998_adc ADC5_AMUX_THM5_100K_PU>;
606 qcom,hw-settle-time-us = <200>;
617 pinctrl-names = "default";
618 pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data &sd_card_det_n>;
620 vmmc-supply = <&vreg_l21a_2p95>;
621 vqmmc-supply = <&vddpx_2>;
623 cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;
633 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
635 vcc-supply = <&vreg_l20a_2p95>;
636 vcc-max-microamp = <600000>;
642 vdda-phy-supply = <&vdda_ufs1_core>;
643 vdda-pll-supply = <&vdda_ufs1_1p2>;
651 /* Until we have Type C hooked up we'll force this as peripheral. */
652 dr_mode = "peripheral";
658 vdd-supply = <&vdda_usb1_ss_core>;
659 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
660 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
662 qcom,imp-res-offset-value = <8>;
663 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
664 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
665 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
671 vdda-phy-supply = <&vdda_usb1_ss_1p2>;
672 vdda-pll-supply = <&vdda_usb1_ss_core>;
681 * Though the USB block on SDM845 can support host, there's no vbus
682 * signal for this port on MTP. Thus (unless you have a non-compliant
683 * hub that works without vbus) the only sensible thing is to force
686 dr_mode = "peripheral";
692 vdd-supply = <&vdda_usb2_ss_core>;
693 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
694 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
696 qcom,imp-res-offset-value = <8>;
697 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
703 vdda-phy-supply = <&vdda_usb2_ss_1p2>;
704 vdda-pll-supply = <&vdda_usb2_ss_core>;
713 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
714 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
715 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
716 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
718 qcom,snoc-host-cap-8bit-quirk;
721 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
725 pins = "gpio55", "gpio56";
726 drive-strength = <2>;
734 drive-strength = <2>;
740 drive-strength = <2>;
746 gpio-reserved-ranges = <0 4>, <81 4>;
754 * It seems that mmc_test reports errors if drive
755 * strength is not 16 on clk, cmd, and data pins.
757 drive-strength = <16>;
765 drive-strength = <16>;
769 sdc2_data: sdc2-data {
773 drive-strength = <16>;
777 sd_card_det_n: sd-card-det-n {