xref: /linux/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts (revision 3e7819886281e077e82006fe4804b0d6b0f5643b)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10
11#include "x1e80100.dtsi"
12#include "x1e80100-pmics.dtsi"
13
14/ {
15	model = "Qualcomm Technologies, Inc. X1E80100 QCP";
16	compatible = "qcom,x1e80100-qcp", "qcom,x1e80100";
17
18	aliases {
19		serial0 = &uart21;
20	};
21
22	chosen {
23		stdout-path = "serial0:115200n8";
24	};
25
26	reserved-memory {
27		linux,cma {
28			compatible = "shared-dma-pool";
29			size = <0x0 0x8000000>;
30			reusable;
31			linux,cma-default;
32		};
33	};
34
35	vph_pwr: vph-pwr-regulator {
36		compatible = "regulator-fixed";
37
38		regulator-name = "vph_pwr";
39		regulator-min-microvolt = <3700000>;
40		regulator-max-microvolt = <3700000>;
41
42		regulator-always-on;
43		regulator-boot-on;
44	};
45
46	vreg_edp_3p3: regulator-edp-3p3 {
47		compatible = "regulator-fixed";
48
49		regulator-name = "VREG_EDP_3P3";
50		regulator-min-microvolt = <3300000>;
51		regulator-max-microvolt = <3300000>;
52
53		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
54		enable-active-high;
55
56		pinctrl-0 = <&edp_reg_en>;
57		pinctrl-names = "default";
58
59		regulator-always-on;
60		regulator-boot-on;
61	};
62};
63
64&apps_rsc {
65	regulators-0 {
66		compatible = "qcom,pm8550-rpmh-regulators";
67		qcom,pmic-id = "b";
68
69		vdd-bob1-supply = <&vph_pwr>;
70		vdd-bob2-supply = <&vph_pwr>;
71		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
72		vdd-l2-l13-l14-supply = <&vreg_bob1>;
73		vdd-l5-l16-supply = <&vreg_bob1>;
74		vdd-l6-l7-supply = <&vreg_bob2>;
75		vdd-l8-l9-supply = <&vreg_bob1>;
76		vdd-l12-supply = <&vreg_s5j_1p2>;
77		vdd-l15-supply = <&vreg_s4c_1p8>;
78		vdd-l17-supply = <&vreg_bob2>;
79
80		vreg_bob1: bob1 {
81			regulator-name = "vreg_bob1";
82			regulator-min-microvolt = <3008000>;
83			regulator-max-microvolt = <3960000>;
84			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
85		};
86
87		vreg_bob2: bob2 {
88			regulator-name = "vreg_bob2";
89			regulator-min-microvolt = <2504000>;
90			regulator-max-microvolt = <3008000>;
91			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
92		};
93
94		vreg_l1b_1p8: ldo1 {
95			regulator-name = "vreg_l1b_1p8";
96			regulator-min-microvolt = <1800000>;
97			regulator-max-microvolt = <1800000>;
98			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
99		};
100
101		vreg_l2b_3p0: ldo2 {
102			regulator-name = "vreg_l2b_3p0";
103			regulator-min-microvolt = <3072000>;
104			regulator-max-microvolt = <3100000>;
105			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
106		};
107
108		vreg_l4b_1p8: ldo4 {
109			regulator-name = "vreg_l4b_1p8";
110			regulator-min-microvolt = <1800000>;
111			regulator-max-microvolt = <1800000>;
112			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
113		};
114
115		vreg_l5b_3p0: ldo5 {
116			regulator-name = "vreg_l5b_3p0";
117			regulator-min-microvolt = <3000000>;
118			regulator-max-microvolt = <3000000>;
119			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
120		};
121
122		vreg_l6b_1p8: ldo6 {
123			regulator-name = "vreg_l6b_1p8";
124			regulator-min-microvolt = <1800000>;
125			regulator-max-microvolt = <2960000>;
126			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
127		};
128
129		vreg_l7b_2p8: ldo7 {
130			regulator-name = "vreg_l7b_2p8";
131			regulator-min-microvolt = <2800000>;
132			regulator-max-microvolt = <2800000>;
133			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
134		};
135
136		vreg_l8b_3p0: ldo8 {
137			regulator-name = "vreg_l8b_3p0";
138			regulator-min-microvolt = <3072000>;
139			regulator-max-microvolt = <3072000>;
140			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
141		};
142
143		vreg_l9b_2p9: ldo9 {
144			regulator-name = "vreg_l9b_2p9";
145			regulator-min-microvolt = <2960000>;
146			regulator-max-microvolt = <2960000>;
147			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
148		};
149
150		vreg_l10b_1p8: ldo10 {
151			regulator-name = "vreg_l10b_1p8";
152			regulator-min-microvolt = <1800000>;
153			regulator-max-microvolt = <1800000>;
154			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
155		};
156
157		vreg_l12b_1p2: ldo12 {
158			regulator-name = "vreg_l12b_1p2";
159			regulator-min-microvolt = <1200000>;
160			regulator-max-microvolt = <1200000>;
161			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162		};
163
164		vreg_l13b_3p0: ldo13 {
165			regulator-name = "vreg_l13b_3p0";
166			regulator-min-microvolt = <3072000>;
167			regulator-max-microvolt = <3100000>;
168			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
169		};
170
171		vreg_l14b_3p0: ldo14 {
172			regulator-name = "vreg_l14b_3p0";
173			regulator-min-microvolt = <3072000>;
174			regulator-max-microvolt = <3072000>;
175			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
176		};
177
178		vreg_l15b_1p8: ldo15 {
179			regulator-name = "vreg_l15b_1p8";
180			regulator-min-microvolt = <1800000>;
181			regulator-max-microvolt = <1800000>;
182			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
183		};
184
185		vreg_l16b_2p9: ldo16 {
186			regulator-name = "vreg_l16b_2p9";
187			regulator-min-microvolt = <2912000>;
188			regulator-max-microvolt = <2912000>;
189			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
190		};
191
192		vreg_l17b_2p5: ldo17 {
193			regulator-name = "vreg_l17b_2p5";
194			regulator-min-microvolt = <2504000>;
195			regulator-max-microvolt = <2504000>;
196			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
197		};
198	};
199
200	regulators-1 {
201		compatible = "qcom,pm8550ve-rpmh-regulators";
202		qcom,pmic-id = "c";
203
204		vdd-l1-supply = <&vreg_s5j_1p2>;
205		vdd-l2-supply = <&vreg_s1f_0p7>;
206		vdd-l3-supply = <&vreg_s1f_0p7>;
207		vdd-s4-supply = <&vph_pwr>;
208
209		vreg_s4c_1p8: smps4 {
210			regulator-name = "vreg_s4c_1p8";
211			regulator-min-microvolt = <1856000>;
212			regulator-max-microvolt = <2000000>;
213			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
214		};
215
216		vreg_l1c_1p2: ldo1 {
217			regulator-name = "vreg_l1c_1p2";
218			regulator-min-microvolt = <1200000>;
219			regulator-max-microvolt = <1200000>;
220			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221		};
222
223		vreg_l2c_0p8: ldo2 {
224			regulator-name = "vreg_l2c_0p8";
225			regulator-min-microvolt = <880000>;
226			regulator-max-microvolt = <920000>;
227			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
228		};
229
230		vreg_l3c_0p8: ldo3 {
231			regulator-name = "vreg_l3c_0p8";
232			regulator-min-microvolt = <880000>;
233			regulator-max-microvolt = <920000>;
234			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235		};
236	};
237
238	regulators-2 {
239		compatible = "qcom,pmc8380-rpmh-regulators";
240		qcom,pmic-id = "d";
241
242		vdd-l1-supply = <&vreg_s1f_0p7>;
243		vdd-l2-supply = <&vreg_s1f_0p7>;
244		vdd-l3-supply = <&vreg_s4c_1p8>;
245		vdd-s1-supply = <&vph_pwr>;
246
247		vreg_l1d_0p8: ldo1 {
248			regulator-name = "vreg_l1d_0p8";
249			regulator-min-microvolt = <880000>;
250			regulator-max-microvolt = <920000>;
251			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252		};
253
254		vreg_l2d_0p9: ldo2 {
255			regulator-name = "vreg_l2d_0p9";
256			regulator-min-microvolt = <912000>;
257			regulator-max-microvolt = <920000>;
258			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259		};
260
261		vreg_l3d_1p8: ldo3 {
262			regulator-name = "vreg_l3d_1p8";
263			regulator-min-microvolt = <1800000>;
264			regulator-max-microvolt = <1800000>;
265			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266		};
267	};
268
269	regulators-3 {
270		compatible = "qcom,pmc8380-rpmh-regulators";
271		qcom,pmic-id = "e";
272
273		vdd-l2-supply = <&vreg_s1f_0p7>;
274		vdd-l3-supply = <&vreg_s5j_1p2>;
275
276		vreg_l2e_0p8: ldo2 {
277			regulator-name = "vreg_l2e_0p8";
278			regulator-min-microvolt = <880000>;
279			regulator-max-microvolt = <920000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281		};
282
283		vreg_l3e_1p2: ldo3 {
284			regulator-name = "vreg_l3e_1p2";
285			regulator-min-microvolt = <1200000>;
286			regulator-max-microvolt = <1200000>;
287			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288		};
289	};
290
291	regulators-4 {
292		compatible = "qcom,pmc8380-rpmh-regulators";
293		qcom,pmic-id = "f";
294
295		vdd-l1-supply = <&vreg_s5j_1p2>;
296		vdd-l2-supply = <&vreg_s5j_1p2>;
297		vdd-l3-supply = <&vreg_s5j_1p2>;
298		vdd-s1-supply = <&vph_pwr>;
299
300		vreg_s1f_0p7: smps1 {
301			regulator-name = "vreg_s1f_0p7";
302			regulator-min-microvolt = <700000>;
303			regulator-max-microvolt = <1100000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		vreg_l1f_1p0: ldo1 {
308			regulator-name = "vreg_l1f_1p0";
309			regulator-min-microvolt = <1024000>;
310			regulator-max-microvolt = <1024000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l2f_1p0: ldo2 {
315			regulator-name = "vreg_l2f_1p0";
316			regulator-min-microvolt = <1024000>;
317			regulator-max-microvolt = <1024000>;
318			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319		};
320
321		vreg_l3f_1p0: ldo3 {
322			regulator-name = "vreg_l3f_1p0";
323			regulator-min-microvolt = <1024000>;
324			regulator-max-microvolt = <1024000>;
325			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326		};
327	};
328
329	regulators-6 {
330		compatible = "qcom,pm8550ve-rpmh-regulators";
331		qcom,pmic-id = "i";
332
333		vdd-l1-supply = <&vreg_s4c_1p8>;
334		vdd-l2-supply = <&vreg_s5j_1p2>;
335		vdd-l3-supply = <&vreg_s1f_0p7>;
336		vdd-s1-supply = <&vph_pwr>;
337		vdd-s2-supply = <&vph_pwr>;
338
339		vreg_s1i_0p9: smps1 {
340			regulator-name = "vreg_s1i_0p9";
341			regulator-min-microvolt = <900000>;
342			regulator-max-microvolt = <920000>;
343			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
344		};
345
346		vreg_s2i_1p0: smps2 {
347			regulator-name = "vreg_s2i_1p0";
348			regulator-min-microvolt = <1000000>;
349			regulator-max-microvolt = <1100000>;
350			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
351		};
352
353		vreg_l1i_1p8: ldo1 {
354			regulator-name = "vreg_l1i_1p8";
355			regulator-min-microvolt = <1800000>;
356			regulator-max-microvolt = <1800000>;
357			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
358		};
359
360		vreg_l2i_1p2: ldo2 {
361			regulator-name = "vreg_l2i_1p2";
362			regulator-min-microvolt = <1200000>;
363			regulator-max-microvolt = <1200000>;
364			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
365		};
366
367		vreg_l3i_0p8: ldo3 {
368			regulator-name = "vreg_l3i_0p8";
369			regulator-min-microvolt = <880000>;
370			regulator-max-microvolt = <920000>;
371			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
372		};
373	};
374
375	regulators-7 {
376		compatible = "qcom,pm8550ve-rpmh-regulators";
377		qcom,pmic-id = "j";
378
379		vdd-l1-supply = <&vreg_s1f_0p7>;
380		vdd-l2-supply = <&vreg_s5j_1p2>;
381		vdd-l3-supply = <&vreg_s1f_0p7>;
382		vdd-s5-supply = <&vph_pwr>;
383
384		vreg_s5j_1p2: smps5 {
385			regulator-name = "vreg_s5j_1p2";
386			regulator-min-microvolt = <1256000>;
387			regulator-max-microvolt = <1304000>;
388			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
389		};
390
391		vreg_l1j_0p8: ldo1 {
392			regulator-name = "vreg_l1j_0p8";
393			regulator-min-microvolt = <880000>;
394			regulator-max-microvolt = <920000>;
395			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
396		};
397
398		vreg_l2j_1p2: ldo2 {
399			regulator-name = "vreg_l2j_1p2";
400			regulator-min-microvolt = <1200000>;
401			regulator-max-microvolt = <1200000>;
402			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
403		};
404
405		vreg_l3j_0p8: ldo3 {
406			regulator-name = "vreg_l3j_0p8";
407			regulator-min-microvolt = <880000>;
408			regulator-max-microvolt = <920000>;
409			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
410		};
411	};
412};
413
414&mdss {
415	status = "okay";
416};
417
418&mdss_dp3 {
419	compatible = "qcom,x1e80100-dp";
420	/delete-property/ #sound-dai-cells;
421
422	status = "okay";
423
424	aux-bus {
425		panel {
426			compatible = "edp-panel";
427			power-supply = <&vreg_edp_3p3>;
428
429			port {
430				edp_panel_in: endpoint {
431					remote-endpoint = <&mdss_dp3_out>;
432				};
433			};
434		};
435	};
436
437	ports {
438		port@1 {
439			reg = <1>;
440			mdss_dp3_out: endpoint {
441				data-lanes = <0 1 2 3>;
442				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
443
444				remote-endpoint = <&edp_panel_in>;
445			};
446		};
447	};
448};
449
450&mdss_dp3_phy {
451	vdda-phy-supply = <&vreg_l3j_0p8>;
452	vdda-pll-supply = <&vreg_l2j_1p2>;
453
454	status = "okay";
455};
456
457&pcie4 {
458	status = "okay";
459};
460
461&pcie4_phy {
462	vdda-phy-supply = <&vreg_l3j_0p8>;
463	vdda-pll-supply = <&vreg_l3e_1p2>;
464
465	status = "okay";
466};
467
468&pcie6a {
469	status = "okay";
470};
471
472&pcie6a_phy {
473	vdda-phy-supply = <&vreg_l3j_0p8>;
474	vdda-pll-supply = <&vreg_l2j_1p2>;
475
476	status = "okay";
477};
478
479&qupv3_0 {
480	status = "okay";
481};
482
483&qupv3_1 {
484	status = "okay";
485};
486
487&qupv3_2 {
488	status = "okay";
489};
490
491&remoteproc_adsp {
492	firmware-name = "qcom/x1e80100/adsp.mbn",
493			"qcom/x1e80100/adsp_dtb.mbn";
494
495	status = "okay";
496};
497
498&remoteproc_cdsp {
499	firmware-name = "qcom/x1e80100/cdsp.mbn",
500			"qcom/x1e80100/cdsp_dtb.mbn";
501
502	status = "okay";
503};
504
505&smb2360_0_eusb2_repeater {
506	vdd18-supply = <&vreg_l3d_1p8>;
507	vdd3-supply = <&vreg_l2b_3p0>;
508};
509
510&smb2360_1_eusb2_repeater {
511	vdd18-supply = <&vreg_l3d_1p8>;
512	vdd3-supply = <&vreg_l14b_3p0>;
513};
514
515&smb2360_2_eusb2_repeater {
516	vdd18-supply = <&vreg_l3d_1p8>;
517	vdd3-supply = <&vreg_l8b_3p0>;
518};
519
520&tlmm {
521	gpio-reserved-ranges = <33 3>, /* Unused */
522			       <44 4>, /* SPI (TPM) */
523			       <238 1>; /* UFS Reset */
524
525	edp_reg_en: edp-reg-en-state {
526		pins = "gpio70";
527		function = "gpio";
528		drive-strength = <16>;
529		bias-disable;
530	};
531};
532
533&uart21 {
534	compatible = "qcom,geni-debug-uart";
535	status = "okay";
536};
537
538&usb_1_ss0_hsphy {
539	vdd-supply = <&vreg_l2e_0p8>;
540	vdda12-supply = <&vreg_l3e_1p2>;
541
542	phys = <&smb2360_0_eusb2_repeater>;
543
544	status = "okay";
545};
546
547&usb_1_ss0_qmpphy {
548	status = "okay";
549};
550
551&usb_1_ss0 {
552	status = "okay";
553};
554
555&usb_1_ss0_dwc3 {
556	dr_mode = "host";
557	usb-role-switch;
558};
559
560&usb_1_ss1_hsphy {
561	vdd-supply = <&vreg_l2e_0p8>;
562	vdda12-supply = <&vreg_l3e_1p2>;
563
564	phys = <&smb2360_1_eusb2_repeater>;
565
566	status = "okay";
567};
568
569&usb_1_ss1_qmpphy {
570	status = "okay";
571};
572
573&usb_1_ss1 {
574	status = "okay";
575};
576
577&usb_1_ss1_dwc3 {
578	dr_mode = "host";
579	usb-role-switch;
580};
581
582&usb_1_ss2_hsphy {
583	vdd-supply = <&vreg_l2e_0p8>;
584	vdda12-supply = <&vreg_l3e_1p2>;
585
586	phys = <&smb2360_2_eusb2_repeater>;
587
588	status = "okay";
589};
590
591&usb_1_ss2_qmpphy {
592	status = "okay";
593};
594
595&usb_1_ss2 {
596	status = "okay";
597};
598
599&usb_1_ss2_dwc3 {
600	dr_mode = "host";
601	usb-role-switch;
602};
603