Linux 6.9-rc6
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / qcom / x1e80100-qcp.dts
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 };