1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include "sm8250.dtsi"
10#include "pm8150.dtsi"
11#include "pm8150b.dtsi"
12#include "pm8150l.dtsi"
13
14/ {
15	model = "Qualcomm Technologies, Inc. SM8250 HDK";
16	compatible = "qcom,sm8250-hdk", "qcom,sm8250";
17
18	aliases {
19		serial0 = &uart12;
20	};
21
22	chosen {
23		stdout-path = "serial0:115200n8";
24	};
25
26	vph_pwr: vph-pwr-regulator {
27		compatible = "regulator-fixed";
28		regulator-name = "vph_pwr";
29		regulator-min-microvolt = <3700000>;
30		regulator-max-microvolt = <3700000>;
31	};
32
33	vreg_s4a_1p8: pm8150-s4 {
34		compatible = "regulator-fixed";
35		regulator-name = "vreg_s4a_1p8";
36
37		regulator-min-microvolt = <1800000>;
38		regulator-max-microvolt = <1800000>;
39
40		regulator-always-on;
41		regulator-boot-on;
42
43		vin-supply = <&vph_pwr>;
44	};
45
46	vreg_s6c_0p88: smpc6-regulator {
47		compatible = "regulator-fixed";
48		regulator-name = "vreg_s6c_0p88";
49
50		regulator-min-microvolt = <880000>;
51		regulator-max-microvolt = <880000>;
52		regulator-always-on;
53		vin-supply = <&vph_pwr>;
54	};
55
56	gpio-keys {
57		compatible = "gpio-keys";
58
59		key-vol-up {
60			label = "Volume Up";
61			linux,code = <KEY_VOLUMEUP>;
62			gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
63		};
64	};
65};
66
67&apps_rsc {
68	regulators-0 {
69		compatible = "qcom,pm8150-rpmh-regulators";
70		qcom,pmic-id = "a";
71
72		vdd-s1-supply = <&vph_pwr>;
73		vdd-s2-supply = <&vph_pwr>;
74		vdd-s3-supply = <&vph_pwr>;
75		vdd-s4-supply = <&vph_pwr>;
76		vdd-s5-supply = <&vph_pwr>;
77		vdd-s6-supply = <&vph_pwr>;
78		vdd-s7-supply = <&vph_pwr>;
79		vdd-s8-supply = <&vph_pwr>;
80		vdd-s9-supply = <&vph_pwr>;
81		vdd-s10-supply = <&vph_pwr>;
82		vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
83		vdd-l2-l10-supply = <&vreg_bob>;
84		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
85		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
86		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
87		vdd-l13-l16-l17-supply = <&vreg_bob>;
88
89		vreg_s5a_1p9: smps5 {
90			regulator-name = "vreg_s5a_1p9";
91			regulator-min-microvolt = <1824000>;
92			regulator-max-microvolt = <2000000>;
93			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
94		};
95
96		vreg_s6a_0p95: smps6 {
97			regulator-name = "vreg_s6a_0p95";
98			regulator-min-microvolt = <600000>;
99			regulator-max-microvolt = <1128000>;
100			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
101		};
102
103		vreg_l2a_3p1: ldo2 {
104			regulator-name = "vreg_l2a_3p1";
105			regulator-min-microvolt = <3072000>;
106			regulator-max-microvolt = <3072000>;
107			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
108		};
109
110		vreg_l3a_0p9: ldo3 {
111			regulator-name = "vreg_l3a_0p9";
112			regulator-min-microvolt = <928000>;
113			regulator-max-microvolt = <932000>;
114			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
115		};
116
117		vreg_l5a_0p88: ldo5 {
118			regulator-name = "vreg_l5a_0p88";
119			regulator-min-microvolt = <880000>;
120			regulator-max-microvolt = <880000>;
121			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
122		};
123
124		vreg_l6a_1p2: ldo6 {
125			regulator-name = "vreg_l6a_1p2";
126			regulator-min-microvolt = <1200000>;
127			regulator-max-microvolt = <1200000>;
128			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
129		};
130
131		vreg_l7a_1p7: ldo7 {
132			regulator-name = "vreg_l7a_1p7";
133			regulator-min-microvolt = <1704000>;
134			regulator-max-microvolt = <1800000>;
135			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
136		};
137
138		vreg_l9a_1p2: ldo9 {
139			regulator-name = "vreg_l9a_1p2";
140			regulator-min-microvolt = <1200000>;
141			regulator-max-microvolt = <1200000>;
142			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
143		};
144
145		vreg_l10a_1p8: ldo10 {
146			regulator-name = "vreg_l10a_1p8";
147			regulator-min-microvolt = <1800000>;
148			regulator-max-microvolt = <2960000>;
149			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150		};
151
152		vreg_l12a_1p8: ldo12 {
153			regulator-name = "vreg_l12a_1p8";
154			regulator-min-microvolt = <1800000>;
155			regulator-max-microvolt = <1800000>;
156			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
157		};
158
159		vreg_l13a_ts_3p0: ldo13 {
160			regulator-name = "vreg_l13a_ts_3p0";
161			regulator-min-microvolt = <3008000>;
162			regulator-max-microvolt = <3008000>;
163			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
164		};
165
166		vreg_l14a_1p8: ldo14 {
167			regulator-name = "vreg_l14a_1p8";
168			regulator-min-microvolt = <1800000>;
169			regulator-max-microvolt = <1880000>;
170			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
171		};
172
173		vreg_l15a_1p8: ldo15 {
174			regulator-name = "vreg_l15a_1p8";
175			regulator-min-microvolt = <1800000>;
176			regulator-max-microvolt = <1800000>;
177			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
178		};
179
180		vreg_l16a_3p3: ldo16 {
181			regulator-name = "vreg_l16a_3p3";
182			regulator-min-microvolt = <3024000>;
183			regulator-max-microvolt = <3304000>;
184			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
185		};
186
187		vreg_l17a_2p96: ldo17 {
188			regulator-name = "vreg_l17a_2p96";
189			regulator-min-microvolt = <2496000>;
190			regulator-max-microvolt = <3008000>;
191			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
192		};
193
194		vreg_l18a_0p92: ldo18 {
195			regulator-name = "vreg_l18a_0p92";
196			regulator-min-microvolt = <800000>;
197			regulator-max-microvolt = <920000>;
198			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
199		};
200	};
201
202	regulators-1 {
203		compatible = "qcom,pm8150l-rpmh-regulators";
204		qcom,pmic-id = "c";
205
206		vdd-s1-supply = <&vph_pwr>;
207		vdd-s2-supply = <&vph_pwr>;
208		vdd-s3-supply = <&vph_pwr>;
209		vdd-s4-supply = <&vph_pwr>;
210		vdd-s5-supply = <&vph_pwr>;
211		vdd-s6-supply = <&vph_pwr>;
212		vdd-s7-supply = <&vph_pwr>;
213		vdd-s8-supply = <&vph_pwr>;
214		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
215		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
216		vdd-l4-l5-l6-supply = <&vreg_bob>;
217		vdd-l7-l11-supply = <&vreg_bob>;
218		vdd-l9-l10-supply = <&vreg_bob>;
219		vdd-bob-supply = <&vph_pwr>;
220
221		vreg_bob: bob {
222			regulator-name = "vreg_bob";
223			regulator-min-microvolt = <3008000>;
224			regulator-max-microvolt = <3960000>;
225			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
226		};
227
228		vreg_s8c_1p3: smps8 {
229			regulator-name = "vreg_s8c_1p3";
230			regulator-min-microvolt = <1200000>;
231			regulator-max-microvolt = <1400000>;
232			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233		};
234
235		vreg_l1c_1p8: ldo1 {
236			regulator-name = "vreg_l1c_1p8";
237			regulator-min-microvolt = <1800000>;
238			regulator-max-microvolt = <1800000>;
239			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
240		};
241
242		vreg_l2c_1p2: ldo2 {
243			regulator-name = "vreg_l2c_1p2";
244			regulator-min-microvolt = <1200000>;
245			regulator-max-microvolt = <1304000>;
246			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
247		};
248
249		vreg_l3c_0p8: ldo3 {
250			regulator-name = "vreg_l3c_0p8";
251			regulator-min-microvolt = <800000>;
252			regulator-max-microvolt = <1200000>;
253			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254		};
255
256		vreg_l4c_1p8: ldo4 {
257			regulator-name = "vreg_l4c_1p8";
258			regulator-min-microvolt = <1800000>;
259			regulator-max-microvolt = <2800000>;
260			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261		};
262
263		vreg_l5c_1p8: ldo5 {
264			regulator-name = "vreg_l5c_1p8";
265			regulator-min-microvolt = <1800000>;
266			regulator-max-microvolt = <2800000>;
267			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268		};
269
270		vreg_l6c_2p96: ldo6 {
271			regulator-name = "vreg_l6c_2p96";
272			regulator-min-microvolt = <1800000>;
273			regulator-max-microvolt = <2960000>;
274			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275		};
276
277		vreg_l7c_cam_vcm0_2p85: ldo7 {
278			regulator-name = "vreg_l7c_cam_vcm0_2p85";
279			regulator-min-microvolt = <2856000>;
280			regulator-max-microvolt = <3104000>;
281			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282		};
283
284		vreg_l8c_1p8: ldo8 {
285			regulator-name = "vreg_l8c_1p8";
286			regulator-min-microvolt = <1800000>;
287			regulator-max-microvolt = <1800000>;
288			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
289		};
290
291		vreg_l9c_2p96: ldo9 {
292			regulator-name = "vreg_l9c_2p96";
293			regulator-min-microvolt = <2704000>;
294			regulator-max-microvolt = <2960000>;
295			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
296		};
297
298		vreg_l10c_3p0: ldo10 {
299			regulator-name = "vreg_l10c_3p0";
300			regulator-min-microvolt = <3000000>;
301			regulator-max-microvolt = <3312000>;
302			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
303		};
304
305		vreg_l11c_3p3: ldo11 {
306			regulator-name = "vreg_l11c_3p3";
307			regulator-min-microvolt = <3104000>;
308			regulator-max-microvolt = <3312000>;
309			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
310		};
311	};
312
313	regulators-2 {
314		compatible = "qcom,pm8009-rpmh-regulators";
315		qcom,pmic-id = "f";
316
317		vdd-s1-supply = <&vph_pwr>;
318		vdd-s2-supply = <&vreg_bob>;
319		vdd-l2-supply = <&vreg_s8c_1p3>;
320		vdd-l5-l6-supply = <&vreg_bob>;
321		vdd-l7-supply = <&vreg_s4a_1p8>;
322
323		vreg_l1f_cam_dvdd1_1p1: ldo1 {
324			regulator-name = "vreg_l1f_cam_dvdd1_1p1";
325			regulator-min-microvolt = <1104000>;
326			regulator-max-microvolt = <1104000>;
327			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
328		};
329
330		vreg_l2f_cam_dvdd0_1p2: ldo2 {
331			regulator-name = "vreg_l2f_cam_dvdd0_1p2";
332			regulator-min-microvolt = <1200000>;
333			regulator-max-microvolt = <1200000>;
334			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
335		};
336
337		vreg_l3f_cam_dvdd2_1p05: ldo3 {
338			regulator-name = "vreg_l3f_cam_dvdd2_1p05";
339			regulator-min-microvolt = <1056000>;
340			regulator-max-microvolt = <1056000>;
341			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
342		};
343
344		vreg_l5f_cam_avdd0_2p85: ldo5 {
345			regulator-name = "vreg_l5f_cam_avdd0_2p85";
346			regulator-min-microvolt = <2800000>;
347			regulator-max-microvolt = <3000000>;
348			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
349		};
350
351		vreg_l6f_cam_avdd1_2p8: ldo6 {
352			regulator-name = "vreg_l6f_cam_avdd1_2p8";
353			regulator-min-microvolt = <2800000>;
354			regulator-max-microvolt = <3000000>;
355			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356		};
357
358		vreg_l7f_1p8: ldo7 {
359			regulator-name = "vreg_l7f_1p8";
360			regulator-min-microvolt = <1800000>;
361			regulator-max-microvolt = <1800000>;
362			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363		};
364	};
365};
366
367&gmu {
368	status = "okay";
369};
370
371&gpu {
372	status = "okay";
373};
374
375&pon_pwrkey {
376	status = "okay";
377};
378
379&pon_resin {
380	status = "okay";
381
382	linux,code = <KEY_VOLUMEDOWN>;
383};
384
385&qupv3_id_1 {
386	status = "okay";
387};
388
389&tlmm {
390	gpio-reserved-ranges = <28 4>, <40 4>;
391};
392
393&uart12 {
394	status = "okay";
395};
396
397&ufs_mem_hc {
398	status = "okay";
399
400	vcc-supply = <&vreg_l17a_2p96>;
401	vcc-max-microamp = <800000>;
402	vccq-supply = <&vreg_l6a_1p2>;
403	vccq-max-microamp = <800000>;
404	vccq2-supply = <&vreg_s4a_1p8>;
405	vccq2-max-microamp = <800000>;
406};
407
408&ufs_mem_phy {
409	status = "okay";
410
411	vdda-phy-supply = <&vreg_l5a_0p88>;
412	vdda-pll-supply = <&vreg_l9a_1p2>;
413};
414
415&usb_1_hsphy {
416	status = "okay";
417	vdda-pll-supply = <&vreg_l5a_0p88>;
418	vdda33-supply = <&vreg_l2a_3p1>;
419	vdda18-supply = <&vreg_l12a_1p8>;
420};
421
422&usb_2_hsphy {
423	status = "okay";
424	vdda-pll-supply = <&vreg_l5a_0p88>;
425	vdda33-supply = <&vreg_l2a_3p1>;
426	vdda18-supply = <&vreg_l12a_1p8>;
427};
428
429&usb_1_qmpphy {
430	status = "okay";
431	vdda-phy-supply = <&vreg_l9a_1p2>;
432	vdda-pll-supply = <&vreg_l18a_0p92>;
433};
434
435&usb_2_qmpphy {
436	status = "okay";
437	vdda-phy-supply = <&vreg_l9a_1p2>;
438	vdda-pll-supply = <&vreg_l18a_0p92>;
439};
440
441&usb_1 {
442	status = "okay";
443};
444
445&usb_2 {
446	status = "okay";
447};
448
449&usb_1_dwc3 {
450	dr_mode = "peripheral";
451};
452
453&usb_2_dwc3 {
454	dr_mode = "host";
455};
456
457&venus {
458	status = "okay";
459};
460