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