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/input/gpio-keys.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
12#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13
14#include "x1e80100.dtsi"
15#include "x1e80100-pmics.dtsi"
16
17/ {
18	model = "Qualcomm Technologies, Inc. X1E80100 CRD";
19	compatible = "qcom,x1e80100-crd", "qcom,x1e80100";
20
21	aliases {
22		serial0 = &uart21;
23	};
24
25	wcd938x: audio-codec {
26		compatible = "qcom,wcd9385-codec";
27
28		pinctrl-names = "default";
29		pinctrl-0 = <&wcd_default>;
30
31		qcom,micbias1-microvolt = <1800000>;
32		qcom,micbias2-microvolt = <1800000>;
33		qcom,micbias3-microvolt = <1800000>;
34		qcom,micbias4-microvolt = <1800000>;
35		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
36		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
37		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
38		qcom,rx-device = <&wcd_rx>;
39		qcom,tx-device = <&wcd_tx>;
40
41		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
42
43		vdd-buck-supply = <&vreg_l15b_1p8>;
44		vdd-rxtx-supply = <&vreg_l15b_1p8>;
45		vdd-io-supply = <&vreg_l15b_1p8>;
46		vdd-mic-bias-supply = <&vreg_bob1>;
47
48		#sound-dai-cells = <1>;
49	};
50
51	chosen {
52		stdout-path = "serial0:115200n8";
53	};
54
55	gpio-keys {
56		compatible = "gpio-keys";
57
58		pinctrl-0 = <&hall_int_n_default>;
59		pinctrl-names = "default";
60
61		switch-lid {
62			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
63			linux,input-type = <EV_SW>;
64			linux,code = <SW_LID>;
65			wakeup-source;
66			wakeup-event-action = <EV_ACT_DEASSERTED>;
67		};
68	};
69
70	pmic-glink {
71		compatible = "qcom,x1e80100-pmic-glink",
72			     "qcom,sm8550-pmic-glink",
73			     "qcom,pmic-glink";
74		#address-cells = <1>;
75		#size-cells = <0>;
76		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
77				    <&tlmm 123 GPIO_ACTIVE_HIGH>,
78				    <&tlmm 125 GPIO_ACTIVE_HIGH>;
79
80		/* Left-side rear port */
81		connector@0 {
82			compatible = "usb-c-connector";
83			reg = <0>;
84			power-role = "dual";
85			data-role = "dual";
86
87			ports {
88				#address-cells = <1>;
89				#size-cells = <0>;
90
91				port@0 {
92					reg = <0>;
93
94					pmic_glink_ss0_hs_in: endpoint {
95						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
96					};
97				};
98
99				port@1 {
100					reg = <1>;
101
102					pmic_glink_ss0_ss_in: endpoint {
103						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
104					};
105				};
106			};
107		};
108
109		/* Left-side front port */
110		connector@1 {
111			compatible = "usb-c-connector";
112			reg = <1>;
113			power-role = "dual";
114			data-role = "dual";
115
116			ports {
117				#address-cells = <1>;
118				#size-cells = <0>;
119
120				port@0 {
121					reg = <0>;
122
123					pmic_glink_ss1_hs_in: endpoint {
124						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
125					};
126				};
127
128				port@1 {
129					reg = <1>;
130
131					pmic_glink_ss1_ss_in: endpoint {
132						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
133					};
134				};
135			};
136		};
137
138		/* Right-side port */
139		connector@2 {
140			compatible = "usb-c-connector";
141			reg = <2>;
142			power-role = "dual";
143			data-role = "dual";
144
145			ports {
146				#address-cells = <1>;
147				#size-cells = <0>;
148
149				port@0 {
150					reg = <0>;
151
152					pmic_glink_ss2_hs_in: endpoint {
153						remote-endpoint = <&usb_1_ss2_dwc3_hs>;
154					};
155				};
156
157				port@1 {
158					reg = <1>;
159
160					pmic_glink_ss2_ss_in: endpoint {
161						remote-endpoint = <&usb_1_ss2_qmpphy_out>;
162					};
163				};
164			};
165		};
166	};
167
168	reserved-memory {
169		linux,cma {
170			compatible = "shared-dma-pool";
171			size = <0x0 0x8000000>;
172			reusable;
173			linux,cma-default;
174		};
175	};
176
177	sound {
178		compatible = "qcom,x1e80100-sndcard";
179		model = "X1E80100-CRD";
180		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
181				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
182				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
183				"TweeterRight IN", "WSA2 WSA_SPK2 OUT",
184				"IN1_HPHL", "HPHL_OUT",
185				"IN2_HPHR", "HPHR_OUT",
186				"AMIC2", "MIC BIAS2",
187				"VA DMIC0", "MIC BIAS3",
188				"VA DMIC1", "MIC BIAS3",
189				"VA DMIC2", "MIC BIAS1",
190				"VA DMIC3", "MIC BIAS1",
191				"VA DMIC0", "VA MIC BIAS3",
192				"VA DMIC1", "VA MIC BIAS3",
193				"VA DMIC2", "VA MIC BIAS1",
194				"VA DMIC3", "VA MIC BIAS1",
195				"TX SWR_INPUT1", "ADC2_OUTPUT";
196
197		wcd-playback-dai-link {
198			link-name = "WCD Playback";
199
200			cpu {
201				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
202			};
203
204			codec {
205				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
206			};
207
208			platform {
209				sound-dai = <&q6apm>;
210			};
211		};
212
213		wcd-capture-dai-link {
214			link-name = "WCD Capture";
215
216			cpu {
217				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
218			};
219
220			codec {
221				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
222			};
223
224			platform {
225				sound-dai = <&q6apm>;
226			};
227		};
228
229		wsa-dai-link {
230			link-name = "WSA Playback";
231
232			cpu {
233				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
234			};
235
236			codec {
237				sound-dai = <&left_woofer>, <&left_tweeter>,
238					    <&swr0 0>, <&lpass_wsamacro 0>,
239					    <&right_woofer>, <&right_tweeter>,
240					    <&swr3 0>, <&lpass_wsa2macro 0>;
241			};
242
243			platform {
244				sound-dai = <&q6apm>;
245			};
246		};
247
248		va-dai-link {
249			link-name = "VA Capture";
250
251			cpu {
252				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
253			};
254
255			codec {
256				sound-dai = <&lpass_vamacro 0>;
257			};
258
259			platform {
260				sound-dai = <&q6apm>;
261			};
262		};
263	};
264
265	vreg_edp_3p3: regulator-edp-3p3 {
266		compatible = "regulator-fixed";
267
268		regulator-name = "VREG_EDP_3P3";
269		regulator-min-microvolt = <3300000>;
270		regulator-max-microvolt = <3300000>;
271
272		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
273		enable-active-high;
274
275		pinctrl-0 = <&edp_reg_en>;
276		pinctrl-names = "default";
277
278		regulator-boot-on;
279	};
280
281	vreg_misc_3p3: regulator-misc-3p3 {
282		compatible = "regulator-fixed";
283
284		regulator-name = "VREG_MISC_3P3";
285		regulator-min-microvolt = <3300000>;
286		regulator-max-microvolt = <3300000>;
287
288		gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
289		enable-active-high;
290
291		pinctrl-names = "default";
292		pinctrl-0 = <&misc_3p3_reg_en>;
293
294		regulator-boot-on;
295		regulator-always-on;
296	};
297
298	vreg_nvme: regulator-nvme {
299		compatible = "regulator-fixed";
300
301		regulator-name = "VREG_NVME_3P3";
302		regulator-min-microvolt = <3300000>;
303		regulator-max-microvolt = <3300000>;
304
305		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
306		enable-active-high;
307
308		pinctrl-names = "default";
309		pinctrl-0 = <&nvme_reg_en>;
310
311		regulator-boot-on;
312	};
313
314	vph_pwr: regulator-vph-pwr {
315		compatible = "regulator-fixed";
316
317		regulator-name = "vph_pwr";
318		regulator-min-microvolt = <3700000>;
319		regulator-max-microvolt = <3700000>;
320
321		regulator-always-on;
322		regulator-boot-on;
323	};
324
325	vreg_wwan: regulator-wwan {
326		compatible = "regulator-fixed";
327
328		regulator-name = "SDX_VPH_PWR";
329		regulator-min-microvolt = <3300000>;
330		regulator-max-microvolt = <3300000>;
331
332		gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>;
333		enable-active-high;
334
335		pinctrl-0 = <&wwan_sw_en>;
336		pinctrl-names = "default";
337
338		regulator-boot-on;
339	};
340};
341
342&apps_rsc {
343	regulators-0 {
344		compatible = "qcom,pm8550-rpmh-regulators";
345		qcom,pmic-id = "b";
346
347		vdd-bob1-supply = <&vph_pwr>;
348		vdd-bob2-supply = <&vph_pwr>;
349		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
350		vdd-l2-l13-l14-supply = <&vreg_bob1>;
351		vdd-l5-l16-supply = <&vreg_bob1>;
352		vdd-l6-l7-supply = <&vreg_bob2>;
353		vdd-l8-l9-supply = <&vreg_bob1>;
354		vdd-l12-supply = <&vreg_s5j_1p2>;
355		vdd-l15-supply = <&vreg_s4c_1p8>;
356		vdd-l17-supply = <&vreg_bob2>;
357
358		vreg_bob1: bob1 {
359			regulator-name = "vreg_bob1";
360			regulator-min-microvolt = <3008000>;
361			regulator-max-microvolt = <3960000>;
362			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363		};
364
365		vreg_bob2: bob2 {
366			regulator-name = "vreg_bob2";
367			regulator-min-microvolt = <2504000>;
368			regulator-max-microvolt = <3008000>;
369			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
370		};
371
372		vreg_l1b_1p8: ldo1 {
373			regulator-name = "vreg_l1b_1p8";
374			regulator-min-microvolt = <1800000>;
375			regulator-max-microvolt = <1800000>;
376			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377		};
378
379		vreg_l2b_3p0: ldo2 {
380			regulator-name = "vreg_l2b_3p0";
381			regulator-min-microvolt = <3072000>;
382			regulator-max-microvolt = <3100000>;
383			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384		};
385
386		vreg_l4b_1p8: ldo4 {
387			regulator-name = "vreg_l4b_1p8";
388			regulator-min-microvolt = <1800000>;
389			regulator-max-microvolt = <1800000>;
390			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391		};
392
393		vreg_l5b_3p0: ldo5 {
394			regulator-name = "vreg_l5b_3p0";
395			regulator-min-microvolt = <3000000>;
396			regulator-max-microvolt = <3000000>;
397			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
398		};
399
400		vreg_l6b_1p8: ldo6 {
401			regulator-name = "vreg_l6b_1p8";
402			regulator-min-microvolt = <1800000>;
403			regulator-max-microvolt = <2960000>;
404			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
405		};
406
407		vreg_l7b_2p8: ldo7 {
408			regulator-name = "vreg_l7b_2p8";
409			regulator-min-microvolt = <2800000>;
410			regulator-max-microvolt = <2800000>;
411			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
412		};
413
414		vreg_l8b_3p0: ldo8 {
415			regulator-name = "vreg_l8b_3p0";
416			regulator-min-microvolt = <3072000>;
417			regulator-max-microvolt = <3072000>;
418			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
419		};
420
421		vreg_l9b_2p9: ldo9 {
422			regulator-name = "vreg_l9b_2p9";
423			regulator-min-microvolt = <2960000>;
424			regulator-max-microvolt = <2960000>;
425			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
426		};
427
428		vreg_l10b_1p8: ldo10 {
429			regulator-name = "vreg_l10b_1p8";
430			regulator-min-microvolt = <1800000>;
431			regulator-max-microvolt = <1800000>;
432			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
433		};
434
435		vreg_l12b_1p2: ldo12 {
436			regulator-name = "vreg_l12b_1p2";
437			regulator-min-microvolt = <1200000>;
438			regulator-max-microvolt = <1200000>;
439			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
440		};
441
442		vreg_l13b_3p0: ldo13 {
443			regulator-name = "vreg_l13b_3p0";
444			regulator-min-microvolt = <3072000>;
445			regulator-max-microvolt = <3100000>;
446			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
447		};
448
449		vreg_l14b_3p0: ldo14 {
450			regulator-name = "vreg_l14b_3p0";
451			regulator-min-microvolt = <3072000>;
452			regulator-max-microvolt = <3072000>;
453			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
454		};
455
456		vreg_l15b_1p8: ldo15 {
457			regulator-name = "vreg_l15b_1p8";
458			regulator-min-microvolt = <1800000>;
459			regulator-max-microvolt = <1800000>;
460			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
461		};
462
463		vreg_l16b_2p9: ldo16 {
464			regulator-name = "vreg_l16b_2p9";
465			regulator-min-microvolt = <2912000>;
466			regulator-max-microvolt = <2912000>;
467			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
468		};
469
470		vreg_l17b_2p5: ldo17 {
471			regulator-name = "vreg_l17b_2p5";
472			regulator-min-microvolt = <2504000>;
473			regulator-max-microvolt = <2504000>;
474			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
475		};
476	};
477
478	regulators-1 {
479		compatible = "qcom,pm8550ve-rpmh-regulators";
480		qcom,pmic-id = "c";
481
482		vdd-l1-supply = <&vreg_s5j_1p2>;
483		vdd-l2-supply = <&vreg_s1f_0p7>;
484		vdd-l3-supply = <&vreg_s1f_0p7>;
485		vdd-s4-supply = <&vph_pwr>;
486
487		vreg_s4c_1p8: smps4 {
488			regulator-name = "vreg_s4c_1p8";
489			regulator-min-microvolt = <1856000>;
490			regulator-max-microvolt = <2000000>;
491			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
492		};
493
494		vreg_l1c_1p2: ldo1 {
495			regulator-name = "vreg_l1c_1p2";
496			regulator-min-microvolt = <1200000>;
497			regulator-max-microvolt = <1200000>;
498			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
499		};
500
501		vreg_l2c_0p8: ldo2 {
502			regulator-name = "vreg_l2c_0p8";
503			regulator-min-microvolt = <880000>;
504			regulator-max-microvolt = <920000>;
505			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
506		};
507
508		vreg_l3c_0p8: ldo3 {
509			regulator-name = "vreg_l3c_0p8";
510			regulator-min-microvolt = <880000>;
511			regulator-max-microvolt = <920000>;
512			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
513		};
514	};
515
516	regulators-2 {
517		compatible = "qcom,pmc8380-rpmh-regulators";
518		qcom,pmic-id = "d";
519
520		vdd-l1-supply = <&vreg_s1f_0p7>;
521		vdd-l2-supply = <&vreg_s1f_0p7>;
522		vdd-l3-supply = <&vreg_s4c_1p8>;
523		vdd-s1-supply = <&vph_pwr>;
524
525		vreg_l1d_0p8: ldo1 {
526			regulator-name = "vreg_l1d_0p8";
527			regulator-min-microvolt = <880000>;
528			regulator-max-microvolt = <920000>;
529			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
530		};
531
532		vreg_l2d_0p9: ldo2 {
533			regulator-name = "vreg_l2d_0p9";
534			regulator-min-microvolt = <912000>;
535			regulator-max-microvolt = <920000>;
536			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
537		};
538
539		vreg_l3d_1p8: ldo3 {
540			regulator-name = "vreg_l3d_1p8";
541			regulator-min-microvolt = <1800000>;
542			regulator-max-microvolt = <1800000>;
543			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
544		};
545	};
546
547	regulators-3 {
548		compatible = "qcom,pmc8380-rpmh-regulators";
549		qcom,pmic-id = "e";
550
551		vdd-l2-supply = <&vreg_s1f_0p7>;
552		vdd-l3-supply = <&vreg_s5j_1p2>;
553
554		vreg_l2e_0p8: ldo2 {
555			regulator-name = "vreg_l2e_0p8";
556			regulator-min-microvolt = <880000>;
557			regulator-max-microvolt = <920000>;
558			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
559		};
560
561		vreg_l3e_1p2: ldo3 {
562			regulator-name = "vreg_l3e_1p2";
563			regulator-min-microvolt = <1200000>;
564			regulator-max-microvolt = <1200000>;
565			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
566		};
567	};
568
569	regulators-4 {
570		compatible = "qcom,pmc8380-rpmh-regulators";
571		qcom,pmic-id = "f";
572
573		vdd-l1-supply = <&vreg_s5j_1p2>;
574		vdd-l2-supply = <&vreg_s5j_1p2>;
575		vdd-l3-supply = <&vreg_s5j_1p2>;
576		vdd-s1-supply = <&vph_pwr>;
577
578		vreg_s1f_0p7: smps1 {
579			regulator-name = "vreg_s1f_0p7";
580			regulator-min-microvolt = <700000>;
581			regulator-max-microvolt = <1100000>;
582			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
583		};
584
585		vreg_l1f_1p0: ldo1 {
586			regulator-name = "vreg_l1f_1p0";
587			regulator-min-microvolt = <1024000>;
588			regulator-max-microvolt = <1024000>;
589			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
590		};
591
592		vreg_l2f_1p0: ldo2 {
593			regulator-name = "vreg_l2f_1p0";
594			regulator-min-microvolt = <1024000>;
595			regulator-max-microvolt = <1024000>;
596			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
597		};
598
599		vreg_l3f_1p0: ldo3 {
600			regulator-name = "vreg_l3f_1p0";
601			regulator-min-microvolt = <1024000>;
602			regulator-max-microvolt = <1024000>;
603			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
604		};
605	};
606
607	regulators-6 {
608		compatible = "qcom,pm8550ve-rpmh-regulators";
609		qcom,pmic-id = "i";
610
611		vdd-l1-supply = <&vreg_s4c_1p8>;
612		vdd-l2-supply = <&vreg_s5j_1p2>;
613		vdd-l3-supply = <&vreg_s1f_0p7>;
614		vdd-s1-supply = <&vph_pwr>;
615		vdd-s2-supply = <&vph_pwr>;
616
617		vreg_s1i_0p9: smps1 {
618			regulator-name = "vreg_s1i_0p9";
619			regulator-min-microvolt = <900000>;
620			regulator-max-microvolt = <920000>;
621			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
622		};
623
624		vreg_s2i_1p0: smps2 {
625			regulator-name = "vreg_s2i_1p0";
626			regulator-min-microvolt = <1000000>;
627			regulator-max-microvolt = <1100000>;
628			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
629		};
630
631		vreg_l1i_1p8: ldo1 {
632			regulator-name = "vreg_l1i_1p8";
633			regulator-min-microvolt = <1800000>;
634			regulator-max-microvolt = <1800000>;
635			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
636		};
637
638		vreg_l2i_1p2: ldo2 {
639			regulator-name = "vreg_l2i_1p2";
640			regulator-min-microvolt = <1200000>;
641			regulator-max-microvolt = <1200000>;
642			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
643		};
644
645		vreg_l3i_0p8: ldo3 {
646			regulator-name = "vreg_l3i_0p8";
647			regulator-min-microvolt = <880000>;
648			regulator-max-microvolt = <920000>;
649			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
650		};
651	};
652
653	regulators-7 {
654		compatible = "qcom,pm8550ve-rpmh-regulators";
655		qcom,pmic-id = "j";
656
657		vdd-l1-supply = <&vreg_s1f_0p7>;
658		vdd-l2-supply = <&vreg_s5j_1p2>;
659		vdd-l3-supply = <&vreg_s1f_0p7>;
660		vdd-s5-supply = <&vph_pwr>;
661
662		vreg_s5j_1p2: smps5 {
663			regulator-name = "vreg_s5j_1p2";
664			regulator-min-microvolt = <1256000>;
665			regulator-max-microvolt = <1304000>;
666			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
667		};
668
669		vreg_l1j_0p8: ldo1 {
670			regulator-name = "vreg_l1j_0p8";
671			regulator-min-microvolt = <880000>;
672			regulator-max-microvolt = <920000>;
673			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
674		};
675
676		vreg_l2j_1p2: ldo2 {
677			regulator-name = "vreg_l2j_1p2";
678			regulator-min-microvolt = <1200000>;
679			regulator-max-microvolt = <1200000>;
680			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
681		};
682
683		vreg_l3j_0p8: ldo3 {
684			regulator-name = "vreg_l3j_0p8";
685			regulator-min-microvolt = <880000>;
686			regulator-max-microvolt = <920000>;
687			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
688		};
689	};
690};
691
692&gpu {
693	status = "okay";
694
695	zap-shader {
696		firmware-name = "qcom/x1e80100/gen70500_zap.mbn";
697	};
698};
699
700&i2c0 {
701	clock-frequency = <400000>;
702
703	status = "okay";
704
705	touchpad@15 {
706		compatible = "hid-over-i2c";
707		reg = <0x15>;
708
709		hid-descr-addr = <0x1>;
710		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
711
712		vdd-supply = <&vreg_misc_3p3>;
713		vddl-supply = <&vreg_l12b_1p2>;
714
715		pinctrl-0 = <&tpad_default>;
716		pinctrl-names = "default";
717
718		wakeup-source;
719	};
720
721	keyboard@3a {
722		compatible = "hid-over-i2c";
723		reg = <0x3a>;
724
725		hid-descr-addr = <0x1>;
726		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
727
728		vdd-supply = <&vreg_misc_3p3>;
729		vddl-supply = <&vreg_l12b_1p2>;
730
731		pinctrl-0 = <&kybd_default>;
732		pinctrl-names = "default";
733
734		wakeup-source;
735	};
736};
737
738&i2c8 {
739	clock-frequency = <400000>;
740
741	status = "okay";
742
743	touchscreen@10 {
744		compatible = "hid-over-i2c";
745		reg = <0x10>;
746
747		hid-descr-addr = <0x1>;
748		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
749
750		vdd-supply = <&vreg_misc_3p3>;
751		vddl-supply = <&vreg_l15b_1p8>;
752
753		pinctrl-0 = <&ts0_default>;
754		pinctrl-names = "default";
755	};
756};
757
758&lpass_tlmm {
759	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
760		pins = "gpio12";
761		function = "gpio";
762		drive-strength = <16>;
763		bias-disable;
764		output-low;
765	};
766
767	spkr_23_sd_n_active: spkr-23-sd-n-active-state {
768		pins = "gpio13";
769		function = "gpio";
770		drive-strength = <16>;
771		bias-disable;
772		output-low;
773	};
774};
775
776&lpass_vamacro {
777	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
778	pinctrl-names = "default";
779
780	vdd-micb-supply = <&vreg_l1b_1p8>;
781	qcom,dmic-sample-rate = <4800000>;
782};
783
784&mdss {
785	status = "okay";
786};
787
788&mdss_dp3 {
789	compatible = "qcom,x1e80100-dp";
790	/delete-property/ #sound-dai-cells;
791
792	status = "okay";
793
794	aux-bus {
795		panel {
796			compatible = "samsung,atna45af01", "samsung,atna33xc20";
797			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
798			power-supply = <&vreg_edp_3p3>;
799
800			pinctrl-0 = <&edp_bl_en>;
801			pinctrl-names = "default";
802
803			port {
804				edp_panel_in: endpoint {
805					remote-endpoint = <&mdss_dp3_out>;
806				};
807			};
808		};
809	};
810
811	ports {
812		port@1 {
813			reg = <1>;
814			mdss_dp3_out: endpoint {
815				data-lanes = <0 1 2 3>;
816				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
817
818				remote-endpoint = <&edp_panel_in>;
819			};
820		};
821	};
822};
823
824&mdss_dp3_phy {
825	vdda-phy-supply = <&vreg_l3j_0p8>;
826	vdda-pll-supply = <&vreg_l2j_1p2>;
827
828	status = "okay";
829};
830
831&pcie4 {
832	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
833	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
834
835	pinctrl-0 = <&pcie4_default>;
836	pinctrl-names = "default";
837
838	status = "okay";
839};
840
841&pcie4_phy {
842	vdda-phy-supply = <&vreg_l3i_0p8>;
843	vdda-pll-supply = <&vreg_l3e_1p2>;
844
845	status = "okay";
846};
847
848&pcie5 {
849	perst-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
850	wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
851
852	vddpe-3v3-supply = <&vreg_wwan>;
853
854	pinctrl-0 = <&pcie5_default>;
855	pinctrl-names = "default";
856
857	status = "okay";
858};
859
860&pcie5_phy {
861	vdda-phy-supply = <&vreg_l3i_0p8>;
862	vdda-pll-supply = <&vreg_l3e_1p2>;
863
864	status = "okay";
865};
866
867&pcie6a {
868	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
869	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
870
871	vddpe-3v3-supply = <&vreg_nvme>;
872
873	pinctrl-names = "default";
874	pinctrl-0 = <&pcie6a_default>;
875
876	status = "okay";
877};
878
879&pcie6a_phy {
880	vdda-phy-supply = <&vreg_l1d_0p8>;
881	vdda-pll-supply = <&vreg_l2j_1p2>;
882
883	status = "okay";
884};
885
886&pm8550ve_8_gpios {
887	misc_3p3_reg_en: misc-3p3-reg-en-state {
888		pins = "gpio6";
889		function = "normal";
890		bias-disable;
891		input-disable;
892		output-enable;
893		drive-push-pull;
894		power-source = <1>; /* 1.8 V */
895		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
896	};
897};
898
899&pmc8380_3_gpios {
900	edp_bl_en: edp-bl-en-state {
901		pins = "gpio4";
902		function = "normal";
903		power-source = <1>; /* 1.8V */
904		input-disable;
905		output-enable;
906	};
907};
908
909&qupv3_0 {
910	status = "okay";
911};
912
913&qupv3_1 {
914	status = "okay";
915};
916
917&qupv3_2 {
918	status = "okay";
919};
920
921&remoteproc_adsp {
922	firmware-name = "qcom/x1e80100/adsp.mbn",
923			"qcom/x1e80100/adsp_dtb.mbn";
924
925	status = "okay";
926};
927
928&remoteproc_cdsp {
929	firmware-name = "qcom/x1e80100/cdsp.mbn",
930			"qcom/x1e80100/cdsp_dtb.mbn";
931
932	status = "okay";
933};
934
935&smb2360_0 {
936	status = "okay";
937};
938
939&smb2360_0_eusb2_repeater {
940	vdd18-supply = <&vreg_l3d_1p8>;
941	vdd3-supply = <&vreg_l2b_3p0>;
942};
943
944&smb2360_1 {
945	status = "okay";
946};
947
948&smb2360_1_eusb2_repeater {
949	vdd18-supply = <&vreg_l3d_1p8>;
950	vdd3-supply = <&vreg_l14b_3p0>;
951};
952
953&smb2360_2 {
954	status = "okay";
955};
956
957&smb2360_2_eusb2_repeater {
958	vdd18-supply = <&vreg_l3d_1p8>;
959	vdd3-supply = <&vreg_l8b_3p0>;
960};
961
962&swr0 {
963	status = "okay";
964
965	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
966	pinctrl-names = "default";
967
968	/* WSA8845, Left Woofer */
969	left_woofer: speaker@0,0 {
970		compatible = "sdw20217020400";
971		reg = <0 0>;
972		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
973		#sound-dai-cells = <0>;
974		sound-name-prefix = "WooferLeft";
975		vdd-1p8-supply = <&vreg_l15b_1p8>;
976		vdd-io-supply = <&vreg_l12b_1p2>;
977		qcom,port-mapping = <1 2 3 7 10 13>;
978	};
979
980	/* WSA8845, Left Tweeter */
981	left_tweeter: speaker@0,1 {
982		compatible = "sdw20217020400";
983		reg = <0 1>;
984		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
985		#sound-dai-cells = <0>;
986		sound-name-prefix = "TweeterLeft";
987		vdd-1p8-supply = <&vreg_l15b_1p8>;
988		vdd-io-supply = <&vreg_l12b_1p2>;
989		qcom,port-mapping = <4 5 6 7 11 13>;
990	};
991};
992
993&swr1 {
994	status = "okay";
995
996	/* WCD9385 RX */
997	wcd_rx: codec@0,4 {
998		compatible = "sdw20217010d00";
999		reg = <0 4>;
1000		qcom,rx-port-mapping = <1 2 3 4 5>;
1001	};
1002};
1003
1004&swr2 {
1005	status = "okay";
1006
1007	/* WCD9385 TX */
1008	wcd_tx: codec@0,3 {
1009		compatible = "sdw20217010d00";
1010		reg = <0 3>;
1011		qcom,tx-port-mapping = <2 2 3 4>;
1012	};
1013};
1014
1015&swr3 {
1016	status = "okay";
1017
1018	pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
1019	pinctrl-names = "default";
1020
1021	/* WSA8845, Right Woofer */
1022	right_woofer: speaker@0,0 {
1023		compatible = "sdw20217020400";
1024		reg = <0 0>;
1025		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
1026		#sound-dai-cells = <0>;
1027		sound-name-prefix = "WooferRight";
1028		vdd-1p8-supply = <&vreg_l15b_1p8>;
1029		vdd-io-supply = <&vreg_l12b_1p2>;
1030		qcom,port-mapping = <1 2 3 7 10 13>;
1031	};
1032
1033	/* WSA8845, Right Tweeter */
1034	right_tweeter: speaker@0,1 {
1035		compatible = "sdw20217020400";
1036		reg = <0 1>;
1037		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
1038		#sound-dai-cells = <0>;
1039		sound-name-prefix = "TweeterRight";
1040		vdd-1p8-supply = <&vreg_l15b_1p8>;
1041		vdd-io-supply = <&vreg_l12b_1p2>;
1042		qcom,port-mapping = <4 5 6 7 11 13>;
1043	};
1044};
1045
1046&tlmm {
1047	gpio-reserved-ranges = <34 2>, /* Unused */
1048			       <44 4>, /* SPI (TPM) */
1049			       <238 1>; /* UFS Reset */
1050
1051	edp_reg_en: edp-reg-en-state {
1052		pins = "gpio70";
1053		function = "gpio";
1054		drive-strength = <16>;
1055		bias-disable;
1056	};
1057
1058	hall_int_n_default: hall-int-n-state {
1059		pins = "gpio92";
1060		function = "gpio";
1061		bias-disable;
1062	};
1063
1064	kybd_default: kybd-default-state {
1065		pins = "gpio67";
1066		function = "gpio";
1067		bias-disable;
1068	};
1069
1070	nvme_reg_en: nvme-reg-en-state {
1071		pins = "gpio18";
1072		function = "gpio";
1073		drive-strength = <2>;
1074		bias-disable;
1075	};
1076
1077	pcie4_default: pcie4-default-state {
1078		clkreq-n-pins {
1079			pins = "gpio147";
1080			function = "pcie4_clk";
1081			drive-strength = <2>;
1082			bias-pull-up;
1083		};
1084
1085		perst-n-pins {
1086			pins = "gpio146";
1087			function = "gpio";
1088			drive-strength = <2>;
1089			bias-disable;
1090		};
1091
1092		wake-n-pins {
1093			pins = "gpio148";
1094			function = "gpio";
1095			drive-strength = <2>;
1096			bias-pull-up;
1097		};
1098	};
1099
1100	pcie5_default: pcie5-default-state {
1101		clkreq-n-pins {
1102			pins = "gpio150";
1103			function = "pcie5_clk";
1104			drive-strength = <2>;
1105			bias-pull-up;
1106		};
1107
1108		perst-n-pins {
1109			pins = "gpio149";
1110			function = "gpio";
1111			drive-strength = <2>;
1112			bias-disable;
1113		};
1114
1115		wake-n-pins {
1116			pins = "gpio151";
1117			function = "gpio";
1118			drive-strength = <2>;
1119			bias-pull-up;
1120		};
1121	};
1122
1123	pcie6a_default: pcie6a-default-state {
1124		clkreq-n-pins {
1125			pins = "gpio153";
1126			function = "pcie6a_clk";
1127			drive-strength = <2>;
1128			bias-pull-up;
1129		};
1130
1131		perst-n-pins {
1132			pins = "gpio152";
1133			function = "gpio";
1134			drive-strength = <2>;
1135			bias-disable;
1136		};
1137
1138		wake-n-pins {
1139			pins = "gpio154";
1140			function = "gpio";
1141			drive-strength = <2>;
1142			bias-pull-up;
1143		};
1144	};
1145
1146	tpad_default: tpad-default-state {
1147		pins = "gpio3";
1148		function = "gpio";
1149		bias-disable;
1150	};
1151
1152	ts0_default: ts0-default-state {
1153		int-n-pins {
1154			pins = "gpio51";
1155			function = "gpio";
1156			bias-disable;
1157		};
1158
1159		reset-n-pins {
1160			pins = "gpio48";
1161			function = "gpio";
1162			output-high;
1163			drive-strength = <16>;
1164		};
1165	};
1166
1167	wcd_default: wcd-reset-n-active-state {
1168		pins = "gpio191";
1169		function = "gpio";
1170		drive-strength = <16>;
1171		bias-disable;
1172		output-low;
1173	};
1174
1175	wwan_sw_en: wwan-sw-en-state {
1176		pins = "gpio221";
1177		function = "gpio";
1178		drive-strength = <4>;
1179		bias-disable;
1180	};
1181};
1182
1183&uart21 {
1184	compatible = "qcom,geni-debug-uart";
1185	status = "okay";
1186};
1187
1188&usb_1_ss0_hsphy {
1189	vdd-supply = <&vreg_l3j_0p8>;
1190	vdda12-supply = <&vreg_l2j_1p2>;
1191
1192	phys = <&smb2360_0_eusb2_repeater>;
1193
1194	status = "okay";
1195};
1196
1197&usb_1_ss0_qmpphy {
1198	vdda-phy-supply = <&vreg_l2j_1p2>;
1199	vdda-pll-supply = <&vreg_l1j_0p8>;
1200
1201	status = "okay";
1202};
1203
1204&usb_1_ss0 {
1205	status = "okay";
1206};
1207
1208&usb_1_ss0_dwc3 {
1209	dr_mode = "host";
1210};
1211
1212&usb_1_ss0_dwc3_hs {
1213	remote-endpoint = <&pmic_glink_ss0_hs_in>;
1214};
1215
1216&usb_1_ss0_qmpphy_out {
1217	remote-endpoint = <&pmic_glink_ss0_ss_in>;
1218};
1219
1220&usb_1_ss1_hsphy {
1221	vdd-supply = <&vreg_l3j_0p8>;
1222	vdda12-supply = <&vreg_l2j_1p2>;
1223
1224	phys = <&smb2360_1_eusb2_repeater>;
1225
1226	status = "okay";
1227};
1228
1229&usb_1_ss1_qmpphy {
1230	vdda-phy-supply = <&vreg_l2j_1p2>;
1231	vdda-pll-supply = <&vreg_l2d_0p9>;
1232
1233	status = "okay";
1234};
1235
1236&usb_1_ss1 {
1237	status = "okay";
1238};
1239
1240&usb_1_ss1_dwc3 {
1241	dr_mode = "host";
1242};
1243
1244&usb_1_ss1_dwc3_hs {
1245	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1246};
1247
1248&usb_1_ss1_qmpphy_out {
1249	remote-endpoint = <&pmic_glink_ss1_ss_in>;
1250};
1251
1252&usb_1_ss2_hsphy {
1253	vdd-supply = <&vreg_l3j_0p8>;
1254	vdda12-supply = <&vreg_l2j_1p2>;
1255
1256	phys = <&smb2360_2_eusb2_repeater>;
1257
1258	status = "okay";
1259};
1260
1261&usb_1_ss2_qmpphy {
1262	vdda-phy-supply = <&vreg_l2j_1p2>;
1263	vdda-pll-supply = <&vreg_l2d_0p9>;
1264
1265	status = "okay";
1266};
1267
1268&usb_1_ss2 {
1269	status = "okay";
1270};
1271
1272&usb_1_ss2_dwc3 {
1273	dr_mode = "host";
1274};
1275
1276&usb_1_ss2_dwc3_hs {
1277	remote-endpoint = <&pmic_glink_ss2_hs_in>;
1278};
1279
1280&usb_1_ss2_qmpphy_out {
1281	remote-endpoint = <&pmic_glink_ss2_ss_in>;
1282};
1283