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