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
288	regulators-3 {
289		compatible = "qcom,pmr735a-rpmh-regulators";
290		qcom,pmic-id = "e";
291
292		vdd-s1-supply = <&vph_pwr>;
293		vdd-s2-supply = <&vph_pwr>;
294		vdd-s3-supply = <&vph_pwr>;
295
296		vdd-l1-l2-supply = <&vreg_s2e_0p85>;
297		vdd-l3-supply = <&vreg_s1e_1p25>;
298		vdd-l4-supply = <&vreg_s1c_1p86>;
299		vdd-l5-l6-supply = <&vreg_s1c_1p86>;
300		vdd-l7-bob-supply = <&vreg_bob>;
301
302		vreg_s1e_1p25: smps1 {
303			regulator-name = "vreg_s1e_1p25";
304			regulator-min-microvolt = <1200000>;
305			regulator-max-microvolt = <1296000>;
306		};
307
308		vreg_s2e_0p85: smps2 {
309			regulator-name = "vreg_s2e_0p85";
310			regulator-min-microvolt = <500000>;
311			regulator-max-microvolt = <1040000>;
312		};
313
314		vreg_l1e_0p8: ldo1 {
315			regulator-name = "vreg_l1e_0p8";
316			regulator-min-microvolt = <800000>;
317			regulator-max-microvolt = <800000>;
318		};
319
320		vreg_l2e_0p8: ldo2 {
321			regulator-name = "vreg_l2e_0p8";
322			regulator-min-microvolt = <800000>;
323			regulator-max-microvolt = <800000>;
324		};
325
326		vreg_l3e_1p2: ldo3 {
327			regulator-name = "vreg_l3e_1p2";
328			regulator-min-microvolt = <1200000>;
329			regulator-max-microvolt = <1200000>;
330		};
331
332		vreg_l4e_1p7: ldo4 {
333			regulator-name = "vreg_l4e_1p7";
334			regulator-min-microvolt = <1776000>;
335			regulator-max-microvolt = <1776000>;
336		};
337
338		vreg_l5e_0p88: ldo5 {
339			regulator-name = "vreg_l5e_0p88";
340			regulator-min-microvolt = <880000>;
341			regulator-max-microvolt = <880000>;
342		};
343
344		vreg_l6e_1p2: ldo6 {
345			regulator-name = "vreg_l6e_1p2";
346			regulator-min-microvolt = <1200000>;
347			regulator-max-microvolt = <1200000>;
348		};
349	};
350};
351
352&pcie0 {
353	status = "okay";
354};
355
356&pcie0_phy {
357	status = "okay";
358	vdda-phy-supply = <&vreg_l5b_0p88>;
359	vdda-pll-supply = <&vreg_l6b_1p2>;
360};
361
362&gpi_dma0 {
363	status = "okay";
364};
365
366&i2c5 {
367	status = "okay";
368};
369
370&qupv3_id_0 {
371	status = "okay";
372};
373
374&qupv3_id_2 {
375	status = "okay";
376};
377
378&remoteproc_adsp {
379	status = "okay";
380	firmware-name = "qcom/sm8450/adsp.mbn";
381};
382
383&remoteproc_cdsp {
384	status = "okay";
385	firmware-name = "qcom/sm8450/cdsp.mbn";
386};
387
388&remoteproc_mpss {
389	status = "okay";
390	firmware-name = "qcom/sm8450/modem.mbn";
391};
392
393&remoteproc_slpi {
394	status = "okay";
395	firmware-name = "qcom/sm8450/slpi.mbn";
396};
397
398&sdhc_2 {
399	cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
400	pinctrl-names = "default", "sleep";
401	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
402	pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
403	vmmc-supply = <&vreg_l9c_2p96>;
404	vqmmc-supply = <&vreg_l6c_1p8>;
405	no-sdio;
406	no-mmc;
407	status = "okay";
408};
409
410&spi4 {
411	status = "okay";
412};
413
414&spi18 {
415	status = "okay";
416};
417
418&spi19 {
419	status = "okay";
420};
421
422&tlmm {
423	gpio-reserved-ranges = <28 4>, <36 4>;
424
425	sdc2_card_det_n: sd-card-det-n-state {
426		pins = "gpio92";
427		function = "gpio";
428		drive-strength = <2>;
429		bias-pull-up;
430	};
431};
432
433&uart7 {
434	status = "okay";
435};
436
437&ufs_mem_hc {
438	status = "okay";
439
440	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
441
442	vcc-supply = <&vreg_l7b_2p5>;
443	vcc-max-microamp = <1100000>;
444	vccq-supply = <&vreg_l9b_1p2>;
445	vccq-max-microamp = <1200000>;
446};
447
448&ufs_mem_phy {
449	status = "okay";
450
451	vdda-phy-supply = <&vreg_l5b_0p88>;
452	vdda-pll-supply = <&vreg_l6b_1p2>;
453};
454
455&usb_1 {
456	status = "okay";
457};
458
459&usb_1_dwc3 {
460	dr_mode = "peripheral";
461};
462
463&usb_1_hsphy {
464	status = "okay";
465
466	vdda-pll-supply = <&vreg_l5b_0p88>;
467	vdda18-supply = <&vreg_l1c_1p8>;
468	vdda33-supply = <&vreg_l2b_3p07>;
469};
470
471&usb_1_qmpphy {
472	status = "okay";
473
474	vdda-phy-supply = <&vreg_l6b_1p2>;
475	vdda-pll-supply = <&vreg_l1b_0p91>;
476};
477