Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
4 * Copyright (c) 2024 Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/gpio-keys.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/leds/common.h>
13#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
14
15#include "x1e80100.dtsi"
16#include "x1e80100-pmics.dtsi"
17
18/ {
19 model = "Dell XPS 13 9345";
20 compatible = "dell,xps13-9345", "qcom,x1e80100";
21 chassis-type = "laptop";
22
23 aliases {
24 serial0 = &uart21;
25 serial1 = &uart14;
26 };
27
28 gpio-keys {
29 compatible = "gpio-keys";
30
31 pinctrl-0 = <&hall_int_n_default>;
32 pinctrl-names = "default";
33
34 switch-lid {
35 gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
36 linux,input-type = <EV_SW>;
37 linux,code = <SW_LID>;
38 wakeup-source;
39 wakeup-event-action = <EV_ACT_DEASSERTED>;
40 };
41 };
42
43 leds {
44 compatible = "gpio-leds";
45
46 pinctrl-names = "default";
47 pinctrl-0 = <&cam_indicator_en>;
48
49 led-camera-indicator {
50 label = "white:camera-indicator";
51 function = LED_FUNCTION_INDICATOR;
52 color = <LED_COLOR_ID_WHITE>;
53 gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
54 linux,default-trigger = "none";
55 default-state = "off";
56 /* Reuse as a panic indicator until we get a "camera on" trigger */
57 panic-indicator;
58 };
59 };
60
61 pmic-glink {
62 compatible = "qcom,x1e80100-pmic-glink",
63 "qcom,sm8550-pmic-glink",
64 "qcom,pmic-glink";
65 orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
66 <&tlmm 123 GPIO_ACTIVE_HIGH>;
67 #address-cells = <1>;
68 #size-cells = <0>;
69
70 /* Right-side USB Type-C port */
71 connector@0 {
72 compatible = "usb-c-connector";
73 reg = <0>;
74 power-role = "dual";
75 data-role = "dual";
76
77 ports {
78 #address-cells = <1>;
79 #size-cells = <0>;
80
81 port@0 {
82 reg = <0>;
83
84 pmic_glink_ss0_hs_in: endpoint {
85 remote-endpoint = <&usb_1_ss0_dwc3_hs>;
86 };
87 };
88
89 port@1 {
90 reg = <1>;
91
92 pmic_glink_ss0_ss_in: endpoint {
93 remote-endpoint = <&retimer_ss0_ss_out>;
94 };
95 };
96
97 port@2 {
98 reg = <2>;
99
100 pmic_glink_ss0_con_sbu_in: endpoint {
101 remote-endpoint = <&retimer_ss0_con_sbu_out>;
102 };
103 };
104 };
105 };
106
107 /* Left-side USB Type-C port */
108 connector@1 {
109 compatible = "usb-c-connector";
110 reg = <1>;
111 power-role = "dual";
112 data-role = "dual";
113
114 ports {
115 #address-cells = <1>;
116 #size-cells = <0>;
117
118 port@0 {
119 reg = <0>;
120
121 pmic_glink_ss1_hs_in: endpoint {
122 remote-endpoint = <&usb_1_ss1_dwc3_hs>;
123 };
124 };
125
126 port@1 {
127 reg = <1>;
128
129 pmic_glink_ss1_ss_in: endpoint {
130 remote-endpoint = <&retimer_ss1_ss_out>;
131 };
132 };
133
134 port@2 {
135 reg = <2>;
136
137 pmic_glink_ss1_con_sbu_in: endpoint {
138 remote-endpoint = <&retimer_ss1_con_sbu_out>;
139 };
140 };
141 };
142 };
143 };
144
145 reserved-memory {
146 linux,cma {
147 compatible = "shared-dma-pool";
148 size = <0x0 0x8000000>;
149 reusable;
150 linux,cma-default;
151 };
152 };
153
154 vreg_edp_3p3: regulator-edp-3p3 {
155 compatible = "regulator-fixed";
156
157 regulator-name = "VREG_EDP_3P3";
158 regulator-min-microvolt = <3300000>;
159 regulator-max-microvolt = <3300000>;
160
161 gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
162 enable-active-high;
163
164 pinctrl-0 = <&edp_reg_en>;
165 pinctrl-names = "default";
166
167 regulator-boot-on;
168 };
169
170 vreg_nvme: regulator-nvme {
171 compatible = "regulator-fixed";
172
173 regulator-name = "VREG_NVME_3P3";
174 regulator-min-microvolt = <3300000>;
175 regulator-max-microvolt = <3300000>;
176
177 gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
178 enable-active-high;
179
180 pinctrl-0 = <&nvme_reg_en>;
181 pinctrl-names = "default";
182
183 regulator-boot-on;
184 };
185
186 vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
187 compatible = "regulator-fixed";
188
189 regulator-name = "VREG_RTMR0_1P15";
190 regulator-min-microvolt = <1150000>;
191 regulator-max-microvolt = <1150000>;
192
193 gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
194 enable-active-high;
195
196 pinctrl-0 = <&rtmr0_1p15_reg_en>;
197 pinctrl-names = "default";
198
199 regulator-boot-on;
200 };
201
202 vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
203 compatible = "regulator-fixed";
204
205 regulator-name = "VREG_RTMR0_1P8";
206 regulator-min-microvolt = <1800000>;
207 regulator-max-microvolt = <1800000>;
208
209 gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
210 enable-active-high;
211
212 pinctrl-0 = <&rtmr0_1p8_reg_en>;
213 pinctrl-names = "default";
214
215 regulator-boot-on;
216 };
217
218 vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
219 compatible = "regulator-fixed";
220
221 regulator-name = "VREG_RTMR0_3P3";
222 regulator-min-microvolt = <3300000>;
223 regulator-max-microvolt = <3300000>;
224
225 gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
226 enable-active-high;
227
228 pinctrl-0 = <&rtmr0_3p3_reg_en>;
229 pinctrl-names = "default";
230
231 regulator-boot-on;
232 };
233
234 vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
235 compatible = "regulator-fixed";
236
237 regulator-name = "VREG_RTMR1_1P15";
238 regulator-min-microvolt = <1150000>;
239 regulator-max-microvolt = <1150000>;
240
241 gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
242 enable-active-high;
243
244 pinctrl-0 = <&rtmr1_1p15_reg_en>;
245 pinctrl-names = "default";
246
247 regulator-boot-on;
248 };
249
250 vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
251 compatible = "regulator-fixed";
252
253 regulator-name = "VREG_RTMR1_1P8";
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
256
257 gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
258 enable-active-high;
259
260 pinctrl-0 = <&rtmr1_1p8_reg_en>;
261 pinctrl-names = "default";
262
263 regulator-boot-on;
264 };
265
266 vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
267 compatible = "regulator-fixed";
268
269 regulator-name = "VREG_RTMR1_3P3";
270 regulator-min-microvolt = <3300000>;
271 regulator-max-microvolt = <3300000>;
272
273 gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
274 enable-active-high;
275
276 pinctrl-0 = <&rtmr1_3p3_reg_en>;
277 pinctrl-names = "default";
278
279 regulator-boot-on;
280 };
281
282 vreg_vph_pwr: regulator-vph-pwr {
283 compatible = "regulator-fixed";
284
285 regulator-name = "vph_pwr";
286 regulator-min-microvolt = <3700000>;
287 regulator-max-microvolt = <3700000>;
288
289 regulator-always-on;
290 regulator-boot-on;
291 };
292
293 vreg_wcn_0p95: regulator-wcn-0p95 {
294 compatible = "regulator-fixed";
295
296 regulator-name = "VREG_WCN_0P95";
297 regulator-min-microvolt = <950000>;
298 regulator-max-microvolt = <950000>;
299
300 vin-supply = <&vreg_wcn_3p3>;
301 };
302
303 vreg_wcn_1p9: regulator-wcn-1p9 {
304 compatible = "regulator-fixed";
305
306 regulator-name = "VREG_WCN_1P9";
307 regulator-min-microvolt = <1900000>;
308 regulator-max-microvolt = <1900000>;
309
310 vin-supply = <&vreg_wcn_3p3>;
311 };
312
313 vreg_wcn_3p3: regulator-wcn-3p3 {
314 compatible = "regulator-fixed";
315
316 regulator-name = "VREG_WCN_3P3";
317 regulator-min-microvolt = <3300000>;
318 regulator-max-microvolt = <3300000>;
319
320 gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
321 enable-active-high;
322
323 pinctrl-0 = <&wcn_sw_en>;
324 pinctrl-names = "default";
325
326 regulator-boot-on;
327 };
328
329 wcn7850-pmu {
330 compatible = "qcom,wcn7850-pmu";
331
332 vdd-supply = <&vreg_wcn_0p95>;
333 vddio-supply = <&vreg_l15b_1p8>;
334 vddaon-supply = <&vreg_wcn_0p95>;
335 vdddig-supply = <&vreg_wcn_0p95>;
336 vddrfa1p2-supply = <&vreg_wcn_1p9>;
337 vddrfa1p8-supply = <&vreg_wcn_1p9>;
338
339 wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
340 bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
341
342 pinctrl-0 = <&wcn_wlan_bt_en>;
343 pinctrl-names = "default";
344
345 regulators {
346 vreg_pmu_rfa_cmn: ldo0 {
347 regulator-name = "vreg_pmu_rfa_cmn";
348 };
349
350 vreg_pmu_aon_0p59: ldo1 {
351 regulator-name = "vreg_pmu_aon_0p59";
352 };
353
354 vreg_pmu_wlcx_0p8: ldo2 {
355 regulator-name = "vreg_pmu_wlcx_0p8";
356 };
357
358 vreg_pmu_wlmx_0p85: ldo3 {
359 regulator-name = "vreg_pmu_wlmx_0p85";
360 };
361
362 vreg_pmu_btcmx_0p85: ldo4 {
363 regulator-name = "vreg_pmu_btcmx_0p85";
364 };
365
366 vreg_pmu_rfa_0p8: ldo5 {
367 regulator-name = "vreg_pmu_rfa_0p8";
368 };
369
370 vreg_pmu_rfa_1p2: ldo6 {
371 regulator-name = "vreg_pmu_rfa_1p2";
372 };
373
374 vreg_pmu_rfa_1p8: ldo7 {
375 regulator-name = "vreg_pmu_rfa_1p8";
376 };
377
378 vreg_pmu_pcie_0p9: ldo8 {
379 regulator-name = "vreg_pmu_pcie_0p9";
380 };
381
382 vreg_pmu_pcie_1p8: ldo9 {
383 regulator-name = "vreg_pmu_pcie_1p8";
384 };
385 };
386 };
387};
388
389&apps_rsc {
390 regulators-0 {
391 compatible = "qcom,pm8550-rpmh-regulators";
392 qcom,pmic-id = "b";
393 vdd-bob1-supply = <&vreg_vph_pwr>;
394 vdd-bob2-supply = <&vreg_vph_pwr>;
395 vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
396 vdd-l2-l13-l14-supply = <&vreg_bob1>;
397 vdd-l5-l16-supply = <&vreg_bob1>;
398 vdd-l6-l7-supply = <&vreg_bob2>;
399 vdd-l8-l9-supply = <&vreg_bob1>;
400 vdd-l12-supply = <&vreg_s5j_1p2>;
401 vdd-l15-supply = <&vreg_s4c_1p8>;
402 vdd-l17-supply = <&vreg_bob2>;
403
404 vreg_bob1: bob1 {
405 regulator-name = "vreg_bob1";
406 regulator-min-microvolt = <3008000>;
407 regulator-max-microvolt = <3960000>;
408 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409 };
410
411 vreg_bob2: bob2 {
412 regulator-name = "vreg_bob2";
413 regulator-min-microvolt = <2504000>;
414 regulator-max-microvolt = <3008000>;
415 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416 };
417
418 vreg_l2b_3p0: ldo2 {
419 regulator-name = "vreg_l2b_3p0";
420 regulator-min-microvolt = <3072000>;
421 regulator-max-microvolt = <3072000>;
422 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423 };
424
425 vreg_l4b_1p8: ldo4 {
426 regulator-name = "vreg_l4b_1p8";
427 regulator-min-microvolt = <1800000>;
428 regulator-max-microvolt = <1800000>;
429 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430 };
431
432 vreg_l6b_1p8: ldo6 {
433 regulator-name = "vreg_l6b_1p8";
434 regulator-min-microvolt = <1800000>;
435 regulator-max-microvolt = <2960000>;
436 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437 };
438
439 vreg_l8b_3p0: ldo8 {
440 regulator-name = "vreg_l8b_3p0";
441 regulator-min-microvolt = <3072000>;
442 regulator-max-microvolt = <3072000>;
443 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444 };
445
446 vreg_l9b_2p9: ldo9 {
447 regulator-name = "vreg_l9b_2p9";
448 regulator-min-microvolt = <2960000>;
449 regulator-max-microvolt = <2960000>;
450 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451 };
452
453 vreg_l12b_1p2: ldo12 {
454 regulator-name = "vreg_l12b_1p2";
455 regulator-min-microvolt = <1200000>;
456 regulator-max-microvolt = <1200000>;
457 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458 regulator-always-on;
459 };
460
461 vreg_l13b_3p0: ldo13 {
462 regulator-name = "vreg_l13b_3p0";
463 regulator-min-microvolt = <3072000>;
464 regulator-max-microvolt = <3072000>;
465 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
466 };
467
468 vreg_l14b_3p0: ldo14 {
469 regulator-name = "vreg_l14b_3p0";
470 regulator-min-microvolt = <3072000>;
471 regulator-max-microvolt = <3072000>;
472 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
473 };
474
475 vreg_l15b_1p8: ldo15 {
476 regulator-name = "vreg_l15b_1p8";
477 regulator-min-microvolt = <1800000>;
478 regulator-max-microvolt = <1800000>;
479 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
480 regulator-always-on;
481 };
482
483 vreg_l17b_2p5: ldo17 {
484 regulator-name = "vreg_l17b_2p5";
485 regulator-min-microvolt = <2504000>;
486 regulator-max-microvolt = <2504000>;
487 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
488 };
489 };
490
491 regulators-1 {
492 compatible = "qcom,pm8550ve-rpmh-regulators";
493 qcom,pmic-id = "c";
494 vdd-l1-supply = <&vreg_s5j_1p2>;
495 vdd-l2-supply = <&vreg_s1f_0p7>;
496 vdd-l3-supply = <&vreg_s1f_0p7>;
497
498 vreg_s4c_1p8: smps4 {
499 regulator-name = "vreg_s4c_1p8";
500 regulator-min-microvolt = <1856000>;
501 regulator-max-microvolt = <2000000>;
502 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
503 };
504
505 vreg_l1c_1p2: ldo1 {
506 regulator-name = "vreg_l1c_1p2";
507 regulator-min-microvolt = <1200000>;
508 regulator-max-microvolt = <1200000>;
509 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
510 };
511
512 vreg_l2c_0p8: ldo2 {
513 regulator-name = "vreg_l2c_0p8";
514 regulator-min-microvolt = <880000>;
515 regulator-max-microvolt = <880000>;
516 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
517 };
518
519 vreg_l3c_0p9: ldo3 {
520 regulator-name = "vreg_l3c_0p9";
521 regulator-min-microvolt = <920000>;
522 regulator-max-microvolt = <920000>;
523 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
524 };
525 };
526
527 regulators-2 {
528 compatible = "qcom,pmc8380-rpmh-regulators";
529 qcom,pmic-id = "d";
530 vdd-l1-supply = <&vreg_s1f_0p7>;
531 vdd-l2-supply = <&vreg_s1f_0p7>;
532 vdd-l3-supply = <&vreg_s4c_1p8>;
533 vdd-s1-supply = <&vreg_vph_pwr>;
534
535 vreg_l1d_0p8: ldo1 {
536 regulator-name = "vreg_l1d_0p8";
537 regulator-min-microvolt = <880000>;
538 regulator-max-microvolt = <880000>;
539 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
540 };
541
542 vreg_l2d_0p9: ldo2 {
543 regulator-name = "vreg_l2d_0p9";
544 regulator-min-microvolt = <912000>;
545 regulator-max-microvolt = <912000>;
546 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
547 };
548
549 vreg_l3d_1p8: ldo3 {
550 regulator-name = "vreg_l3d_1p8";
551 regulator-min-microvolt = <1800000>;
552 regulator-max-microvolt = <1800000>;
553 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
554 };
555 };
556
557 regulators-3 {
558 compatible = "qcom,pmc8380-rpmh-regulators";
559 qcom,pmic-id = "e";
560 vdd-l2-supply = <&vreg_s1f_0p7>;
561 vdd-l3-supply = <&vreg_s5j_1p2>;
562
563 vreg_l2e_0p8: ldo2 {
564 regulator-name = "vreg_l2e_0p8";
565 regulator-min-microvolt = <880000>;
566 regulator-max-microvolt = <880000>;
567 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
568 };
569
570 vreg_l3e_1p2: ldo3 {
571 regulator-name = "vreg_l3e_1p2";
572 regulator-min-microvolt = <1200000>;
573 regulator-max-microvolt = <1200000>;
574 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
575 };
576 };
577
578 regulators-4 {
579 compatible = "qcom,pmc8380-rpmh-regulators";
580 qcom,pmic-id = "f";
581 vdd-l1-supply = <&vreg_s5j_1p2>;
582 vdd-l2-supply = <&vreg_s5j_1p2>;
583 vdd-l3-supply = <&vreg_s5j_1p2>;
584 vdd-s1-supply = <&vreg_vph_pwr>;
585
586 vreg_s1f_0p7: smps1 {
587 regulator-name = "vreg_s1f_0p7";
588 regulator-min-microvolt = <700000>;
589 regulator-max-microvolt = <1100000>;
590 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
591 };
592 };
593
594 regulators-6 {
595 compatible = "qcom,pm8550ve-rpmh-regulators";
596 qcom,pmic-id = "i";
597 vdd-l1-supply = <&vreg_s4c_1p8>;
598 vdd-l2-supply = <&vreg_s5j_1p2>;
599 vdd-l3-supply = <&vreg_s1f_0p7>;
600 vdd-s1-supply = <&vreg_vph_pwr>;
601 vdd-s2-supply = <&vreg_vph_pwr>;
602
603 vreg_s1i_0p9: smps1 {
604 regulator-name = "vreg_s1i_0p9";
605 regulator-min-microvolt = <900000>;
606 regulator-max-microvolt = <920000>;
607 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
608 };
609
610 vreg_s2i_1p0: smps2 {
611 regulator-name = "vreg_s2i_1p0";
612 regulator-min-microvolt = <1000000>;
613 regulator-max-microvolt = <1100000>;
614 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
615 };
616
617 vreg_l1i_1p8: ldo1 {
618 regulator-name = "vreg_l1i_1p8";
619 regulator-min-microvolt = <1800000>;
620 regulator-max-microvolt = <1800000>;
621 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
622 };
623
624 vreg_l2i_1p2: ldo2 {
625 regulator-name = "vreg_l2i_1p2";
626 regulator-min-microvolt = <1200000>;
627 regulator-max-microvolt = <1200000>;
628 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
629 };
630
631 vreg_l3i_0p8: ldo3 {
632 regulator-name = "vreg_l3i_0p8";
633 regulator-min-microvolt = <880000>;
634 regulator-max-microvolt = <880000>;
635 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
636 };
637 };
638
639 regulators-7 {
640 compatible = "qcom,pm8550ve-rpmh-regulators";
641 qcom,pmic-id = "j";
642 vdd-l1-supply = <&vreg_s1f_0p7>;
643 vdd-l2-supply = <&vreg_s5j_1p2>;
644 vdd-l3-supply = <&vreg_s1f_0p7>;
645 vdd-s5-supply = <&vreg_vph_pwr>;
646
647 vreg_s5j_1p2: smps5 {
648 regulator-name = "vreg_s5j_1p2";
649 regulator-min-microvolt = <1256000>;
650 regulator-max-microvolt = <1304000>;
651 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
652 };
653
654 vreg_l1j_0p9: ldo1 {
655 regulator-name = "vreg_l1j_0p9";
656 regulator-min-microvolt = <912000>;
657 regulator-max-microvolt = <912000>;
658 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
659 };
660
661 vreg_l2j_1p2: ldo2 {
662 regulator-name = "vreg_l2j_1p2";
663 regulator-min-microvolt = <1256000>;
664 regulator-max-microvolt = <1256000>;
665 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
666 };
667
668 vreg_l3j_0p8: ldo3 {
669 regulator-name = "vreg_l3j_0p8";
670 regulator-min-microvolt = <880000>;
671 regulator-max-microvolt = <880000>;
672 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
673 };
674 };
675};
676
677&gpu {
678 status = "okay";
679
680 zap-shader {
681 firmware-name = "qcom/x1e80100/dell/xps13-9345/qcdxkmsuc8380.mbn";
682 };
683};
684
685&i2c0 {
686 clock-frequency = <400000>;
687 status = "okay";
688
689 keyboard@5 {
690 compatible = "hid-over-i2c";
691 reg = <0x5>;
692
693 hid-descr-addr = <0x20>;
694 interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
695
696 pinctrl-0 = <&kybd_default>;
697 pinctrl-names = "default";
698
699 wakeup-source;
700 };
701};
702
703&i2c3 {
704 clock-frequency = <400000>;
705 status = "okay";
706
707 /* Right-side USB Type-C port */
708 typec-mux@8 {
709 compatible = "parade,ps8830";
710 reg = <0x08>;
711
712 clocks = <&rpmhcc RPMH_RF_CLK3>;
713
714 vdd-supply = <&vreg_rtmr0_1p15>;
715 vdd33-supply = <&vreg_rtmr0_3p3>;
716 vdd33-cap-supply = <&vreg_rtmr0_3p3>;
717 vddar-supply = <&vreg_rtmr0_1p15>;
718 vddat-supply = <&vreg_rtmr0_1p15>;
719 vddio-supply = <&vreg_rtmr0_1p8>;
720
721 reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
722
723 pinctrl-0 = <&rtmr0_default>;
724 pinctrl-names = "default";
725
726 retimer-switch;
727 orientation-switch;
728
729 ports {
730 #address-cells = <1>;
731 #size-cells = <0>;
732
733 port@0 {
734 reg = <0>;
735
736 retimer_ss0_ss_out: endpoint {
737 remote-endpoint = <&pmic_glink_ss0_ss_in>;
738 };
739 };
740
741 port@1 {
742 reg = <1>;
743
744 retimer_ss0_ss_in: endpoint {
745 remote-endpoint = <&usb_1_ss0_qmpphy_out>;
746 };
747 };
748
749 port@2 {
750 reg = <2>;
751
752 retimer_ss0_con_sbu_out: endpoint {
753 remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
754 };
755 };
756 };
757 };
758};
759
760&i2c5 {
761 clock-frequency = <100000>;
762 status = "disabled";
763 /* EC @0x3b */
764};
765
766&i2c7 {
767 clock-frequency = <400000>;
768 status = "okay";
769
770 /* Left-side USB Type-C port */
771 typec-mux@8 {
772 compatible = "parade,ps8830";
773 reg = <0x8>;
774
775 clocks = <&rpmhcc RPMH_RF_CLK4>;
776
777 vdd-supply = <&vreg_rtmr1_1p15>;
778 vdd33-supply = <&vreg_rtmr1_3p3>;
779 vdd33-cap-supply = <&vreg_rtmr1_3p3>;
780 vddar-supply = <&vreg_rtmr1_1p15>;
781 vddat-supply = <&vreg_rtmr1_1p15>;
782 vddio-supply = <&vreg_rtmr1_1p8>;
783
784 reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
785
786 pinctrl-0 = <&rtmr1_default>;
787 pinctrl-names = "default";
788
789 retimer-switch;
790 orientation-switch;
791
792 ports {
793 #address-cells = <1>;
794 #size-cells = <0>;
795
796 port@0 {
797 reg = <0>;
798
799 retimer_ss1_ss_out: endpoint {
800 remote-endpoint = <&pmic_glink_ss1_ss_in>;
801 };
802 };
803
804 port@1 {
805 reg = <1>;
806
807 retimer_ss1_ss_in: endpoint {
808 remote-endpoint = <&usb_1_ss1_qmpphy_out>;
809 };
810 };
811
812 port@2 {
813 reg = <2>;
814
815 retimer_ss1_con_sbu_out: endpoint {
816 remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
817 };
818 };
819
820 };
821 };
822};
823
824&i2c8 {
825 clock-frequency = <400000>;
826
827 status = "okay";
828
829 touchscreen@10 {
830 compatible = "hid-over-i2c";
831 reg = <0x10>;
832
833 hid-descr-addr = <0x1>;
834 interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
835
836 pinctrl-0 = <&ts0_default>;
837 pinctrl-names = "default";
838 };
839};
840
841&i2c9 {
842 clock-frequency = <400000>;
843 status = "okay";
844
845 eusb6_repeater: redriver@4f {
846 compatible = "nxp,ptn3222";
847 reg = <0x4f>;
848 #phy-cells = <0>;
849
850 vdd3v3-supply = <&vreg_l13b_3p0>;
851 vdd1v8-supply = <&vreg_l4b_1p8>;
852
853 reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
854
855 pinctrl-0 = <&eusb6_reset_n>;
856 pinctrl-names = "default";
857 };
858};
859
860&i2c17 {
861 clock-frequency = <400000>;
862 status = "okay";
863
864 touchpad@2c {
865 compatible = "hid-over-i2c";
866 reg = <0x2c>;
867
868 hid-descr-addr = <0x20>;
869 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
870
871 pinctrl-0 = <&tpad_default>;
872 pinctrl-names = "default";
873
874 wakeup-source;
875 };
876};
877
878&iris {
879 firmware-name = "qcom/x1e80100/dell/xps13-9345/qcvss8380.mbn";
880 status = "okay";
881};
882
883&mdss {
884 status = "okay";
885};
886
887&mdss_dp0 {
888 status = "okay";
889};
890
891&mdss_dp0_out {
892 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
893};
894
895&mdss_dp1 {
896 status = "okay";
897};
898
899&mdss_dp1_out {
900 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
901};
902
903&mdss_dp3 {
904 /delete-property/ #sound-dai-cells;
905
906 pinctrl-0 = <&edp0_hpd_default>;
907 pinctrl-names = "default";
908
909 status = "okay";
910
911 aux-bus {
912 panel {
913 compatible = "edp-panel";
914 enable-gpios = <&tlmm 74 GPIO_ACTIVE_HIGH>;
915 power-supply = <&vreg_edp_3p3>;
916
917 pinctrl-0 = <&edp_bl_en>;
918 pinctrl-names = "default";
919
920 port {
921 edp_panel_in: endpoint {
922 remote-endpoint = <&mdss_dp3_out>;
923 };
924 };
925 };
926 };
927};
928
929&mdss_dp3_out {
930 data-lanes = <0 1 2 3>;
931 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
932
933 remote-endpoint = <&edp_panel_in>;
934};
935
936&mdss_dp3_phy {
937 vdda-phy-supply = <&vreg_l3j_0p8>;
938 vdda-pll-supply = <&vreg_l2j_1p2>;
939
940 status = "okay";
941};
942
943&pcie4 {
944 perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
945 wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
946
947 pinctrl-0 = <&pcie4_default>;
948 pinctrl-names = "default";
949
950 status = "okay";
951};
952
953&pcie4_phy {
954 vdda-phy-supply = <&vreg_l3i_0p8>;
955 vdda-pll-supply = <&vreg_l3e_1p2>;
956
957 status = "okay";
958};
959
960&pcie4_port0 {
961 wifi@0 {
962 compatible = "pci17cb,1107";
963 reg = <0x10000 0x0 0x0 0x0 0x0>;
964
965 vddaon-supply = <&vreg_pmu_aon_0p59>;
966 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
967 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
968 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
969 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
970 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
971 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
972 vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
973 vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
974 };
975};
976
977&pcie6a {
978 perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
979 wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
980
981 vddpe-3v3-supply = <&vreg_nvme>;
982
983 pinctrl-0 = <&pcie6a_default>;
984 pinctrl-names = "default";
985
986 status = "okay";
987};
988
989&pcie6a_phy {
990 vdda-phy-supply = <&vreg_l1d_0p8>;
991 vdda-pll-supply = <&vreg_l2j_1p2>;
992
993 status = "okay";
994};
995
996&pm8550_gpios {
997 rtmr0_default: rtmr0-reset-n-active-state {
998 pins = "gpio10";
999 function = "normal";
1000 power-source = <1>; /* 1.8V */
1001 };
1002
1003 rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state {
1004 pins = "gpio11";
1005 function = "normal";
1006 power-source = <1>; /* 1.8V */
1007 };
1008};
1009
1010&pmc8380_5_gpios {
1011 rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state {
1012 pins = "gpio8";
1013 function = "normal";
1014 power-source = <1>; /* 1.8V */
1015 };
1016};
1017
1018&pm8550ve_9_gpios {
1019 rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
1020 pins = "gpio8";
1021 function = "normal";
1022 power-source = <1>; /* 1.8V */
1023 };
1024};
1025
1026&qupv3_0 {
1027 status = "okay";
1028};
1029
1030&qupv3_1 {
1031 status = "okay";
1032};
1033
1034&qupv3_2 {
1035 status = "okay";
1036};
1037
1038&remoteproc_adsp {
1039 firmware-name = "qcom/x1e80100/dell/xps13-9345/qcadsp8380.mbn",
1040 "qcom/x1e80100/dell/xps13-9345/adsp_dtbs.elf";
1041
1042 status = "okay";
1043};
1044
1045&remoteproc_cdsp {
1046 firmware-name = "qcom/x1e80100/dell/xps13-9345/qccdsp8380.mbn",
1047 "qcom/x1e80100/dell/xps13-9345/cdsp_dtbs.elf";
1048
1049 status = "okay";
1050};
1051
1052&smb2360_0 {
1053 status = "okay";
1054};
1055
1056&smb2360_0_eusb2_repeater {
1057 vdd18-supply = <&vreg_l3d_1p8>;
1058 vdd3-supply = <&vreg_l2b_3p0>;
1059};
1060
1061&smb2360_1 {
1062 status = "okay";
1063};
1064
1065&smb2360_1_eusb2_repeater {
1066 vdd18-supply = <&vreg_l3d_1p8>;
1067 vdd3-supply = <&vreg_l14b_3p0>;
1068};
1069
1070&tlmm {
1071 gpio-reserved-ranges = <44 4>, /* SPI11 (TPM) */
1072 <76 4>, /* SPI19 (TZ Protected) */
1073 <238 1>; /* UFS Reset */
1074
1075 cam_indicator_en: cam-indicator-en-state {
1076 pins = "gpio110";
1077 function = "gpio";
1078 drive-strength = <2>;
1079 bias-disable;
1080 };
1081
1082 edp_bl_en: edp-bl-en-state {
1083 pins = "gpio74";
1084 function = "gpio";
1085 drive-strength = <2>;
1086 bias-disable;
1087 };
1088
1089 edp_reg_en: edp-reg-en-state {
1090 pins = "gpio70";
1091 function = "gpio";
1092 drive-strength = <16>;
1093 bias-disable;
1094 };
1095
1096 eusb6_reset_n: eusb6-reset-n-state {
1097 pins = "gpio184";
1098 function = "gpio";
1099 drive-strength = <2>;
1100 bias-disable;
1101 output-low;
1102 };
1103
1104 hall_int_n_default: hall-int-n-state {
1105 pins = "gpio92";
1106 function = "gpio";
1107
1108 bias-disable;
1109 };
1110
1111 kybd_default: kybd-default-state {
1112 pins = "gpio67";
1113 function = "gpio";
1114 bias-pull-up;
1115 };
1116
1117 nvme_reg_en: nvme-reg-en-state {
1118 pins = "gpio18";
1119 function = "gpio";
1120 drive-strength = <2>;
1121 bias-disable;
1122 };
1123
1124 pcie4_default: pcie4-default-state {
1125 clkreq-n-pins {
1126 pins = "gpio147";
1127 function = "pcie4_clk";
1128 drive-strength = <2>;
1129 bias-pull-up;
1130 };
1131
1132 perst-n-pins {
1133 pins = "gpio146";
1134 function = "gpio";
1135 drive-strength = <2>;
1136 bias-disable;
1137 };
1138
1139 wake-n-pins {
1140 pins = "gpio148";
1141 function = "gpio";
1142 drive-strength = <2>;
1143 bias-pull-up;
1144 };
1145 };
1146
1147 pcie6a_default: pcie6a-default-state {
1148 clkreq-n-pins {
1149 pins = "gpio153";
1150 function = "pcie6a_clk";
1151 drive-strength = <2>;
1152 bias-pull-up;
1153 };
1154
1155 perst-n-pins {
1156 pins = "gpio152";
1157 function = "gpio";
1158 drive-strength = <2>;
1159 bias-disable;
1160 };
1161
1162 wake-n-pins {
1163 pins = "gpio154";
1164 function = "gpio";
1165 drive-strength = <2>;
1166 bias-pull-up;
1167 };
1168 };
1169
1170 rtmr1_1p15_reg_en: rtmr1-1p15-reg-en-state {
1171 pins = "gpio188";
1172 function = "gpio";
1173 drive-strength = <2>;
1174 bias-disable;
1175 };
1176
1177 rtmr1_1p8_reg_en: rtmr1-1p8-reg-en-state {
1178 pins = "gpio175";
1179 function = "gpio";
1180 drive-strength = <2>;
1181 bias-disable;
1182 };
1183
1184 rtmr1_3p3_reg_en: rtmr1-3p3-reg-en-state {
1185 pins = "gpio186";
1186 function = "gpio";
1187 drive-strength = <2>;
1188 bias-disable;
1189 };
1190
1191 rtmr1_default: rtmr1-reset-n-active-state {
1192 pins = "gpio176";
1193 function = "gpio";
1194 drive-strength = <2>;
1195 bias-disable;
1196 };
1197
1198 tpad_default: tpad-default-state {
1199 disable-pins {
1200 pins = "gpio38";
1201 function = "gpio";
1202 output-high;
1203 };
1204
1205 int-n-pins {
1206 pins = "gpio3";
1207 function = "gpio";
1208 bias-pull-up;
1209 };
1210
1211 reset-n-pins {
1212 pins = "gpio52";
1213 function = "gpio";
1214 bias-disable;
1215 };
1216 };
1217
1218 ts0_default: ts0-default-state {
1219 disable-pins {
1220 pins = "gpio75";
1221 function = "gpio";
1222 output-high;
1223 };
1224
1225 int-n-pins {
1226 pins = "gpio51";
1227 function = "gpio";
1228 bias-pull-up;
1229 };
1230
1231 reset-n-pins {
1232 /* Technically should be High-Z input */
1233 pins = "gpio48";
1234 function = "gpio";
1235 output-low;
1236 drive-strength = <2>;
1237 };
1238 };
1239
1240 wcn_sw_en: wcn-sw-en-state {
1241 pins = "gpio214";
1242 function = "gpio";
1243 drive-strength = <2>;
1244 bias-disable;
1245 };
1246
1247 wcn_wlan_bt_en: wcn-wlan-bt-en-state {
1248 pins = "gpio116", "gpio117";
1249 function = "gpio";
1250 drive-strength = <2>;
1251 bias-disable;
1252 };
1253};
1254
1255&uart14 {
1256 status = "okay";
1257
1258 bluetooth {
1259 compatible = "qcom,wcn7850-bt";
1260 max-speed = <3200000>;
1261
1262 vddaon-supply = <&vreg_pmu_aon_0p59>;
1263 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1264 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
1265 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
1266 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1267 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1268 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
1269 };
1270};
1271
1272&uart21 {
1273 compatible = "qcom,geni-debug-uart";
1274 status = "okay";
1275};
1276
1277&usb_1_ss0_hsphy {
1278 vdd-supply = <&vreg_l3j_0p8>;
1279 vdda12-supply = <&vreg_l2j_1p2>;
1280
1281 phys = <&smb2360_0_eusb2_repeater>;
1282
1283 status = "okay";
1284};
1285
1286&usb_1_ss0_qmpphy {
1287 vdda-phy-supply = <&vreg_l2j_1p2>;
1288 vdda-pll-supply = <&vreg_l1j_0p9>;
1289
1290 status = "okay";
1291};
1292
1293&usb_1_ss0 {
1294 status = "okay";
1295};
1296
1297&usb_1_ss0_dwc3 {
1298 dr_mode = "host";
1299};
1300
1301&usb_1_ss0_dwc3_hs {
1302 remote-endpoint = <&pmic_glink_ss0_hs_in>;
1303};
1304
1305&usb_1_ss0_qmpphy_out {
1306 remote-endpoint = <&retimer_ss0_ss_in>;
1307};
1308
1309&usb_1_ss1_hsphy {
1310 vdd-supply = <&vreg_l3j_0p8>;
1311 vdda12-supply = <&vreg_l2j_1p2>;
1312
1313 phys = <&smb2360_1_eusb2_repeater>;
1314
1315 status = "okay";
1316};
1317
1318&usb_1_ss1_qmpphy {
1319 vdda-phy-supply = <&vreg_l2j_1p2>;
1320 vdda-pll-supply = <&vreg_l2d_0p9>;
1321
1322 status = "okay";
1323};
1324
1325&usb_1_ss1 {
1326 status = "okay";
1327};
1328
1329&usb_1_ss1_dwc3 {
1330 dr_mode = "host";
1331};
1332
1333&usb_1_ss1_dwc3_hs {
1334 remote-endpoint = <&pmic_glink_ss1_hs_in>;
1335};
1336
1337&usb_1_ss1_qmpphy_out {
1338 remote-endpoint = <&retimer_ss1_ss_in>;
1339};
1340
1341&usb_mp {
1342 status = "okay";
1343};
1344
1345&usb_mp_hsphy0 {
1346 vdd-supply = <&vreg_l2e_0p8>;
1347 vdda12-supply = <&vreg_l3e_1p2>;
1348
1349 status = "okay";
1350};
1351
1352&usb_mp_hsphy1 {
1353 vdd-supply = <&vreg_l2e_0p8>;
1354 vdda12-supply = <&vreg_l3e_1p2>;
1355
1356 phys = <&eusb6_repeater>;
1357
1358 status = "okay";
1359};
1360
1361&usb_mp_qmpphy0 {
1362 vdda-phy-supply = <&vreg_l3e_1p2>;
1363 vdda-pll-supply = <&vreg_l3c_0p9>;
1364
1365 status = "okay";
1366};
1367
1368&usb_mp_qmpphy1 {
1369 vdda-phy-supply = <&vreg_l3e_1p2>;
1370 vdda-pll-supply = <&vreg_l3c_0p9>;
1371
1372 status = "okay";
1373};