xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sm8450-qrd.dts (revision a0ca4af9455b844c5e094fc1b09b1390ffa979fc)
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	chassis-type = "handset";
22
23	aliases {
24		serial0 = &uart7;
25	};
26
27	chosen {
28		stdout-path = "serial0:115200n8";
29	};
30
31	vph_pwr: vph-pwr-regulator {
32		compatible = "regulator-fixed";
33		regulator-name = "vph_pwr";
34		regulator-min-microvolt = <3700000>;
35		regulator-max-microvolt = <3700000>;
36
37		regulator-always-on;
38		regulator-boot-on;
39	};
40};
41
42&apps_rsc {
43	regulators-0 {
44		compatible = "qcom,pm8350-rpmh-regulators";
45		qcom,pmic-id = "b";
46
47		vdd-s1-supply = <&vph_pwr>;
48		vdd-s2-supply = <&vph_pwr>;
49		vdd-s3-supply = <&vph_pwr>;
50		vdd-s4-supply = <&vph_pwr>;
51		vdd-s5-supply = <&vph_pwr>;
52		vdd-s6-supply = <&vph_pwr>;
53		vdd-s7-supply = <&vph_pwr>;
54		vdd-s8-supply = <&vph_pwr>;
55		vdd-s9-supply = <&vph_pwr>;
56		vdd-s10-supply = <&vph_pwr>;
57		vdd-s11-supply = <&vph_pwr>;
58		vdd-s12-supply = <&vph_pwr>;
59
60		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
61		vdd-l2-l7-supply = <&vreg_bob>;
62		vdd-l3-l5-supply = <&vreg_bob>;
63		vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
64		vdd-l8-supply = <&vreg_s2h_0p95>;
65
66		vreg_s10b_1p8: smps10 {
67			regulator-name = "vreg_s10b_1p8";
68			regulator-min-microvolt = <1800000>;
69			regulator-max-microvolt = <1800000>;
70		};
71
72		vreg_s11b_0p95: smps11 {
73			regulator-name = "vreg_s11b_0p95";
74			regulator-min-microvolt = <848000>;
75			regulator-max-microvolt = <1104000>;
76		};
77
78		vreg_s12b_1p25: smps12 {
79			regulator-name = "vreg_s12b_1p25";
80			regulator-min-microvolt = <1224000>;
81			regulator-max-microvolt = <1400000>;
82		};
83
84		vreg_l1b_0p91: ldo1 {
85			regulator-name = "vreg_l1b_0p91";
86			regulator-min-microvolt = <912000>;
87			regulator-max-microvolt = <920000>;
88			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
89		};
90
91		vreg_l2b_3p07: ldo2 {
92			regulator-name = "vreg_l2b_3p07";
93			regulator-min-microvolt = <3072000>;
94			regulator-max-microvolt = <3072000>;
95			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96		};
97
98		vreg_l3b_0p9: ldo3 {
99			regulator-name = "vreg_l3b_0p9";
100			regulator-min-microvolt = <904000>;
101			regulator-max-microvolt = <904000>;
102			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
103		};
104
105		vreg_l5b_0p88: ldo5 {
106			regulator-name = "vreg_l5b_0p88";
107			regulator-min-microvolt = <880000>;
108			regulator-max-microvolt = <888000>;
109			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
110		};
111
112		vreg_l6b_1p2: ldo6 {
113			regulator-name = "vreg_l6b_1p2";
114			regulator-min-microvolt = <1200000>;
115			regulator-max-microvolt = <1200000>;
116			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
117		};
118
119		vreg_l7b_2p5: ldo7 {
120			regulator-name = "vreg_l7b_2p5";
121			regulator-min-microvolt = <2504000>;
122			regulator-max-microvolt = <2504000>;
123			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
124		};
125
126		vreg_l9b_1p2: ldo9 {
127			regulator-name = "vreg_l9b_1p2";
128			regulator-min-microvolt = <1200000>;
129			regulator-max-microvolt = <1200000>;
130			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
131		};
132	};
133
134	regulators-1 {
135		compatible = "qcom,pm8350c-rpmh-regulators";
136		qcom,pmic-id = "c";
137
138		vdd-s1-supply = <&vph_pwr>;
139		vdd-s2-supply = <&vph_pwr>;
140		vdd-s3-supply = <&vph_pwr>;
141		vdd-s4-supply = <&vph_pwr>;
142		vdd-s5-supply = <&vph_pwr>;
143		vdd-s6-supply = <&vph_pwr>;
144		vdd-s7-supply = <&vph_pwr>;
145		vdd-s8-supply = <&vph_pwr>;
146		vdd-s9-supply = <&vph_pwr>;
147		vdd-s10-supply = <&vph_pwr>;
148
149		vdd-l1-l12-supply = <&vreg_bob>;
150		vdd-l2-l8-supply = <&vreg_bob>;
151		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
152		vdd-l6-l9-l11-supply = <&vreg_bob>;
153
154		vdd-bob-supply = <&vph_pwr>;
155
156		vreg_s1c_1p86: smps1 {
157			regulator-name = "vreg_s1c_1p86";
158			regulator-min-microvolt = <1800000>;
159			regulator-max-microvolt = <2024000>;
160		};
161
162		vreg_s10c_1p05: smps10 {
163			regulator-name = "vreg_s10c_1p05";
164			regulator-min-microvolt = <1000000>;
165			regulator-max-microvolt = <1100000>;
166		};
167
168		vreg_bob: bob {
169			regulator-name = "vreg_bob";
170			regulator-min-microvolt = <3008000>;
171			regulator-max-microvolt = <3960000>;
172			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
173		};
174
175		vreg_l1c_1p8: ldo1 {
176			regulator-name = "vreg_l1c_1p8";
177			regulator-min-microvolt = <1800000>;
178			regulator-max-microvolt = <1800000>;
179			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
180		};
181
182		vreg_l3c_3p0: ldo3 {
183			regulator-name = "vreg_l3c_3p0";
184			regulator-min-microvolt = <3296000>;
185			regulator-max-microvolt = <3304000>;
186			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
187		};
188
189		vreg_l4c_1p8: ldo4 {
190			regulator-name = "vreg_l4c_1p8";
191			regulator-min-microvolt = <1704000>;
192			regulator-max-microvolt = <3000000>;
193			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194		};
195
196		vreg_l5c_1p8: ldo5 {
197			regulator-name = "vreg_l5c_1p8";
198			regulator-min-microvolt = <1704000>;
199			regulator-max-microvolt = <3000000>;
200			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
201		};
202
203		vreg_l6c_1p8: ldo6 {
204			regulator-name = "vreg_l6c_1p8";
205			regulator-min-microvolt = <1800000>;
206			regulator-max-microvolt = <3008000>;
207			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
208		};
209
210		vreg_l7c_3p0: ldo7 {
211			regulator-name = "vreg_l7c_3p0";
212			regulator-min-microvolt = <3008000>;
213			regulator-max-microvolt = <3008000>;
214			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215		};
216
217		vreg_l8c_1p8: ldo8 {
218			regulator-name = "vreg_l8c_1p8";
219			regulator-min-microvolt = <1800000>;
220			regulator-max-microvolt = <1800000>;
221			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
222		};
223
224		vreg_l9c_2p96: ldo9 {
225			regulator-name = "vreg_l9c_2p96";
226			regulator-min-microvolt = <2960000>;
227			regulator-max-microvolt = <3008000>;
228			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
229		};
230
231		vreg_l12c_1p8: ldo12 {
232			regulator-name = "vreg_l12c_1p8";
233			regulator-min-microvolt = <1800000>;
234			regulator-max-microvolt = <1968000>;
235			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
236		};
237
238		vreg_l13c_3p0: ldo13 {
239			regulator-name = "vreg_l13c_3p0";
240			regulator-min-microvolt = <3000000>;
241			regulator-max-microvolt = <3000000>;
242			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
243		};
244	};
245
246	regulators-2 {
247		compatible = "qcom,pm8450-rpmh-regulators";
248		qcom,pmic-id = "h";
249
250		vdd-s1-supply = <&vph_pwr>;
251		vdd-s2-supply = <&vph_pwr>;
252		vdd-s3-supply = <&vph_pwr>;
253		vdd-s4-supply = <&vph_pwr>;
254		vdd-s5-supply = <&vph_pwr>;
255		vdd-s6-supply = <&vph_pwr>;
256
257		vdd-l2-supply = <&vreg_bob>;
258		vdd-l3-supply = <&vreg_bob>;
259		vdd-l4-supply = <&vreg_bob>;
260
261		vreg_s2h_0p95: smps2 {
262			regulator-name = "vreg_s2h_0p95";
263			regulator-min-microvolt = <848000>;
264			regulator-max-microvolt = <1104000>;
265		};
266
267		vreg_s3h_0p5: smps3 {
268			regulator-name = "vreg_s3h_0p5";
269			regulator-min-microvolt = <500000>;
270			regulator-max-microvolt = <500000>;
271		};
272
273		vreg_l2h_0p91: ldo2 {
274			regulator-name = "vreg_l2h_0p91";
275			regulator-min-microvolt = <880000>;
276			regulator-max-microvolt = <912000>;
277			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
278		};
279
280		vreg_l3h_0p91: ldo3 {
281			regulator-name = "vreg_l3h_0p91";
282			regulator-min-microvolt = <912000>;
283			regulator-max-microvolt = <912000>;
284			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
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	vdd-hba-supply = <&vreg_l9b_1p2>;
447};
448
449&ufs_mem_phy {
450	status = "okay";
451
452	vdda-phy-supply = <&vreg_l5b_0p88>;
453	vdda-pll-supply = <&vreg_l6b_1p2>;
454};
455
456&usb_1 {
457	status = "okay";
458};
459
460&usb_1_dwc3 {
461	dr_mode = "peripheral";
462};
463
464&usb_1_hsphy {
465	status = "okay";
466
467	vdda-pll-supply = <&vreg_l5b_0p88>;
468	vdda18-supply = <&vreg_l1c_1p8>;
469	vdda33-supply = <&vreg_l2b_3p07>;
470};
471
472&usb_1_qmpphy {
473	status = "okay";
474
475	vdda-phy-supply = <&vreg_l6b_1p2>;
476	vdda-pll-supply = <&vreg_l1b_0p91>;
477};
478