1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2019, Linaro Limited
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include "sm8150.dtsi"
11#include "pm8150.dtsi"
12#include "pm8150b.dtsi"
13#include "pm8150l.dtsi"
14
15/ {
16	model = "Qualcomm Technologies, Inc. SM8150 MTP";
17	compatible = "qcom,sm8150-mtp";
18
19	aliases {
20		serial0 = &uart2;
21	};
22
23	chosen {
24		stdout-path = "serial0:115200n8";
25	};
26
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>;
32	};
33
34	/*
35	 * Apparently RPMh does not provide support for PM8150 S4 because it
36	 * is always-on; model it as a fixed regulator.
37	 */
38	vreg_s4a_1p8: pm8150-s4 {
39		compatible = "regulator-fixed";
40		regulator-name = "vreg_s4a_1p8";
41
42		regulator-min-microvolt = <1800000>;
43		regulator-max-microvolt = <1800000>;
44
45		regulator-always-on;
46		regulator-boot-on;
47
48		vin-supply = <&vph_pwr>;
49	};
50};
51
52&apps_rsc {
53	pm8150-rpmh-regulators {
54		compatible = "qcom,pm8150-rpmh-regulators";
55		qcom,pmic-id = "a";
56
57		vdd-s1-supply = <&vph_pwr>;
58		vdd-s2-supply = <&vph_pwr>;
59		vdd-s3-supply = <&vph_pwr>;
60		vdd-s4-supply = <&vph_pwr>;
61		vdd-s5-supply = <&vph_pwr>;
62		vdd-s6-supply = <&vph_pwr>;
63		vdd-s7-supply = <&vph_pwr>;
64		vdd-s8-supply = <&vph_pwr>;
65		vdd-s9-supply = <&vph_pwr>;
66		vdd-s10-supply = <&vph_pwr>;
67
68		vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
69		vdd-l2-l10-supply = <&vreg_bob>;
70		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
71		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
72		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
73		vdd-l13-l16-l17-supply = <&vreg_bob>;
74
75		vreg_s5a_2p0: smps5 {
76			regulator-min-microvolt = <1904000>;
77			regulator-max-microvolt = <2000000>;
78		};
79
80		vreg_s6a_0p9: smps6 {
81			regulator-min-microvolt = <920000>;
82			regulator-max-microvolt = <1128000>;
83		};
84
85		vdda_wcss_pll:
86		vreg_l1a_0p75: ldo1 {
87			regulator-min-microvolt = <752000>;
88			regulator-max-microvolt = <752000>;
89			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
90		};
91
92		vdd_pdphy:
93		vdda_usb_hs_3p1:
94		vreg_l2a_3p1: ldo2 {
95			regulator-min-microvolt = <3072000>;
96			regulator-max-microvolt = <3072000>;
97			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
98		};
99
100		vreg_l3a_0p8: ldo3 {
101			regulator-min-microvolt = <480000>;
102			regulator-max-microvolt = <932000>;
103			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
104		};
105
106		vdd_usb_hs_core:
107		vdda_csi_0_0p9:
108		vdda_csi_1_0p9:
109		vdda_csi_2_0p9:
110		vdda_csi_3_0p9:
111		vdda_dsi_0_0p9:
112		vdda_dsi_1_0p9:
113		vdda_dsi_0_pll_0p9:
114		vdda_dsi_1_pll_0p9:
115		vdda_pcie_1ln_core:
116		vdda_pcie_2ln_core:
117		vdda_pll_hv_cc_ebi01:
118		vdda_pll_hv_cc_ebi23:
119		vdda_qrefs_0p875_5:
120		vdda_sp_sensor:
121		vdda_ufs_2ln_core_1:
122		vdda_ufs_2ln_core_2:
123		vdda_usb_ss_dp_core_1:
124		vdda_usb_ss_dp_core_2:
125		vdda_qlink_lv:
126		vdda_qlink_lv_ck:
127		vreg_l5a_0p875: ldo5 {
128			regulator-min-microvolt = <880000>;
129			regulator-max-microvolt = <880000>;
130			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
131		};
132
133		vreg_l6a_1p2: ldo6 {
134			regulator-min-microvolt = <1200000>;
135			regulator-max-microvolt = <1200000>;
136			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
137		};
138
139		vreg_l7a_1p8: ldo7 {
140			regulator-min-microvolt = <1800000>;
141			regulator-max-microvolt = <1800000>;
142			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
143		};
144
145		vddpx_10:
146		vreg_l9a_1p2: ldo9 {
147			regulator-min-microvolt = <1200000>;
148			regulator-max-microvolt = <1200000>;
149			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150		};
151
152		vreg_l10a_2p5: ldo10 {
153			regulator-min-microvolt = <2504000>;
154			regulator-max-microvolt = <2960000>;
155			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156		};
157
158		vreg_l11a_0p8: ldo11 {
159			regulator-min-microvolt = <800000>;
160			regulator-max-microvolt = <800000>;
161			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162		};
163
164		vdd_qfprom:
165		vdd_qfprom_sp:
166		vdda_apc_cs_1p8:
167		vdda_gfx_cs_1p8:
168		vdda_usb_hs_1p8:
169		vdda_qrefs_vref_1p8:
170		vddpx_10_a:
171		vreg_l12a_1p8: ldo12 {
172			regulator-min-microvolt = <1800000>;
173			regulator-max-microvolt = <1800000>;
174			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
175		};
176
177		vreg_l13a_2p7: ldo13 {
178			regulator-min-microvolt = <2704000>;
179			regulator-max-microvolt = <2704000>;
180			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
181		};
182
183		vreg_l14a_1p8: ldo14 {
184			regulator-min-microvolt = <1800000>;
185			regulator-max-microvolt = <1880000>;
186			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
187		};
188
189		vreg_l15a_1p7: ldo15 {
190			regulator-min-microvolt = <1704000>;
191			regulator-max-microvolt = <1704000>;
192			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193		};
194
195		vreg_l16a_2p7: ldo16 {
196			regulator-min-microvolt = <2704000>;
197			regulator-max-microvolt = <2960000>;
198			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
199		};
200
201		vreg_l17a_3p0: ldo17 {
202			regulator-min-microvolt = <2856000>;
203			regulator-max-microvolt = <3008000>;
204			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205		};
206	};
207
208	pm8150l-rpmh-regulators {
209		compatible = "qcom,pm8150l-rpmh-regulators";
210		qcom,pmic-id = "c";
211
212		vdd-s1-supply = <&vph_pwr>;
213		vdd-s2-supply = <&vph_pwr>;
214		vdd-s3-supply = <&vph_pwr>;
215		vdd-s4-supply = <&vph_pwr>;
216		vdd-s5-supply = <&vph_pwr>;
217		vdd-s6-supply = <&vph_pwr>;
218		vdd-s7-supply = <&vph_pwr>;
219		vdd-s8-supply = <&vph_pwr>;
220
221		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
222		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
223		vdd-l4-l5-l6-supply = <&vreg_bob>;
224		vdd-l7-l11-supply = <&vreg_bob>;
225		vdd-l9-l10-supply = <&vreg_bob>;
226
227		vdd-bob-supply = <&vph_pwr>;
228		vdd-flash-supply = <&vreg_bob>;
229		vdd-rgb-supply = <&vreg_bob>;
230
231		vreg_bob: bob {
232			regulator-min-microvolt = <3008000>;
233			regulator-max-microvolt = <4000000>;
234			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
235			regulator-allow-bypass;
236		};
237
238		vreg_s8c_1p3: smps8 {
239			regulator-min-microvolt = <1352000>;
240			regulator-max-microvolt = <1352000>;
241		};
242
243		vreg_l1c_1p8: ldo1 {
244			regulator-min-microvolt = <1800000>;
245			regulator-max-microvolt = <1800000>;
246			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
247		};
248
249		vdda_wcss_adcdac_1:
250		vdda_wcss_adcdac_22:
251		vreg_l2c_1p3: ldo2 {
252			regulator-min-microvolt = <1304000>;
253			regulator-max-microvolt = <1304000>;
254			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255		};
256
257		vdda_hv_ebi0:
258		vdda_hv_ebi1:
259		vdda_hv_ebi2:
260		vdda_hv_ebi3:
261		vdda_hv_refgen0:
262		vdda_qlink_hv_ck:
263		vreg_l3c_1p2: ldo3 {
264			regulator-min-microvolt = <1200000>;
265			regulator-max-microvolt = <1200000>;
266			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
267		};
268
269		vddpx_5:
270		vreg_l4c_1p8: ldo4 {
271			regulator-min-microvolt = <1704000>;
272			regulator-max-microvolt = <2928000>;
273			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274		};
275
276		vddpx_6:
277		vreg_l5c_1p8: ldo5 {
278			regulator-min-microvolt = <1704000>;
279			regulator-max-microvolt = <2928000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281		};
282
283		vddpx_2:
284		vreg_l6c_2p9: ldo6 {
285			regulator-min-microvolt = <1800000>;
286			regulator-max-microvolt = <2960000>;
287			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288		};
289
290		vreg_l7c_3p0: ldo7 {
291			regulator-min-microvolt = <2856000>;
292			regulator-max-microvolt = <3104000>;
293			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294		};
295
296		vreg_l8c_1p8: ldo8 {
297			regulator-min-microvolt = <1800000>;
298			regulator-max-microvolt = <1800000>;
299			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
300		};
301
302		vreg_l9c_2p9: ldo9 {
303			regulator-min-microvolt = <2704000>;
304			regulator-max-microvolt = <2960000>;
305			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
306		};
307
308		vreg_l10c_3p3: ldo10 {
309			regulator-min-microvolt = <3000000>;
310			regulator-max-microvolt = <3312000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l11c_3p3: ldo11 {
315			regulator-min-microvolt = <3000000>;
316			regulator-max-microvolt = <3312000>;
317			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318		};
319	};
320
321	pm8009-rpmh-regulators {
322		compatible = "qcom,pm8009-rpmh-regulators";
323		qcom,pmic-id = "f";
324
325		vdd-s1-supply = <&vph_pwr>;
326		vdd-s2-supply = <&vreg_bob>;
327
328		vdd-l2-supply = <&vreg_s8c_1p3>;
329		vdd-l5-l6-supply = <&vreg_bob>;
330
331		vreg_l2f_1p2: ldo2 {
332			regulator-min-microvolt = <1200000>;
333			regulator-max-microvolt = <1200000>;
334			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
335		};
336
337		vreg_l5f_2p85: ldo5 {
338			regulator-min-microvolt = <2800000>;
339			regulator-max-microvolt = <2800000>;
340			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
341		};
342
343		vreg_l6f_2p85: ldo6 {
344			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
345			regulator-min-microvolt = <2856000>;
346			regulator-max-microvolt = <2856000>;
347		};
348	};
349};
350
351&qupv3_id_1 {
352	status = "okay";
353};
354
355&pon {
356	pwrkey {
357		status = "okay";
358	};
359
360	resin {
361		compatible = "qcom,pm8941-resin";
362		interrupts = <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>;
363		debounce = <15625>;
364		bias-pull-up;
365		linux,code = <KEY_VOLUMEDOWN>;
366	};
367};
368
369&tlmm {
370	gpio-reserved-ranges = <0 4>, <126 4>;
371};
372
373&uart2 {
374	status = "okay";
375};
376