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