xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/purwa-iot-som.dtsi (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4 */
5
6#include "purwa.dtsi"
7#include "hamoa-pmics.dtsi"
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10
11/delete-node/ &pmc8380_6;
12/delete-node/ &pmc8380_6_thermal;
13
14/ {
15	reserved-memory {
16		linux,cma {
17			compatible = "shared-dma-pool";
18			size = <0x0 0x8000000>;
19			reusable;
20			linux,cma-default;
21		};
22	};
23};
24
25&apps_rsc {
26	/* PMC8380C_B */
27	regulators-0 {
28		compatible = "qcom,pm8550-rpmh-regulators";
29		qcom,pmic-id = "b";
30
31		vdd-bob1-supply = <&vph_pwr>;
32		vdd-bob2-supply = <&vph_pwr>;
33		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
34		vdd-l2-l13-l14-supply = <&vreg_bob1>;
35		vdd-l5-l16-supply = <&vreg_bob1>;
36		vdd-l6-l7-supply = <&vreg_bob2>;
37		vdd-l8-l9-supply = <&vreg_bob1>;
38		vdd-l12-supply = <&vreg_s5j_1p2>;
39		vdd-l15-supply = <&vreg_s4c_1p8>;
40		vdd-l17-supply = <&vreg_bob2>;
41
42		vreg_bob1: bob1 {
43			regulator-name = "vreg_bob1";
44			regulator-min-microvolt = <3008000>;
45			regulator-max-microvolt = <3960000>;
46			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
47		};
48
49		vreg_bob2: bob2 {
50			regulator-name = "vreg_bob2";
51			regulator-min-microvolt = <2504000>;
52			regulator-max-microvolt = <3008000>;
53			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
54		};
55
56		vreg_l1b_1p8: ldo1 {
57			regulator-name = "vreg_l1b_1p8";
58			regulator-min-microvolt = <1800000>;
59			regulator-max-microvolt = <1800000>;
60			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
61		};
62
63		vreg_l2b_3p0: ldo2 {
64			regulator-name = "vreg_l2b_3p0";
65			regulator-min-microvolt = <3072000>;
66			regulator-max-microvolt = <3100000>;
67			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
68		};
69
70		vreg_l4b_1p8: ldo4 {
71			regulator-name = "vreg_l4b_1p8";
72			regulator-min-microvolt = <1800000>;
73			regulator-max-microvolt = <1800000>;
74			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
75		};
76
77		vreg_l5b_3p0: ldo5 {
78			regulator-name = "vreg_l5b_3p0";
79			regulator-min-microvolt = <3000000>;
80			regulator-max-microvolt = <3000000>;
81			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
82		};
83
84		vreg_l6b_1p8: ldo6 {
85			regulator-name = "vreg_l6b_1p8";
86			regulator-min-microvolt = <1800000>;
87			regulator-max-microvolt = <2960000>;
88			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
89		};
90
91		vreg_l7b_2p8: ldo7 {
92			regulator-name = "vreg_l7b_2p8";
93			regulator-min-microvolt = <2800000>;
94			regulator-max-microvolt = <2800000>;
95			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96		};
97
98		vreg_l8b_3p0: ldo8 {
99			regulator-name = "vreg_l8b_3p0";
100			regulator-min-microvolt = <3072000>;
101			regulator-max-microvolt = <3072000>;
102			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
103		};
104
105		vreg_l9b_2p9: ldo9 {
106			regulator-name = "vreg_l9b_2p9";
107			regulator-min-microvolt = <2960000>;
108			regulator-max-microvolt = <2960000>;
109			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
110		};
111
112		vreg_l10b_1p8: ldo10 {
113			regulator-name = "vreg_l10b_1p8";
114			regulator-min-microvolt = <1800000>;
115			regulator-max-microvolt = <1800000>;
116			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
117		};
118
119		vreg_l12b_1p2: ldo12 {
120			regulator-name = "vreg_l12b_1p2";
121			regulator-min-microvolt = <1200000>;
122			regulator-max-microvolt = <1200000>;
123			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
124			regulator-always-on;
125		};
126
127		vreg_l13b_3p0: ldo13 {
128			regulator-name = "vreg_l13b_3p0";
129			regulator-min-microvolt = <3072000>;
130			regulator-max-microvolt = <3100000>;
131			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
132		};
133
134		vreg_l14b_3p0: ldo14 {
135			regulator-name = "vreg_l14b_3p0";
136			regulator-min-microvolt = <3072000>;
137			regulator-max-microvolt = <3072000>;
138			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
139		};
140
141		vreg_l15b_1p8: ldo15 {
142			regulator-name = "vreg_l15b_1p8";
143			regulator-min-microvolt = <1800000>;
144			regulator-max-microvolt = <1800000>;
145			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
146			regulator-always-on;
147		};
148
149		vreg_l16b_2p9: ldo16 {
150			regulator-name = "vreg_l16b_2p9";
151			regulator-min-microvolt = <2912000>;
152			regulator-max-microvolt = <2912000>;
153			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
154		};
155
156		vreg_l17b_2p5: ldo17 {
157			regulator-name = "vreg_l17b_2p5";
158			regulator-min-microvolt = <2504000>;
159			regulator-max-microvolt = <2504000>;
160			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
161		};
162	};
163
164	/* PMC8380VE_C */
165	regulators-1 {
166		compatible = "qcom,pm8550ve-rpmh-regulators";
167		qcom,pmic-id = "c";
168
169		vdd-l1-supply = <&vreg_s5j_1p2>;
170		vdd-l2-supply = <&vreg_s1f_0p7>;
171		vdd-l3-supply = <&vreg_s1f_0p7>;
172		vdd-s4-supply = <&vph_pwr>;
173
174		vreg_s4c_1p8: smps4 {
175			regulator-name = "vreg_s4c_1p8";
176			regulator-min-microvolt = <1856000>;
177			regulator-max-microvolt = <2000000>;
178			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
179		};
180
181		vreg_l1c_1p2: ldo1 {
182			regulator-name = "vreg_l1c_1p2";
183			regulator-min-microvolt = <1200000>;
184			regulator-max-microvolt = <1200000>;
185			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186		};
187
188		vreg_l2c_0p8: ldo2 {
189			regulator-name = "vreg_l2c_0p8";
190			regulator-min-microvolt = <880000>;
191			regulator-max-microvolt = <920000>;
192			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193		};
194
195		vreg_l3c_0p8: ldo3 {
196			regulator-name = "vreg_l3c_0p8";
197			regulator-min-microvolt = <880000>;
198			regulator-max-microvolt = <920000>;
199			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
200		};
201	};
202
203	/* PMC8380_D */
204	regulators-2 {
205		compatible = "qcom,pmc8380-rpmh-regulators";
206		qcom,pmic-id = "d";
207
208		vdd-l1-supply = <&vreg_s1f_0p7>;
209		vdd-l2-supply = <&vreg_s1f_0p7>;
210		vdd-l3-supply = <&vreg_s4c_1p8>;
211		vdd-s1-supply = <&vph_pwr>;
212
213		vreg_l1d_0p8: ldo1 {
214			regulator-name = "vreg_l1d_0p8";
215			regulator-min-microvolt = <880000>;
216			regulator-max-microvolt = <920000>;
217			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
218		};
219
220		vreg_l2d_0p9: ldo2 {
221			regulator-name = "vreg_l2d_0p9";
222			regulator-min-microvolt = <912000>;
223			regulator-max-microvolt = <920000>;
224			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
225		};
226
227		vreg_l3d_1p8: ldo3 {
228			regulator-name = "vreg_l3d_1p8";
229			regulator-min-microvolt = <1800000>;
230			regulator-max-microvolt = <1800000>;
231			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
232		};
233	};
234
235	/* PMC8380_E */
236	regulators-3 {
237		compatible = "qcom,pmc8380-rpmh-regulators";
238		qcom,pmic-id = "e";
239
240		vdd-l2-supply = <&vreg_s1f_0p7>;
241		vdd-l3-supply = <&vreg_s5j_1p2>;
242
243		vreg_l2e_0p8: ldo2 {
244			regulator-name = "vreg_l2e_0p8";
245			regulator-min-microvolt = <880000>;
246			regulator-max-microvolt = <920000>;
247			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
248		};
249
250		vreg_l3e_1p2: ldo3 {
251			regulator-name = "vreg_l3e_1p2";
252			regulator-min-microvolt = <1200000>;
253			regulator-max-microvolt = <1200000>;
254			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255		};
256	};
257
258	/* PMC8380_F */
259	regulators-4 {
260		compatible = "qcom,pmc8380-rpmh-regulators";
261		qcom,pmic-id = "f";
262
263		vdd-l1-supply = <&vreg_s5j_1p2>;
264		vdd-l2-supply = <&vreg_s5j_1p2>;
265		vdd-l3-supply = <&vreg_s5j_1p2>;
266		vdd-s1-supply = <&vph_pwr>;
267
268		vreg_s1f_0p7: smps1 {
269			regulator-name = "vreg_s1f_0p7";
270			regulator-min-microvolt = <700000>;
271			regulator-max-microvolt = <1100000>;
272			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273		};
274
275		vreg_l1f_1p0: ldo1 {
276			regulator-name = "vreg_l1f_1p0";
277			regulator-min-microvolt = <1024000>;
278			regulator-max-microvolt = <1024000>;
279			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280		};
281
282		vreg_l2f_1p0: ldo2 {
283			regulator-name = "vreg_l2f_1p0";
284			regulator-min-microvolt = <1024000>;
285			regulator-max-microvolt = <1024000>;
286			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vreg_l3f_1p0: ldo3 {
290			regulator-name = "vreg_l3f_1p0";
291			regulator-min-microvolt = <1024000>;
292			regulator-max-microvolt = <1024000>;
293			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294		};
295	};
296
297	/* PMC8380VE_I */
298	regulators-6 {
299		compatible = "qcom,pm8550ve-rpmh-regulators";
300		qcom,pmic-id = "i";
301
302		vdd-l1-supply = <&vreg_s4c_1p8>;
303		vdd-l2-supply = <&vreg_s5j_1p2>;
304		vdd-l3-supply = <&vreg_s1f_0p7>;
305		vdd-s1-supply = <&vph_pwr>;
306		vdd-s2-supply = <&vph_pwr>;
307
308		vreg_s1i_0p9: smps1 {
309			regulator-name = "vreg_s1i_0p9";
310			regulator-min-microvolt = <900000>;
311			regulator-max-microvolt = <920000>;
312			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
313		};
314
315		vreg_s2i_1p0: smps2 {
316			regulator-name = "vreg_s2i_1p0";
317			regulator-min-microvolt = <1000000>;
318			regulator-max-microvolt = <1100000>;
319			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
320		};
321
322		vreg_l1i_1p8: ldo1 {
323			regulator-name = "vreg_l1i_1p8";
324			regulator-min-microvolt = <1800000>;
325			regulator-max-microvolt = <1800000>;
326			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
327		};
328
329		vreg_l2i_1p2: ldo2 {
330			regulator-name = "vreg_l2i_1p2";
331			regulator-min-microvolt = <1200000>;
332			regulator-max-microvolt = <1200000>;
333			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
334		};
335
336		vreg_l3i_0p8: ldo3 {
337			regulator-name = "vreg_l3i_0p8";
338			regulator-min-microvolt = <880000>;
339			regulator-max-microvolt = <920000>;
340			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
341		};
342	};
343
344	/* PMC8380VE_J */
345	regulators-7 {
346		compatible = "qcom,pm8550ve-rpmh-regulators";
347		qcom,pmic-id = "j";
348
349		vdd-l1-supply = <&vreg_s1f_0p7>;
350		vdd-l2-supply = <&vreg_s5j_1p2>;
351		vdd-l3-supply = <&vreg_s1f_0p7>;
352		vdd-s5-supply = <&vph_pwr>;
353
354		vreg_s5j_1p2: smps5 {
355			regulator-name = "vreg_s5j_1p2";
356			regulator-min-microvolt = <1256000>;
357			regulator-max-microvolt = <1304000>;
358			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
359		};
360
361		vreg_l1j_0p8: ldo1 {
362			regulator-name = "vreg_l1j_0p8";
363			regulator-min-microvolt = <880000>;
364			regulator-max-microvolt = <920000>;
365			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
366		};
367
368		vreg_l2j_1p2: ldo2 {
369			regulator-name = "vreg_l2j_1p2";
370			regulator-min-microvolt = <1256000>;
371			regulator-max-microvolt = <1256000>;
372			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
373		};
374
375		vreg_l3j_0p8: ldo3 {
376			regulator-name = "vreg_l3j_0p8";
377			regulator-min-microvolt = <880000>;
378			regulator-max-microvolt = <920000>;
379			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
380		};
381	};
382};
383
384&gpu {
385	status = "okay";
386};
387
388&gpu_zap_shader {
389	firmware-name = "qcom/x1p42100/gen71500_zap.mbn";
390};
391
392&pcie3 {
393	pinctrl-0 = <&pcie3_default>;
394	pinctrl-names = "default";
395
396	status = "okay";
397};
398
399&pcie3_phy {
400	vdda-phy-supply = <&vreg_l3c_0p8>;
401	vdda-pll-supply = <&vreg_l3e_1p2>;
402
403	status = "okay";
404};
405
406&pcie4 {
407	pinctrl-0 = <&pcie4_default>;
408	pinctrl-names = "default";
409
410	status = "okay";
411};
412
413&pcie4_phy {
414	vdda-phy-supply = <&vreg_l3i_0p8>;
415	vdda-pll-supply = <&vreg_l3e_1p2>;
416
417	status = "okay";
418};
419
420&pcie5 {
421	pinctrl-0 = <&pcie5_default>;
422	pinctrl-names = "default";
423
424	status = "okay";
425};
426
427&pcie5_phy {
428	vdda-phy-supply = <&vreg_l3i_0p8>;
429	vdda-pll-supply = <&vreg_l3e_1p2>;
430
431	status = "okay";
432};
433
434&pcie6a {
435	pinctrl-0 = <&pcie6a_default>;
436	pinctrl-names = "default";
437
438	status = "okay";
439};
440
441&pcie6a_phy {
442	vdda-phy-supply = <&vreg_l1d_0p8>;
443	vdda-pll-supply = <&vreg_l2j_1p2>;
444
445	status = "okay";
446};
447
448&qupv3_0 {
449	status = "okay";
450};
451
452&qupv3_1 {
453	status = "okay";
454};
455
456&qupv3_2 {
457	status = "okay";
458};
459
460&remoteproc_adsp {
461	firmware-name = "qcom/x1e80100/adsp.mbn",
462			"qcom/x1e80100/adsp_dtb.mbn";
463
464	status = "okay";
465};
466
467&remoteproc_cdsp {
468	firmware-name = "qcom/x1e80100/cdsp.mbn",
469			"qcom/x1e80100/cdsp_dtb.mbn";
470
471	status = "okay";
472};
473
474&tlmm {
475	gpio-reserved-ranges = <34 2>; /* TPM LP & INT */
476
477	pcie3_default: pcie3-default-state {
478		clkreq-n-pins {
479			pins = "gpio144";
480			function = "pcie3_clk";
481			drive-strength = <2>;
482			bias-pull-up;
483		};
484
485		perst-n-pins {
486			pins = "gpio143";
487			function = "gpio";
488			drive-strength = <2>;
489			bias-disable;
490		};
491
492		wake-n-pins {
493			pins = "gpio145";
494			function = "gpio";
495			drive-strength = <2>;
496			bias-pull-up;
497		};
498	};
499
500	pcie4_default: pcie4-default-state {
501		clkreq-n-pins {
502			pins = "gpio147";
503			function = "pcie4_clk";
504			drive-strength = <2>;
505			bias-pull-up;
506		};
507
508		perst-n-pins {
509			pins = "gpio146";
510			function = "gpio";
511			drive-strength = <2>;
512			bias-disable;
513		};
514
515		wake-n-pins {
516			pins = "gpio148";
517			function = "gpio";
518			drive-strength = <2>;
519			bias-pull-up;
520		};
521	};
522
523	pcie5_default: pcie5-default-state {
524		clkreq-n-pins {
525			pins = "gpio150";
526			function = "pcie5_clk";
527			drive-strength = <2>;
528			bias-pull-up;
529		};
530
531		perst-n-pins {
532			pins = "gpio149";
533			function = "gpio";
534			drive-strength = <2>;
535			bias-disable;
536		};
537
538		wake-n-pins {
539			pins = "gpio151";
540			function = "gpio";
541			drive-strength = <2>;
542			bias-pull-up;
543		};
544	};
545
546	pcie6a_default: pcie6a-default-state {
547		clkreq-n-pins {
548			pins = "gpio153";
549			function = "pcie6a_clk";
550			drive-strength = <2>;
551			bias-pull-up;
552		};
553
554		perst-n-pins {
555			pins = "gpio152";
556			function = "gpio";
557			drive-strength = <2>;
558			bias-disable;
559		};
560
561		wake-n-pins {
562			pins = "gpio154";
563			function = "gpio";
564			drive-strength = <2>;
565			bias-pull-up;
566
567		};
568	};
569};
570
571&usb_1_ss0 {
572	dr_mode = "otg";
573	usb-role-switch;
574
575	status = "okay";
576};
577
578&usb_1_ss0_hsphy {
579	vdd-supply = <&vreg_l3j_0p8>;
580	vdda12-supply = <&vreg_l2j_1p2>;
581
582	status = "okay";
583};
584
585&usb_1_ss0_qmpphy {
586	vdda-phy-supply = <&vreg_l2j_1p2>;
587	vdda-pll-supply = <&vreg_l1j_0p8>;
588
589	status = "okay";
590};
591
592&usb_1_ss1 {
593	dr_mode = "otg";
594	usb-role-switch;
595
596	status = "okay";
597};
598
599&usb_1_ss1_hsphy {
600	vdd-supply = <&vreg_l3j_0p8>;
601	vdda12-supply = <&vreg_l2j_1p2>;
602
603	status = "okay";
604};
605
606&usb_1_ss1_qmpphy {
607	vdda-phy-supply = <&vreg_l2j_1p2>;
608	vdda-pll-supply = <&vreg_l2d_0p9>;
609
610	status = "okay";
611};
612
613&usb_1_ss2 {
614	dr_mode = "otg";
615	usb-role-switch;
616
617	status = "okay";
618};
619
620&usb_1_ss2_hsphy {
621	vdd-supply = <&vreg_l3j_0p8>;
622	vdda12-supply = <&vreg_l2j_1p2>;
623
624	status = "okay";
625};
626
627&usb_1_ss2_qmpphy {
628	vdda-phy-supply = <&vreg_l2j_1p2>;
629	vdda-pll-supply = <&vreg_l2d_0p9>;
630
631	status = "okay";
632};
633
634&usb_2 {
635	dr_mode = "host";
636
637	status = "okay";
638};
639
640&usb_2_hsphy {
641	vdd-supply = <&vreg_l2e_0p8>;
642	vdda12-supply = <&vreg_l3e_1p2>;
643
644	status = "okay";
645};
646
647&usb_mp {
648	status = "okay";
649};
650
651&usb_mp_hsphy0 {
652	vdd-supply = <&vreg_l2e_0p8>;
653	vdda12-supply = <&vreg_l3e_1p2>;
654
655	status = "okay";
656};
657
658&usb_mp_hsphy1 {
659	vdd-supply = <&vreg_l2e_0p8>;
660	vdda12-supply = <&vreg_l3e_1p2>;
661
662	status = "okay";
663};
664
665&usb_mp_qmpphy0 {
666	vdda-phy-supply = <&vreg_l3e_1p2>;
667	vdda-pll-supply = <&vreg_l3c_0p8>;
668
669	status = "okay";
670};
671
672&usb_mp_qmpphy1 {
673	vdda-phy-supply = <&vreg_l3e_1p2>;
674	vdda-pll-supply = <&vreg_l3c_0p8>;
675
676	status = "okay";
677};
678