xref: /linux/arch/arm64/boot/dts/qcom/sm8450-qrd.dts (revision d8d2b1f81530988abe2e2bfaceec1c5d30b9a0b4)
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	pmic-glink {
32		compatible = "qcom,sm8450-pmic-glink", "qcom,pmic-glink";
33		#address-cells = <1>;
34		#size-cells = <0>;
35		orientation-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>;
36
37		connector@0 {
38			compatible = "usb-c-connector";
39			reg = <0>;
40			power-role = "dual";
41			data-role = "dual";
42
43			ports {
44				#address-cells = <1>;
45				#size-cells = <0>;
46
47				port@0 {
48					reg = <0>;
49
50					pmic_glink_hs_in: endpoint {
51						remote-endpoint = <&usb_1_dwc3_hs>;
52					};
53				};
54
55				port@1 {
56					reg = <1>;
57
58					pmic_glink_ss_in: endpoint {
59						remote-endpoint = <&usb_1_qmpphy_out>;
60					};
61				};
62
63				port@2 {
64					reg = <2>;
65
66					pmic_glink_sbu: endpoint {
67					};
68				};
69
70			};
71		};
72	};
73
74	vph_pwr: vph-pwr-regulator {
75		compatible = "regulator-fixed";
76		regulator-name = "vph_pwr";
77		regulator-min-microvolt = <3700000>;
78		regulator-max-microvolt = <3700000>;
79
80		regulator-always-on;
81		regulator-boot-on;
82	};
83};
84
85&apps_rsc {
86	regulators-0 {
87		compatible = "qcom,pm8350-rpmh-regulators";
88		qcom,pmic-id = "b";
89
90		vdd-s1-supply = <&vph_pwr>;
91		vdd-s2-supply = <&vph_pwr>;
92		vdd-s3-supply = <&vph_pwr>;
93		vdd-s4-supply = <&vph_pwr>;
94		vdd-s5-supply = <&vph_pwr>;
95		vdd-s6-supply = <&vph_pwr>;
96		vdd-s7-supply = <&vph_pwr>;
97		vdd-s8-supply = <&vph_pwr>;
98		vdd-s9-supply = <&vph_pwr>;
99		vdd-s10-supply = <&vph_pwr>;
100		vdd-s11-supply = <&vph_pwr>;
101		vdd-s12-supply = <&vph_pwr>;
102
103		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
104		vdd-l2-l7-supply = <&vreg_bob>;
105		vdd-l3-l5-supply = <&vreg_bob>;
106		vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
107		vdd-l8-supply = <&vreg_s2h_0p95>;
108
109		vreg_s10b_1p8: smps10 {
110			regulator-name = "vreg_s10b_1p8";
111			regulator-min-microvolt = <1800000>;
112			regulator-max-microvolt = <1800000>;
113		};
114
115		vreg_s11b_0p95: smps11 {
116			regulator-name = "vreg_s11b_0p95";
117			regulator-min-microvolt = <848000>;
118			regulator-max-microvolt = <1104000>;
119		};
120
121		vreg_s12b_1p25: smps12 {
122			regulator-name = "vreg_s12b_1p25";
123			regulator-min-microvolt = <1224000>;
124			regulator-max-microvolt = <1400000>;
125		};
126
127		vreg_l1b_0p91: ldo1 {
128			regulator-name = "vreg_l1b_0p91";
129			regulator-min-microvolt = <912000>;
130			regulator-max-microvolt = <920000>;
131			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
132		};
133
134		vreg_l2b_3p07: ldo2 {
135			regulator-name = "vreg_l2b_3p07";
136			regulator-min-microvolt = <3072000>;
137			regulator-max-microvolt = <3072000>;
138			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
139		};
140
141		vreg_l3b_0p9: ldo3 {
142			regulator-name = "vreg_l3b_0p9";
143			regulator-min-microvolt = <904000>;
144			regulator-max-microvolt = <904000>;
145			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
146		};
147
148		vreg_l5b_0p88: ldo5 {
149			regulator-name = "vreg_l5b_0p88";
150			regulator-min-microvolt = <880000>;
151			regulator-max-microvolt = <888000>;
152			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
153		};
154
155		vreg_l6b_1p2: ldo6 {
156			regulator-name = "vreg_l6b_1p2";
157			regulator-min-microvolt = <1200000>;
158			regulator-max-microvolt = <1200000>;
159			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
160		};
161
162		vreg_l7b_2p5: ldo7 {
163			regulator-name = "vreg_l7b_2p5";
164			regulator-min-microvolt = <2504000>;
165			regulator-max-microvolt = <2504000>;
166			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
167		};
168
169		vreg_l9b_1p2: ldo9 {
170			regulator-name = "vreg_l9b_1p2";
171			regulator-min-microvolt = <1200000>;
172			regulator-max-microvolt = <1200000>;
173			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
174		};
175	};
176
177	regulators-1 {
178		compatible = "qcom,pm8350c-rpmh-regulators";
179		qcom,pmic-id = "c";
180
181		vdd-s1-supply = <&vph_pwr>;
182		vdd-s2-supply = <&vph_pwr>;
183		vdd-s3-supply = <&vph_pwr>;
184		vdd-s4-supply = <&vph_pwr>;
185		vdd-s5-supply = <&vph_pwr>;
186		vdd-s6-supply = <&vph_pwr>;
187		vdd-s7-supply = <&vph_pwr>;
188		vdd-s8-supply = <&vph_pwr>;
189		vdd-s9-supply = <&vph_pwr>;
190		vdd-s10-supply = <&vph_pwr>;
191
192		vdd-l1-l12-supply = <&vreg_bob>;
193		vdd-l2-l8-supply = <&vreg_bob>;
194		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
195		vdd-l6-l9-l11-supply = <&vreg_bob>;
196
197		vdd-bob-supply = <&vph_pwr>;
198
199		vreg_s1c_1p86: smps1 {
200			regulator-name = "vreg_s1c_1p86";
201			regulator-min-microvolt = <1800000>;
202			regulator-max-microvolt = <2024000>;
203		};
204
205		vreg_s10c_1p05: smps10 {
206			regulator-name = "vreg_s10c_1p05";
207			regulator-min-microvolt = <1000000>;
208			regulator-max-microvolt = <1100000>;
209		};
210
211		vreg_bob: bob {
212			regulator-name = "vreg_bob";
213			regulator-min-microvolt = <3008000>;
214			regulator-max-microvolt = <3960000>;
215			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
216		};
217
218		vreg_l1c_1p8: ldo1 {
219			regulator-name = "vreg_l1c_1p8";
220			regulator-min-microvolt = <1800000>;
221			regulator-max-microvolt = <1800000>;
222			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
223		};
224
225		vreg_l3c_3p0: ldo3 {
226			regulator-name = "vreg_l3c_3p0";
227			regulator-min-microvolt = <3296000>;
228			regulator-max-microvolt = <3304000>;
229			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
230		};
231
232		vreg_l4c_1p8: ldo4 {
233			regulator-name = "vreg_l4c_1p8";
234			regulator-min-microvolt = <1704000>;
235			regulator-max-microvolt = <3000000>;
236			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
237		};
238
239		vreg_l5c_1p8: ldo5 {
240			regulator-name = "vreg_l5c_1p8";
241			regulator-min-microvolt = <1704000>;
242			regulator-max-microvolt = <3000000>;
243			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
244		};
245
246		vreg_l6c_1p8: ldo6 {
247			regulator-name = "vreg_l6c_1p8";
248			regulator-min-microvolt = <1800000>;
249			regulator-max-microvolt = <3008000>;
250			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
251		};
252
253		vreg_l7c_3p0: ldo7 {
254			regulator-name = "vreg_l7c_3p0";
255			regulator-min-microvolt = <3008000>;
256			regulator-max-microvolt = <3008000>;
257			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
258		};
259
260		vreg_l8c_1p8: ldo8 {
261			regulator-name = "vreg_l8c_1p8";
262			regulator-min-microvolt = <1800000>;
263			regulator-max-microvolt = <1800000>;
264			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
265		};
266
267		vreg_l9c_2p96: ldo9 {
268			regulator-name = "vreg_l9c_2p96";
269			regulator-min-microvolt = <2960000>;
270			regulator-max-microvolt = <3008000>;
271			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
272		};
273
274		vreg_l12c_1p8: ldo12 {
275			regulator-name = "vreg_l12c_1p8";
276			regulator-min-microvolt = <1800000>;
277			regulator-max-microvolt = <1968000>;
278			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
279		};
280
281		vreg_l13c_3p0: ldo13 {
282			regulator-name = "vreg_l13c_3p0";
283			regulator-min-microvolt = <3000000>;
284			regulator-max-microvolt = <3000000>;
285			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
286		};
287	};
288
289	regulators-2 {
290		compatible = "qcom,pm8450-rpmh-regulators";
291		qcom,pmic-id = "h";
292
293		vdd-s1-supply = <&vph_pwr>;
294		vdd-s2-supply = <&vph_pwr>;
295		vdd-s3-supply = <&vph_pwr>;
296		vdd-s4-supply = <&vph_pwr>;
297		vdd-s5-supply = <&vph_pwr>;
298		vdd-s6-supply = <&vph_pwr>;
299
300		vdd-l2-supply = <&vreg_bob>;
301		vdd-l3-supply = <&vreg_bob>;
302		vdd-l4-supply = <&vreg_bob>;
303
304		vreg_s2h_0p95: smps2 {
305			regulator-name = "vreg_s2h_0p95";
306			regulator-min-microvolt = <848000>;
307			regulator-max-microvolt = <1104000>;
308		};
309
310		vreg_s3h_0p5: smps3 {
311			regulator-name = "vreg_s3h_0p5";
312			regulator-min-microvolt = <500000>;
313			regulator-max-microvolt = <500000>;
314		};
315
316		vreg_l2h_0p91: ldo2 {
317			regulator-name = "vreg_l2h_0p91";
318			regulator-min-microvolt = <880000>;
319			regulator-max-microvolt = <912000>;
320			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
321		};
322
323		vreg_l3h_0p91: ldo3 {
324			regulator-name = "vreg_l3h_0p91";
325			regulator-min-microvolt = <912000>;
326			regulator-max-microvolt = <912000>;
327			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
328		};
329	};
330
331	regulators-3 {
332		compatible = "qcom,pmr735a-rpmh-regulators";
333		qcom,pmic-id = "e";
334
335		vdd-s1-supply = <&vph_pwr>;
336		vdd-s2-supply = <&vph_pwr>;
337		vdd-s3-supply = <&vph_pwr>;
338
339		vdd-l1-l2-supply = <&vreg_s2e_0p85>;
340		vdd-l3-supply = <&vreg_s1e_1p25>;
341		vdd-l4-supply = <&vreg_s1c_1p86>;
342		vdd-l5-l6-supply = <&vreg_s1c_1p86>;
343		vdd-l7-bob-supply = <&vreg_bob>;
344
345		vreg_s1e_1p25: smps1 {
346			regulator-name = "vreg_s1e_1p25";
347			regulator-min-microvolt = <1200000>;
348			regulator-max-microvolt = <1296000>;
349		};
350
351		vreg_s2e_0p85: smps2 {
352			regulator-name = "vreg_s2e_0p85";
353			regulator-min-microvolt = <500000>;
354			regulator-max-microvolt = <1040000>;
355		};
356
357		vreg_l1e_0p8: ldo1 {
358			regulator-name = "vreg_l1e_0p8";
359			regulator-min-microvolt = <800000>;
360			regulator-max-microvolt = <800000>;
361		};
362
363		vreg_l2e_0p8: ldo2 {
364			regulator-name = "vreg_l2e_0p8";
365			regulator-min-microvolt = <800000>;
366			regulator-max-microvolt = <800000>;
367		};
368
369		vreg_l3e_1p2: ldo3 {
370			regulator-name = "vreg_l3e_1p2";
371			regulator-min-microvolt = <1200000>;
372			regulator-max-microvolt = <1200000>;
373		};
374
375		vreg_l4e_1p7: ldo4 {
376			regulator-name = "vreg_l4e_1p7";
377			regulator-min-microvolt = <1776000>;
378			regulator-max-microvolt = <1776000>;
379		};
380
381		vreg_l5e_0p88: ldo5 {
382			regulator-name = "vreg_l5e_0p88";
383			regulator-min-microvolt = <880000>;
384			regulator-max-microvolt = <880000>;
385		};
386
387		vreg_l6e_1p2: ldo6 {
388			regulator-name = "vreg_l6e_1p2";
389			regulator-min-microvolt = <1200000>;
390			regulator-max-microvolt = <1200000>;
391		};
392	};
393};
394
395&dispcc {
396	status = "disabled";
397};
398
399&pcie0 {
400	status = "okay";
401};
402
403&pcie0_phy {
404	status = "okay";
405	vdda-phy-supply = <&vreg_l5b_0p88>;
406	vdda-pll-supply = <&vreg_l6b_1p2>;
407};
408
409&gpi_dma0 {
410	status = "okay";
411};
412
413&i2c5 {
414	status = "okay";
415};
416
417&qupv3_id_0 {
418	status = "okay";
419};
420
421&qupv3_id_2 {
422	status = "okay";
423};
424
425&remoteproc_adsp {
426	status = "okay";
427	firmware-name = "qcom/sm8450/adsp.mbn";
428};
429
430&remoteproc_cdsp {
431	status = "okay";
432	firmware-name = "qcom/sm8450/cdsp.mbn";
433};
434
435&remoteproc_mpss {
436	status = "okay";
437	firmware-name = "qcom/sm8450/modem.mbn";
438};
439
440&remoteproc_slpi {
441	status = "okay";
442	firmware-name = "qcom/sm8450/slpi.mbn";
443};
444
445&sdhc_2 {
446	cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
447	pinctrl-names = "default", "sleep";
448	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
449	pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
450	vmmc-supply = <&vreg_l9c_2p96>;
451	vqmmc-supply = <&vreg_l6c_1p8>;
452	no-sdio;
453	no-mmc;
454	status = "okay";
455};
456
457&spi4 {
458	status = "okay";
459};
460
461&spi18 {
462	status = "okay";
463};
464
465&spi19 {
466	status = "okay";
467};
468
469&tlmm {
470	gpio-reserved-ranges = <28 4>, <36 4>;
471
472	sdc2_card_det_n: sd-card-det-n-state {
473		pins = "gpio92";
474		function = "gpio";
475		drive-strength = <2>;
476		bias-pull-up;
477	};
478};
479
480&uart7 {
481	status = "okay";
482};
483
484&ufs_mem_hc {
485	status = "okay";
486
487	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
488
489	vcc-supply = <&vreg_l7b_2p5>;
490	vcc-max-microamp = <1100000>;
491	vccq-supply = <&vreg_l9b_1p2>;
492	vccq-max-microamp = <1200000>;
493	vdd-hba-supply = <&vreg_l9b_1p2>;
494};
495
496&ufs_mem_phy {
497	status = "okay";
498
499	vdda-phy-supply = <&vreg_l5b_0p88>;
500	vdda-pll-supply = <&vreg_l6b_1p2>;
501};
502
503&usb_1 {
504	status = "okay";
505};
506
507&usb_1_dwc3_hs {
508	remote-endpoint = <&pmic_glink_hs_in>;
509};
510
511&usb_1_hsphy {
512	status = "okay";
513
514	vdda-pll-supply = <&vreg_l5b_0p88>;
515	vdda18-supply = <&vreg_l1c_1p8>;
516	vdda33-supply = <&vreg_l2b_3p07>;
517	qcom,squelch-detector-bp = <(-2090)>;
518	qcom,hs-disconnect-bp = <1743>;
519	qcom,pre-emphasis-amplitude-bp = <40000>;
520	qcom,pre-emphasis-duration-bp = <20000>;
521	qcom,hs-amplitude-bp = <2000>;
522	qcom,hs-output-impedance-micro-ohms = <2600000>;
523	qcom,hs-crossover-voltage-microvolt = <(-31000)>;
524	qcom,hs-rise-fall-time-bp = <(-4100)>;
525};
526
527&usb_1_qmpphy {
528	status = "okay";
529
530	vdda-phy-supply = <&vreg_l6b_1p2>;
531	vdda-pll-supply = <&vreg_l1b_0p91>;
532};
533
534&usb_1_qmpphy_out {
535	remote-endpoint = <&pmic_glink_ss_in>;
536};
537