1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include "sm8450.dtsi"
10
11/ {
12	model = "Qualcomm Technologies, Inc. SM8450 HDK";
13	compatible = "qcom,sm8450-hdk", "qcom,sm8450";
14
15	aliases {
16		serial0 = &uart7;
17	};
18
19	chosen {
20		stdout-path = "serial0:115200n8";
21	};
22
23	vph_pwr: vph-pwr-regulator {
24		compatible = "regulator-fixed";
25		regulator-name = "vph_pwr";
26		regulator-min-microvolt = <3700000>;
27		regulator-max-microvolt = <3700000>;
28
29		regulator-always-on;
30		regulator-boot-on;
31	};
32};
33
34&apps_rsc {
35	pm8350-rpmh-regulators {
36		compatible = "qcom,pm8350-rpmh-regulators";
37		qcom,pmic-id = "b";
38
39		vdd-s1-supply = <&vph_pwr>;
40		vdd-s2-supply = <&vph_pwr>;
41		vdd-s3-supply = <&vph_pwr>;
42		vdd-s4-supply = <&vph_pwr>;
43		vdd-s5-supply = <&vph_pwr>;
44		vdd-s6-supply = <&vph_pwr>;
45		vdd-s7-supply = <&vph_pwr>;
46		vdd-s8-supply = <&vph_pwr>;
47		vdd-s9-supply = <&vph_pwr>;
48		vdd-s10-supply = <&vph_pwr>;
49		vdd-s11-supply = <&vph_pwr>;
50		vdd-s12-supply = <&vph_pwr>;
51
52		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
53		vdd-l2-l7-supply = <&vreg_bob>;
54		vdd-l3-l5-supply = <&vreg_bob>;
55		vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
56		vdd-l8-supply = <&vreg_s2h_0p95>;
57
58		vreg_s10b_1p8: smps10 {
59			regulator-name = "vreg_s10b_1p8";
60			regulator-min-microvolt = <1800000>;
61			regulator-max-microvolt = <1800000>;
62		};
63
64		vreg_s11b_0p95: smps11 {
65			regulator-name = "vreg_s11b_0p95";
66			regulator-min-microvolt = <966000>;
67			regulator-max-microvolt = <1104000>;
68		};
69
70		vreg_s12b_1p25: smps12 {
71			regulator-name = "vreg_s12b_1p25";
72			regulator-min-microvolt = <1350000>;
73			regulator-max-microvolt = <1400000>;
74		};
75
76		vreg_l1b_0p91: ldo1 {
77			regulator-name = "vreg_l1b_0p91";
78			regulator-min-microvolt = <912000>;
79			regulator-max-microvolt = <920000>;
80			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
81		};
82
83		vreg_l2b_3p07: ldo2 {
84			regulator-name = "vreg_l2b_3p07";
85			regulator-min-microvolt = <3072000>;
86			regulator-max-microvolt = <3072000>;
87			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
88		};
89
90		vreg_l3b_0p9: ldo3 {
91			regulator-name = "vreg_l3b_0p9";
92			regulator-min-microvolt = <904000>;
93			regulator-max-microvolt = <904000>;
94			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
95		};
96
97		vreg_l5b_0p88: ldo5 {
98			regulator-name = "vreg_l5b_0p88";
99			regulator-min-microvolt = <880000>;
100			regulator-max-microvolt = <888000>;
101			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
102		};
103
104		vreg_l6b_1p2: ldo6 {
105			regulator-name = "vreg_l6b_1p2";
106			regulator-min-microvolt = <1200000>;
107			regulator-max-microvolt = <1200000>;
108			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
109		};
110
111		vreg_l7b_2p5: ldo7 {
112			regulator-name = "vreg_l7b_2p5";
113			regulator-min-microvolt = <2504000>;
114			regulator-max-microvolt = <2504000>;
115			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
116		};
117
118		vreg_l9b_1p2: ldo9 {
119			regulator-name = "vreg_l9b_1p2";
120			regulator-min-microvolt = <1200000>;
121			regulator-max-microvolt = <1200000>;
122			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
123		};
124	};
125
126	pm8350c-rpmh-regulators {
127		compatible = "qcom,pm8350c-rpmh-regulators";
128		qcom,pmic-id = "c";
129
130		vdd-s1-supply = <&vph_pwr>;
131		vdd-s2-supply = <&vph_pwr>;
132		vdd-s3-supply = <&vph_pwr>;
133		vdd-s4-supply = <&vph_pwr>;
134		vdd-s5-supply = <&vph_pwr>;
135		vdd-s6-supply = <&vph_pwr>;
136		vdd-s7-supply = <&vph_pwr>;
137		vdd-s8-supply = <&vph_pwr>;
138		vdd-s9-supply = <&vph_pwr>;
139		vdd-s10-supply = <&vph_pwr>;
140
141		vdd-l1-l12-supply = <&vreg_bob>;
142		vdd-l2-l8-supply = <&vreg_bob>;
143		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
144		vdd-l6-l9-l11-supply = <&vreg_bob>;
145		vdd-l10-supply = <&vreg_s12b_1p25>;
146
147		vdd-bob-supply = <&vph_pwr>;
148
149		vreg_s1c_1p86: smps1 {
150			regulator-name = "vreg_s1c_1p86";
151			regulator-min-microvolt = <1800000>;
152			regulator-max-microvolt = <2024000>;
153		};
154
155		vreg_s10c_1p05: smps10 {
156			regulator-name = "vreg_s10c_1p05";
157			regulator-min-microvolt = <1000000>;
158			regulator-max-microvolt = <1100000>;
159		};
160
161		vreg_bob: bob {
162			regulator-name = "vreg_bob";
163			regulator-min-microvolt = <3008000>;
164			regulator-max-microvolt = <3960000>;
165			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
166		};
167
168		vreg_l1c_1p8: ldo1 {
169			regulator-name = "vreg_l1c_1p8";
170			regulator-min-microvolt = <1800000>;
171			regulator-max-microvolt = <1800000>;
172			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
173		};
174
175		vreg_l3c_3p0: ldo3 {
176			regulator-name = "vreg_l3c_3p0";
177			regulator-min-microvolt = <3296000>;
178			regulator-max-microvolt = <3304000>;
179			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
180		};
181
182		vreg_l4c_1p8: ldo4 {
183			regulator-name = "vreg_l4c_1p8";
184			regulator-min-microvolt = <1704000>;
185			regulator-max-microvolt = <3000000>;
186			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
187		};
188
189		vreg_l5c_1p8: ldo5 {
190			regulator-name = "vreg_l5c_1p8";
191			regulator-min-microvolt = <1704000>;
192			regulator-max-microvolt = <3000000>;
193			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194		};
195
196		vreg_l6c_1p8: ldo6 {
197			regulator-name = "vreg_l6c_1p8";
198			regulator-min-microvolt = <1800000>;
199			regulator-max-microvolt = <3008000>;
200			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
201		};
202
203		vreg_l7c_3p0: ldo7 {
204			regulator-name = "vreg_l7c_3p0";
205			regulator-min-microvolt = <3008000>;
206			regulator-max-microvolt = <3008000>;
207			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
208		};
209
210		vreg_l8c_1p8: ldo8 {
211			regulator-name = "vreg_l8c_1p8";
212			regulator-min-microvolt = <1800000>;
213			regulator-max-microvolt = <1800000>;
214			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215		};
216
217		vreg_l9c_2p96: ldo9 {
218			regulator-name = "vreg_l9c_2p96";
219			regulator-min-microvolt = <2960000>;
220			regulator-max-microvolt = <3008000>;
221			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
222		};
223
224		vreg_l12c_1p8: ldo12 {
225			regulator-name = "vreg_l12c_1p8";
226			regulator-min-microvolt = <1800000>;
227			regulator-max-microvolt = <1968000>;
228			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
229		};
230
231		vreg_l13c_3p0: ldo13 {
232			regulator-name = "vreg_l13c_3p0";
233			regulator-min-microvolt = <3000000>;
234			regulator-max-microvolt = <3000000>;
235			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
236		};
237	};
238
239	pm8450-rpmh-regulators {
240		compatible = "qcom,pm8450-rpmh-regulators";
241		qcom,pmic-id = "h";
242
243		vdd-s1-supply = <&vph_pwr>;
244		vdd-s2-supply = <&vph_pwr>;
245		vdd-s3-supply = <&vph_pwr>;
246		vdd-s4-supply = <&vph_pwr>;
247		vdd-s5-supply = <&vph_pwr>;
248		vdd-s6-supply = <&vph_pwr>;
249
250		vdd-l2-supply = <&vreg_bob>;
251		vdd-l3-supply = <&vreg_bob>;
252		vdd-l4-supply = <&vreg_bob>;
253
254		vreg_s2h_0p95: smps2 {
255			regulator-name = "vreg_s2h_0p95";
256			regulator-min-microvolt = <848000>;
257			regulator-max-microvolt = <1104000>;
258		};
259
260		vreg_s3h_0p5: smps3 {
261			regulator-name = "vreg_s3h_0p5";
262			regulator-min-microvolt = <500000>;
263			regulator-max-microvolt = <500000>;
264		};
265
266		vreg_l2h_0p91: ldo2 {
267			regulator-name = "vreg_l2h_0p91";
268			regulator-min-microvolt = <880000>;
269			regulator-max-microvolt = <912000>;
270			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
271		};
272
273		vreg_l3h_0p91: ldo3 {
274			regulator-name = "vreg_l3h_0p91";
275			regulator-min-microvolt = <912000>;
276			regulator-max-microvolt = <912000>;
277			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
278		};
279
280	};
281
282	pmr735a-rpmh-regulators {
283		compatible = "qcom,pmr735a-rpmh-regulators";
284		qcom,pmic-id = "e";
285
286		vdd-s1-supply = <&vph_pwr>;
287		vdd-s2-supply = <&vph_pwr>;
288		vdd-s3-supply = <&vph_pwr>;
289
290		vdd-l1-l2-supply = <&vreg_s2e_0p85>;
291		vdd-l3-supply = <&vreg_s1e_1p25>;
292		vdd-l4-supply = <&vreg_s1c_1p86>;
293		vdd-l5-l6-supply = <&vreg_s1c_1p86>;
294		vdd-l7-bob-supply = <&vreg_bob>;
295
296		vreg_s1e_1p25: smps1 {
297			regulator-name = "vreg_s1e_1p25";
298			regulator-min-microvolt = <1200000>;
299			regulator-max-microvolt = <1296000>;
300		};
301
302		vreg_s2e_0p85: smps2 {
303			regulator-name = "vreg_s2e_0p85";
304			regulator-min-microvolt = <500000>;
305			regulator-max-microvolt = <1040000>;
306		};
307
308		vreg_l1e_0p8: ldo1 {
309			regulator-name = "vreg_l1e_0p8";
310			regulator-min-microvolt = <800000>;
311			regulator-max-microvolt = <800000>;
312		};
313
314		vreg_l2e_0p8: ldo2 {
315			regulator-name = "vreg_l2e_0p8";
316			regulator-min-microvolt = <800000>;
317			regulator-max-microvolt = <800000>;
318		};
319
320		vreg_l3e_1p2: ldo3 {
321			regulator-name = "vreg_l3e_1p2";
322			regulator-min-microvolt = <1200000>;
323			regulator-max-microvolt = <1200000>;
324		};
325
326		vreg_l4e_1p7: ldo4 {
327			regulator-name = "vreg_l4e_1p7";
328			regulator-min-microvolt = <1776000>;
329			regulator-max-microvolt = <1776000>;
330		};
331
332		vreg_l5e_0p88: ldo5 {
333			regulator-name = "vreg_l5e_0p88";
334			regulator-min-microvolt = <880000>;
335			regulator-max-microvolt = <880000>;
336		};
337
338		vreg_l6e_1p2: ldo6 {
339			regulator-name = "vreg_l6e_1p2";
340			regulator-min-microvolt = <1200000>;
341			regulator-max-microvolt = <1200000>;
342		};
343
344		vreg_l7e_2p8: ldo7 {
345			regulator-name = "vreg_l7e_2p8";
346			regulator-min-microvolt = <2800000>;
347			regulator-max-microvolt = <2800000>;
348		};
349	};
350};
351
352&pcie0 {
353	status = "okay";
354	max-link-speed = <2>;
355};
356
357&pcie0_phy {
358	status = "okay";
359	vdda-phy-supply = <&vreg_l5b_0p88>;
360	vdda-pll-supply = <&vreg_l6b_1p2>;
361};
362
363&pcie1 {
364	status = "okay";
365};
366
367&pcie1_phy {
368	status = "okay";
369	vdda-phy-supply = <&vreg_l2h_0p91>;
370	vdda-pll-supply = <&vreg_l6b_1p2>;
371};
372
373&remoteproc_adsp {
374	status = "okay";
375	firmware-name = "qcom/sm8450/adsp.mbn";
376};
377
378&remoteproc_cdsp {
379	status = "okay";
380	firmware-name = "qcom/sm8450/cdsp.mbn";
381};
382
383&remoteproc_mpss {
384	status = "okay";
385	firmware-name = "qcom/sm8450/modem.mbn";
386};
387
388&remoteproc_slpi {
389	status = "okay";
390	firmware-name = "qcom/sm8450/slpi.mbn";
391};
392
393&qupv3_id_0 {
394	status = "okay";
395};
396
397&tlmm {
398	gpio-reserved-ranges = <28 4>, <36 4>;
399};
400
401&uart7 {
402	status = "okay";
403};
404
405&ufs_mem_hc {
406	status = "okay";
407
408	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
409
410	vcc-supply = <&vreg_l7b_2p5>;
411	vcc-max-microamp = <1100000>;
412	vccq-supply = <&vreg_l9b_1p2>;
413	vccq-max-microamp = <1200000>;
414};
415
416&ufs_mem_phy {
417	status = "okay";
418
419	vdda-phy-supply = <&vreg_l5b_0p88>;
420	vdda-pll-supply = <&vreg_l6b_1p2>;
421	vdda-max-microamp = <173000>;
422	vdda-pll-max-microamp = <24900>;
423};
424
425&usb_1 {
426	status = "okay";
427};
428
429&usb_1_dwc3 {
430	dr_mode = "peripheral";
431};
432
433&usb_1_hsphy {
434	status = "okay";
435
436	vdda-pll-supply = <&vreg_l5b_0p88>;
437	vdda18-supply = <&vreg_l1c_1p8>;
438	vdda33-supply = <&vreg_l2b_3p07>;
439};
440
441&usb_1_qmpphy {
442	status = "okay";
443
444	vdda-phy-supply = <&vreg_l6b_1p2>;
445	vdda-pll-supply = <&vreg_l1b_0p91>;
446};
447