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/regulator/qcom,rpmh-regulator.h>
11
12#include "x1e80100.dtsi"
13#include "x1e80100-pmics.dtsi"
14
15/ {
16	model = "Lenovo Yoga Slim 7x";
17	compatible = "lenovo,yoga-slim7x", "qcom,x1e80100";
18
19	aliases {
20		serial0 = &uart21;
21	};
22
23	chosen {
24		stdout-path = "serial0:115200n8";
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	pmic-glink {
43		compatible = "qcom,x1e80100-pmic-glink",
44			     "qcom,sm8550-pmic-glink",
45			     "qcom,pmic-glink";
46		#address-cells = <1>;
47		#size-cells = <0>;
48		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
49				    <&tlmm 123 GPIO_ACTIVE_HIGH>,
50				    <&tlmm 125 GPIO_ACTIVE_HIGH>;
51
52		/* Left-side rear port */
53		connector@0 {
54			compatible = "usb-c-connector";
55			reg = <0>;
56			power-role = "dual";
57			data-role = "dual";
58
59			ports {
60				#address-cells = <1>;
61				#size-cells = <0>;
62
63				port@0 {
64					reg = <0>;
65
66					pmic_glink_ss0_hs_in: endpoint {
67						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
68					};
69				};
70
71				port@1 {
72					reg = <1>;
73
74					pmic_glink_ss0_ss_in: endpoint {
75						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
76					};
77				};
78			};
79		};
80
81		/* Left-side front port */
82		connector@1 {
83			compatible = "usb-c-connector";
84			reg = <1>;
85			power-role = "dual";
86			data-role = "dual";
87
88			ports {
89				#address-cells = <1>;
90				#size-cells = <0>;
91
92				port@0 {
93					reg = <0>;
94
95					pmic_glink_ss1_hs_in: endpoint {
96						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
97					};
98				};
99
100				port@1 {
101					reg = <1>;
102
103					pmic_glink_ss1_ss_in: endpoint {
104						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
105					};
106				};
107			};
108		};
109
110		/* Right-side port */
111		connector@2 {
112			compatible = "usb-c-connector";
113			reg = <2>;
114			power-role = "dual";
115			data-role = "dual";
116
117			ports {
118				#address-cells = <1>;
119				#size-cells = <0>;
120
121				port@0 {
122					reg = <0>;
123
124					pmic_glink_ss2_hs_in: endpoint {
125						remote-endpoint = <&usb_1_ss2_dwc3_hs>;
126					};
127				};
128
129				port@1 {
130					reg = <1>;
131
132					pmic_glink_ss2_ss_in: endpoint {
133						remote-endpoint = <&usb_1_ss2_qmpphy_out>;
134					};
135				};
136			};
137		};
138	};
139
140	reserved-memory {
141		linux,cma {
142			compatible = "shared-dma-pool";
143			size = <0x0 0x8000000>;
144			reusable;
145			linux,cma-default;
146		};
147	};
148
149	sound {
150		compatible = "qcom,x1e80100-sndcard";
151		model = "X1E80100-LENOVO-Yoga-Slim7x";
152		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
153				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
154				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
155				"TweeterRight IN", "WSA2 WSA_SPK2 OUT";
156
157		wsa-dai-link {
158			link-name = "WSA Playback";
159
160			cpu {
161				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
162			};
163
164			codec {
165				sound-dai = <&left_woofer>, <&left_tweeter>,
166					    <&swr0 0>, <&lpass_wsamacro 0>,
167					    <&right_woofer>, <&right_tweeter>,
168					    <&swr3 0>, <&lpass_wsa2macro 0>;
169			};
170
171			platform {
172				sound-dai = <&q6apm>;
173			};
174		};
175
176		va-dai-link {
177			link-name = "VA Capture";
178
179			cpu {
180				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
181			};
182
183			codec {
184				sound-dai = <&lpass_vamacro 0>;
185			};
186
187			platform {
188				sound-dai = <&q6apm>;
189			};
190		};
191	};
192
193	vreg_edp_3p3: regulator-edp-3p3 {
194		compatible = "regulator-fixed";
195
196		regulator-name = "VREG_EDP_3P3";
197		regulator-min-microvolt = <3300000>;
198		regulator-max-microvolt = <3300000>;
199
200		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
201		enable-active-high;
202
203		pinctrl-0 = <&edp_reg_en>;
204		pinctrl-names = "default";
205
206		regulator-boot-on;
207	};
208
209	vreg_nvme: regulator-nvme {
210		compatible = "regulator-fixed";
211
212		regulator-name = "VREG_NVME_3P3";
213		regulator-min-microvolt = <3300000>;
214		regulator-max-microvolt = <3300000>;
215
216		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
217		enable-active-high;
218
219		pinctrl-0 = <&nvme_reg_en>;
220		pinctrl-names = "default";
221
222		regulator-boot-on;
223	};
224
225	vph_pwr: regulator-vph-pwr {
226		compatible = "regulator-fixed";
227
228		regulator-name = "vph_pwr";
229		regulator-min-microvolt = <3700000>;
230		regulator-max-microvolt = <3700000>;
231
232		regulator-always-on;
233		regulator-boot-on;
234	};
235};
236
237&apps_rsc {
238	regulators-0 {
239		compatible = "qcom,pm8550-rpmh-regulators";
240		qcom,pmic-id = "b";
241
242		vdd-bob1-supply = <&vph_pwr>;
243		vdd-bob2-supply = <&vph_pwr>;
244		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
245		vdd-l2-l13-l14-supply = <&vreg_bob1>;
246		vdd-l5-l16-supply = <&vreg_bob1>;
247		vdd-l6-l7-supply = <&vreg_bob2>;
248		vdd-l8-l9-supply = <&vreg_bob1>;
249		vdd-l12-supply = <&vreg_s5j_1p2>;
250		vdd-l15-supply = <&vreg_s4c_1p8>;
251		vdd-l17-supply = <&vreg_bob2>;
252
253		vreg_bob1: bob1 {
254			regulator-name = "vreg_bob1";
255			regulator-min-microvolt = <3008000>;
256			regulator-max-microvolt = <3960000>;
257			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
258		};
259
260		vreg_bob2: bob2 {
261			regulator-name = "vreg_bob2";
262			regulator-min-microvolt = <2504000>;
263			regulator-max-microvolt = <3008000>;
264			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
265		};
266
267		vreg_l1b_1p8: ldo1 {
268			regulator-name = "vreg_l1b_1p8";
269			regulator-min-microvolt = <1800000>;
270			regulator-max-microvolt = <1800000>;
271			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
272		};
273
274		vreg_l2b_3p0: ldo2 {
275			regulator-name = "vreg_l2b_3p0";
276			regulator-min-microvolt = <3072000>;
277			regulator-max-microvolt = <3100000>;
278			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
279		};
280
281		vreg_l8b_3p0: ldo8 {
282			regulator-name = "vreg_l8b_3p0";
283			regulator-min-microvolt = <3072000>;
284			regulator-max-microvolt = <3072000>;
285			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
286		};
287
288		vreg_l12b_1p2: ldo12 {
289			regulator-name = "vreg_l12b_1p2";
290			regulator-min-microvolt = <1200000>;
291			regulator-max-microvolt = <1200000>;
292			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
293		};
294
295		vreg_l14b_3p0: ldo14 {
296			regulator-name = "vreg_l14b_3p0";
297			regulator-min-microvolt = <3072000>;
298			regulator-max-microvolt = <3072000>;
299			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
300		};
301
302		vreg_l15b_1p8: ldo15 {
303			regulator-name = "vreg_l15b_1p8";
304			regulator-min-microvolt = <1800000>;
305			regulator-max-microvolt = <1800000>;
306			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
307		};
308
309	};
310
311	regulators-1 {
312		compatible = "qcom,pm8550ve-rpmh-regulators";
313		qcom,pmic-id = "c";
314
315		vdd-l1-supply = <&vreg_s5j_1p2>;
316		vdd-l2-supply = <&vreg_s1f_0p7>;
317		vdd-l3-supply = <&vreg_s1f_0p7>;
318		vdd-s4-supply = <&vph_pwr>;
319
320		vreg_s4c_1p8: smps4 {
321			regulator-name = "vreg_s4c_1p8";
322			regulator-min-microvolt = <1856000>;
323			regulator-max-microvolt = <2000000>;
324			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325		};
326
327		vreg_l1c_1p2: ldo1 {
328			regulator-name = "vreg_l1c_1p2";
329			regulator-min-microvolt = <1200000>;
330			regulator-max-microvolt = <1200000>;
331			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
332		};
333
334		vreg_l2c_0p8: ldo2 {
335			regulator-name = "vreg_l2c_0p8";
336			regulator-min-microvolt = <880000>;
337			regulator-max-microvolt = <920000>;
338			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
339		};
340
341		vreg_l3c_0p8: ldo3 {
342			regulator-name = "vreg_l3c_0p8";
343			regulator-min-microvolt = <880000>;
344			regulator-max-microvolt = <920000>;
345			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
346		};
347	};
348
349	regulators-2 {
350		compatible = "qcom,pmc8380-rpmh-regulators";
351		qcom,pmic-id = "d";
352
353		vdd-l1-supply = <&vreg_s1f_0p7>;
354		vdd-l2-supply = <&vreg_s1f_0p7>;
355		vdd-l3-supply = <&vreg_s4c_1p8>;
356		vdd-s1-supply = <&vph_pwr>;
357
358		vreg_l1d_0p8: ldo1 {
359			regulator-name = "vreg_l1d_0p8";
360			regulator-min-microvolt = <880000>;
361			regulator-max-microvolt = <920000>;
362			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
363		};
364
365		vreg_l2d_0p9: ldo2 {
366			regulator-name = "vreg_l2d_0p9";
367			regulator-min-microvolt = <912000>;
368			regulator-max-microvolt = <920000>;
369			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
370		};
371
372		vreg_l3d_1p8: ldo3 {
373			regulator-name = "vreg_l3d_1p8";
374			regulator-min-microvolt = <1800000>;
375			regulator-max-microvolt = <1800000>;
376			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377		};
378	};
379
380	regulators-3 {
381		compatible = "qcom,pmc8380-rpmh-regulators";
382		qcom,pmic-id = "e";
383
384		vdd-l2-supply = <&vreg_s1f_0p7>;
385		vdd-l3-supply = <&vreg_s5j_1p2>;
386
387		vreg_l2e_0p8: ldo2 {
388			regulator-name = "vreg_l2e_0p8";
389			regulator-min-microvolt = <880000>;
390			regulator-max-microvolt = <920000>;
391			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
392		};
393
394		vreg_l3e_1p2: ldo3 {
395			regulator-name = "vreg_l3e_1p2";
396			regulator-min-microvolt = <1200000>;
397			regulator-max-microvolt = <1200000>;
398			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
399		};
400	};
401
402	regulators-4 {
403		compatible = "qcom,pmc8380-rpmh-regulators";
404		qcom,pmic-id = "f";
405
406		vdd-l1-supply = <&vreg_s5j_1p2>;
407		vdd-l2-supply = <&vreg_s5j_1p2>;
408		vdd-l3-supply = <&vreg_s5j_1p2>;
409		vdd-s1-supply = <&vph_pwr>;
410
411		vreg_s1f_0p7: smps1 {
412			regulator-name = "vreg_s1f_0p7";
413			regulator-min-microvolt = <700000>;
414			regulator-max-microvolt = <1100000>;
415			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416		};
417
418		vreg_l1f_1p0: ldo1 {
419			regulator-name = "vreg_l1f_1p0";
420			regulator-min-microvolt = <1024000>;
421			regulator-max-microvolt = <1024000>;
422			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423		};
424
425		vreg_l2f_1p0: ldo2 {
426			regulator-name = "vreg_l2f_1p0";
427			regulator-min-microvolt = <1024000>;
428			regulator-max-microvolt = <1024000>;
429			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430		};
431
432		vreg_l3f_1p0: ldo3 {
433			regulator-name = "vreg_l3f_1p0";
434			regulator-min-microvolt = <1024000>;
435			regulator-max-microvolt = <1024000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438	};
439
440	regulators-6 {
441		compatible = "qcom,pm8550ve-rpmh-regulators";
442		qcom,pmic-id = "i";
443
444		vdd-l1-supply = <&vreg_s4c_1p8>;
445		vdd-l2-supply = <&vreg_s5j_1p2>;
446		vdd-l3-supply = <&vreg_s1f_0p7>;
447		vdd-s1-supply = <&vph_pwr>;
448		vdd-s2-supply = <&vph_pwr>;
449
450		vreg_s1i_0p9: smps1 {
451			regulator-name = "vreg_s1i_0p9";
452			regulator-min-microvolt = <900000>;
453			regulator-max-microvolt = <920000>;
454			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
455		};
456
457		vreg_s2i_1p0: smps2 {
458			regulator-name = "vreg_s2i_1p0";
459			regulator-min-microvolt = <1000000>;
460			regulator-max-microvolt = <1100000>;
461			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
462		};
463
464		vreg_l1i_1p8: ldo1 {
465			regulator-name = "vreg_l1i_1p8";
466			regulator-min-microvolt = <1800000>;
467			regulator-max-microvolt = <1800000>;
468			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
469		};
470
471		vreg_l2i_1p2: ldo2 {
472			regulator-name = "vreg_l2i_1p2";
473			regulator-min-microvolt = <1200000>;
474			regulator-max-microvolt = <1200000>;
475			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
476		};
477
478		vreg_l3i_0p8: ldo3 {
479			regulator-name = "vreg_l3i_0p8";
480			regulator-min-microvolt = <880000>;
481			regulator-max-microvolt = <920000>;
482			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
483		};
484	};
485
486	regulators-7 {
487		compatible = "qcom,pm8550ve-rpmh-regulators";
488		qcom,pmic-id = "j";
489
490		vdd-l1-supply = <&vreg_s1f_0p7>;
491		vdd-l2-supply = <&vreg_s5j_1p2>;
492		vdd-l3-supply = <&vreg_s1f_0p7>;
493		vdd-s5-supply = <&vph_pwr>;
494
495		vreg_s5j_1p2: smps5 {
496			regulator-name = "vreg_s5j_1p2";
497			regulator-min-microvolt = <1256000>;
498			regulator-max-microvolt = <1304000>;
499			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
500		};
501
502		vreg_l1j_0p8: ldo1 {
503			regulator-name = "vreg_l1j_0p8";
504			regulator-min-microvolt = <880000>;
505			regulator-max-microvolt = <920000>;
506			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
507		};
508
509		vreg_l2j_1p2: ldo2 {
510			regulator-name = "vreg_l2j_1p2";
511			regulator-min-microvolt = <1200000>;
512			regulator-max-microvolt = <1200000>;
513			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
514		};
515
516		vreg_l3j_0p8: ldo3 {
517			regulator-name = "vreg_l3j_0p8";
518			regulator-min-microvolt = <880000>;
519			regulator-max-microvolt = <920000>;
520			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
521		};
522	};
523};
524
525&gpu {
526	status = "okay";
527
528	zap-shader {
529		firmware-name = "qcom/x1e80100/LENOVO/83ED/qcdxkmsuc8380.mbn";
530	};
531};
532
533&i2c0 {
534	clock-frequency = <400000>;
535
536	status = "okay";
537
538	touchpad@2c {
539		compatible = "hid-over-i2c";
540		reg = <0x2c>;
541
542		hid-descr-addr = <0x20>;
543		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
544
545		pinctrl-0 = <&tpad_default>;
546		pinctrl-names = "default";
547
548		wakeup-source;
549	};
550
551	keyboard@3a {
552		compatible = "hid-over-i2c";
553		reg = <0x3a>;
554
555		hid-descr-addr = <0x1>;
556		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
557
558		pinctrl-0 = <&kybd_default>;
559		pinctrl-names = "default";
560
561		wakeup-source;
562	};
563};
564
565&i2c8 {
566	clock-frequency = <400000>;
567
568	status = "okay";
569
570	touchscreen@14 {
571		compatible = "hid-over-i2c";
572		reg = <0x14>;
573
574		hid-descr-addr = <0x1>;
575		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
576
577		pinctrl-0 = <&ts0_default>;
578		pinctrl-names = "default";
579	};
580};
581
582&lpass_tlmm {
583	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
584		pins = "gpio12";
585		function = "gpio";
586		drive-strength = <16>;
587		bias-disable;
588		output-low;
589	};
590
591	spkr_23_sd_n_active: spkr-23-sd-n-active-state {
592		pins = "gpio13";
593		function = "gpio";
594		drive-strength = <16>;
595		bias-disable;
596		output-low;
597	};
598};
599
600&lpass_vamacro {
601	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
602	pinctrl-names = "default";
603
604	vdd-micb-supply = <&vreg_l1b_1p8>;
605	qcom,dmic-sample-rate = <4800000>;
606};
607
608&mdss {
609	status = "okay";
610};
611
612&mdss_dp3 {
613	compatible = "qcom,x1e80100-dp";
614	/delete-property/ #sound-dai-cells;
615
616	status = "okay";
617
618	aux-bus {
619		panel {
620			compatible = "samsung,atna45dc02", "samsung,atna33xc20";
621			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
622			power-supply = <&vreg_edp_3p3>;
623
624			pinctrl-0 = <&edp_bl_en>;
625			pinctrl-names = "default";
626
627			port {
628				edp_panel_in: endpoint {
629					remote-endpoint = <&mdss_dp3_out>;
630				};
631			};
632		};
633	};
634
635	ports {
636		port@1 {
637			reg = <1>;
638
639			mdss_dp3_out: endpoint {
640				data-lanes = <0 1 2 3>;
641				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
642
643				remote-endpoint = <&edp_panel_in>;
644			};
645		};
646	};
647};
648
649&mdss_dp3_phy {
650	vdda-phy-supply = <&vreg_l3j_0p8>;
651	vdda-pll-supply = <&vreg_l2j_1p2>;
652
653	status = "okay";
654};
655
656&pcie4 {
657	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
658	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
659
660	pinctrl-0 = <&pcie4_default>;
661	pinctrl-names = "default";
662
663	status = "okay";
664};
665
666&pcie4_phy {
667	vdda-phy-supply = <&vreg_l3i_0p8>;
668	vdda-pll-supply = <&vreg_l3e_1p2>;
669
670	status = "okay";
671};
672
673&pcie4_port0 {
674	wifi@0 {
675		compatible = "pci17cb,1107";
676		reg = <0x10000 0x0 0x0 0x0 0x0>;
677
678		qcom,ath12k-calibration-variant = "LES790";
679	};
680};
681
682&pcie6a {
683	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
684	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
685
686	vddpe-3v3-supply = <&vreg_nvme>;
687
688	pinctrl-0 = <&pcie6a_default>;
689	pinctrl-names = "default";
690
691	status = "okay";
692};
693
694&pcie6a_phy {
695	vdda-phy-supply = <&vreg_l1d_0p8>;
696	vdda-pll-supply = <&vreg_l2j_1p2>;
697
698	status = "okay";
699};
700
701&pmc8380_3_gpios {
702	edp_bl_en: edp-bl-en-state {
703		pins = "gpio4";
704		function = "normal";
705		power-source = <0>;
706		input-disable;
707		output-enable;
708	};
709};
710
711&qupv3_0 {
712	status = "okay";
713};
714
715&qupv3_1 {
716	status = "okay";
717};
718
719&qupv3_2 {
720	status = "okay";
721};
722
723&remoteproc_adsp {
724	firmware-name = "qcom/x1e80100/LENOVO/83ED/qcadsp8380.mbn",
725			"qcom/x1e80100/LENOVO/83ED/adsp_dtbs.elf";
726	status = "okay";
727};
728
729&remoteproc_cdsp {
730	firmware-name = "qcom/x1e80100/LENOVO/83ED/qccdsp8380.mbn",
731			"qcom/x1e80100/LENOVO/83ED/cdsp_dtbs.elf";
732
733	status = "okay";
734};
735
736&smb2360_0 {
737	status = "okay";
738};
739
740&smb2360_0_eusb2_repeater {
741	vdd18-supply = <&vreg_l3d_1p8>;
742	vdd3-supply = <&vreg_l2b_3p0>;
743};
744
745&smb2360_1 {
746	status = "okay";
747};
748
749&smb2360_1_eusb2_repeater {
750	vdd18-supply = <&vreg_l3d_1p8>;
751	vdd3-supply = <&vreg_l14b_3p0>;
752};
753
754&smb2360_2 {
755	status = "okay";
756};
757
758&smb2360_2_eusb2_repeater {
759	vdd18-supply = <&vreg_l3d_1p8>;
760	vdd3-supply = <&vreg_l8b_3p0>;
761};
762
763&swr0 {
764	status = "okay";
765
766	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
767	pinctrl-names = "default";
768
769	/* WSA8845, Left Woofer */
770	left_woofer: speaker@0,0 {
771		compatible = "sdw20217020400";
772		reg = <0 0>;
773		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
774		#sound-dai-cells = <0>;
775		sound-name-prefix = "WooferLeft";
776		vdd-1p8-supply = <&vreg_l15b_1p8>;
777		vdd-io-supply = <&vreg_l12b_1p2>;
778		qcom,port-mapping = <1 2 3 7 10 13>;
779	};
780
781	/* WSA8845, Left Tweeter */
782	left_tweeter: speaker@0,1 {
783		compatible = "sdw20217020400";
784		reg = <0 1>;
785		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
786		#sound-dai-cells = <0>;
787		sound-name-prefix = "TweeterLeft";
788		vdd-1p8-supply = <&vreg_l15b_1p8>;
789		vdd-io-supply = <&vreg_l12b_1p2>;
790		qcom,port-mapping = <4 5 6 7 11 13>;
791	};
792};
793
794
795&swr3 {
796	status = "okay";
797
798	pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
799	pinctrl-names = "default";
800
801	/* WSA8845, Right Woofer */
802	right_woofer: speaker@0,0 {
803		compatible = "sdw20217020400";
804		reg = <0 0>;
805		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
806		#sound-dai-cells = <0>;
807		sound-name-prefix = "WooferRight";
808		vdd-1p8-supply = <&vreg_l15b_1p8>;
809		vdd-io-supply = <&vreg_l12b_1p2>;
810		qcom,port-mapping = <1 2 3 7 10 13>;
811	};
812
813	/* WSA8845, Right Tweeter */
814	right_tweeter: speaker@0,1 {
815		compatible = "sdw20217020400";
816		reg = <0 1>;
817		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
818		#sound-dai-cells = <0>;
819		sound-name-prefix = "TweeterRight";
820		vdd-1p8-supply = <&vreg_l15b_1p8>;
821		vdd-io-supply = <&vreg_l12b_1p2>;
822		qcom,port-mapping = <4 5 6 7 11 13>;
823	};
824};
825
826&tlmm {
827	gpio-reserved-ranges = <34 2>, /* Unused */
828			       <44 4>, /* SPI (TPM) */
829			       <238 1>; /* UFS Reset */
830
831	edp_reg_en: edp-reg-en-state {
832		pins = "gpio70";
833		function = "gpio";
834		drive-strength = <16>;
835		bias-disable;
836	};
837
838	hall_int_n_default: hall-int-n-state {
839		lid-n-pins {
840			pins = "gpio92";
841			function = "gpio";
842			bias-disable;
843		};
844
845		/*
846		 * Pins 71 and 92 seem to be bridged together (pin 71 and 92 show the same
847		 * events). By default, pin 71 is set as output-high, which blocks any
848		 * event on pin 92. Output-disable on pin 71 is necessary to get events on
849		 * pin 92.
850		 * The purpose of pin 71 is not yet known; lid-pull is a supposition.
851		 */
852		lid-pull-n-pins {
853			pins = "gpio71";
854			function = "gpio";
855			bias-pull-up;
856			output-disable;
857		};
858	};
859
860	kybd_default: kybd-default-state {
861		pins = "gpio67";
862		function = "gpio";
863		bias-disable;
864	};
865
866	nvme_reg_en: nvme-reg-en-state {
867		pins = "gpio18";
868		function = "gpio";
869		drive-strength = <2>;
870		bias-disable;
871	};
872
873	pcie4_default: pcie4-default-state {
874		clkreq-n-pins {
875			pins = "gpio147";
876			function = "pcie4_clk";
877			drive-strength = <2>;
878			bias-pull-up;
879		};
880
881		perst-n-pins {
882			pins = "gpio146";
883			function = "gpio";
884			drive-strength = <2>;
885			bias-disable;
886		};
887
888		wake-n-pins {
889			pins = "gpio148";
890			function = "gpio";
891			drive-strength = <2>;
892			bias-pull-up;
893		};
894	};
895
896	pcie6a_default: pcie6a-default-state {
897		clkreq-n-pins {
898			pins = "gpio153";
899			function = "pcie6a_clk";
900			drive-strength = <2>;
901			bias-pull-up;
902		};
903
904		perst-n-pins {
905			pins = "gpio152";
906			function = "gpio";
907			drive-strength = <2>;
908			bias-disable;
909		};
910
911		wake-n-pins {
912			pins = "gpio154";
913			function = "gpio";
914			drive-strength = <2>;
915			bias-pull-up;
916		};
917	};
918
919	tpad_default: tpad-default-state {
920		pins = "gpio3";
921		function = "gpio";
922		bias-disable;
923	};
924
925	ts0_default: ts0-default-state {
926		int-n-pins {
927			pins = "gpio51";
928			function = "gpio";
929			bias-disable;
930		};
931
932		reset-n-pins {
933			pins = "gpio48";
934			function = "gpio";
935			output-high;
936			drive-strength = <16>;
937		};
938	};
939
940};
941
942&uart21 {
943	compatible = "qcom,geni-debug-uart";
944	status = "okay";
945};
946
947&usb_1_ss0_hsphy {
948	vdd-supply = <&vreg_l3j_0p8>;
949	vdda12-supply = <&vreg_l2j_1p2>;
950
951	phys = <&smb2360_0_eusb2_repeater>;
952
953	status = "okay";
954};
955
956&usb_1_ss0_qmpphy {
957	vdda-phy-supply = <&vreg_l2j_1p2>;
958	vdda-pll-supply = <&vreg_l1j_0p8>;
959
960	status = "okay";
961};
962
963&usb_1_ss0 {
964	status = "okay";
965};
966
967&usb_1_ss0_dwc3 {
968	dr_mode = "host";
969};
970
971&usb_1_ss0_dwc3_hs {
972	remote-endpoint = <&pmic_glink_ss0_hs_in>;
973};
974
975&usb_1_ss0_qmpphy_out {
976	remote-endpoint = <&pmic_glink_ss0_ss_in>;
977};
978
979&usb_1_ss1_hsphy {
980	vdd-supply = <&vreg_l3j_0p8>;
981	vdda12-supply = <&vreg_l2j_1p2>;
982
983	phys = <&smb2360_1_eusb2_repeater>;
984
985	status = "okay";
986};
987
988&usb_1_ss1_qmpphy {
989	vdda-phy-supply = <&vreg_l2j_1p2>;
990	vdda-pll-supply = <&vreg_l2d_0p9>;
991
992	status = "okay";
993};
994
995&usb_1_ss1 {
996	status = "okay";
997};
998
999&usb_1_ss1_dwc3 {
1000	dr_mode = "host";
1001};
1002
1003&usb_1_ss1_dwc3_hs {
1004	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1005};
1006
1007&usb_1_ss1_qmpphy_out {
1008	remote-endpoint = <&pmic_glink_ss1_ss_in>;
1009};
1010
1011&usb_1_ss2_hsphy {
1012	vdd-supply = <&vreg_l3j_0p8>;
1013	vdda12-supply = <&vreg_l2j_1p2>;
1014
1015	phys = <&smb2360_2_eusb2_repeater>;
1016
1017	status = "okay";
1018};
1019
1020&usb_1_ss2_qmpphy {
1021	vdda-phy-supply = <&vreg_l2j_1p2>;
1022	vdda-pll-supply = <&vreg_l2d_0p9>;
1023
1024	status = "okay";
1025};
1026
1027&usb_1_ss2 {
1028	status = "okay";
1029};
1030
1031&usb_1_ss2_dwc3 {
1032	dr_mode = "host";
1033};
1034
1035&usb_1_ss2_dwc3_hs {
1036	remote-endpoint = <&pmic_glink_ss2_hs_in>;
1037};
1038
1039&usb_1_ss2_qmpphy_out {
1040	remote-endpoint = <&pmic_glink_ss2_ss_in>;
1041};
1042