xref: /linux/arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dts (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4 * Copyright (c) 2024, Linaro Limited
5 * Copyright (c) 2025, Jens Glathe
6 */
7
8/dts-v1/;
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/gpio-keys.h>
12#include <dt-bindings/input/input.h>
13#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
14#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
15
16#include "x1p42100.dtsi"
17#include "x1e80100-pmics.dtsi"
18
19/delete-node/ &pmc8380_6;
20/delete-node/ &pmc8380_6_thermal;
21
22/ {
23	model = "Lenovo ThinkBook 16 Gen 7 QOY";
24	compatible = "lenovo,thinkbook-16", "qcom,x1p42100";
25	chassis-type = "laptop";
26
27	aliases {
28		serial0 = &uart21;
29		serial1 = &uart14;
30	};
31
32	wcd938x: audio-codec {
33		compatible = "qcom,wcd9385-codec";
34
35		pinctrl-0 = <&wcd_default>;
36		pinctrl-names = "default";
37
38		qcom,micbias1-microvolt = <1800000>;
39		qcom,micbias2-microvolt = <1800000>;
40		qcom,micbias3-microvolt = <1800000>;
41		qcom,micbias4-microvolt = <1800000>;
42		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
43		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
44		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
45		qcom,rx-device = <&wcd_rx>;
46		qcom,tx-device = <&wcd_tx>;
47
48		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
49
50		vdd-buck-supply = <&vreg_l15b_1p8>;
51		vdd-rxtx-supply = <&vreg_l15b_1p8>;
52		vdd-io-supply = <&vreg_l15b_1p8>;
53		vdd-mic-bias-supply = <&vreg_bob1>;
54
55		#sound-dai-cells = <1>;
56	};
57
58	backlight: backlight {
59		compatible = "pwm-backlight";
60		pwms = <&pm8550_pwm 3 500000>;
61
62		power-supply = <&vreg_edp_bl>;
63	};
64
65	/*
66	 * This is an odd one. The camera is physically behind the eusb9 repeater (confirmed) but
67	 * if it is placed below the usb_2_dwc3 node, it will be switched off after ~30 seconds.
68	 * The reason seems to be that the dwc3 driver does not probe for child nodes when in
69	 * host-only mode. But that's the default setting for the xhci controllers due to issues
70	 * when in OTG mode. https://lore.kernel.org/all/20241210111444.26240-1-johan+linaro@kernel.org/
71	 * The whole reason it is described in the dt (as an USB device) is its requirement for
72	 * that additional regulator, and to get power management to switch it off when suspended.
73	 * Defining it stand-alone does work.
74	 */
75	camera {
76		compatible = "usb5986,1198";
77
78		vdd-supply = <&vreg_cam_5p0>;
79	};
80
81	gpio-keys {
82		compatible = "gpio-keys";
83
84		pinctrl-0 = <&hall_int_n_default>;
85		pinctrl-names = "default";
86
87		switch-lid {
88			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
89			linux,input-type = <EV_SW>;
90			linux,code = <SW_LID>;
91			wakeup-source;
92			wakeup-event-action = <EV_ACT_DEASSERTED>;
93		};
94	};
95
96	pmic-glink {
97		compatible = "qcom,x1e80100-pmic-glink",
98			     "qcom,sm8550-pmic-glink",
99			     "qcom,pmic-glink";
100		#address-cells = <1>;
101		#size-cells = <0>;
102		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
103				    <&tlmm 123 GPIO_ACTIVE_HIGH>;
104
105		/* Display-adjacent port */
106		connector@0 {
107			compatible = "usb-c-connector";
108			reg = <0>;
109			power-role = "dual";
110			data-role = "host";
111
112			ports {
113				#address-cells = <1>;
114				#size-cells = <0>;
115
116				port@0 {
117					reg = <0>;
118
119					pmic_glink_ss0_hs_in: endpoint {
120						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
121					};
122				};
123
124				port@1 {
125					reg = <1>;
126
127					pmic_glink_ss0_ss_in: endpoint {
128						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
129					};
130				};
131
132				port@2 {
133					reg = <2>;
134
135					pmic_glink_ss0_sbu: endpoint {
136						remote-endpoint = <&usb_1_ss0_sbu_mux>;
137					};
138				};
139			};
140		};
141
142		/* User-adjacent port */
143		connector@1 {
144			compatible = "usb-c-connector";
145			reg = <1>;
146			power-role = "dual";
147			data-role = "host";
148
149			ports {
150				#address-cells = <1>;
151				#size-cells = <0>;
152
153				port@0 {
154					reg = <0>;
155
156					pmic_glink_ss1_hs_in: endpoint {
157						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
158					};
159				};
160
161				port@1 {
162					reg = <1>;
163
164					pmic_glink_ss1_ss_in: endpoint {
165						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
166					};
167				};
168
169				port@2 {
170					reg = <2>;
171
172					pmic_glink_ss1_sbu: endpoint {
173						remote-endpoint = <&usb_1_ss1_sbu_mux>;
174					};
175				};
176			};
177		};
178	};
179
180	sound {
181		compatible = "qcom,x1e80100-sndcard";
182		model = "X1E80100-LENOVO-ThinkBook-16";
183		audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
184				"SpkrRight IN", "WSA WSA_SPK2 OUT",
185				"IN1_HPHL", "HPHL_OUT",
186				"IN2_HPHR", "HPHR_OUT",
187				"AMIC2", "MIC BIAS2",
188				"VA DMIC0", "MIC BIAS3",
189				"VA DMIC1", "MIC BIAS3",
190				"VA DMIC2", "MIC BIAS1",
191				"VA DMIC3", "MIC BIAS1",
192				"TX SWR_INPUT1", "ADC2_OUTPUT";
193
194		wcd-playback-dai-link {
195			link-name = "WCD Playback";
196
197			codec {
198				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
199			};
200
201			cpu {
202				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
203			};
204
205			platform {
206				sound-dai = <&q6apm>;
207			};
208		};
209
210		wcd-capture-dai-link {
211			link-name = "WCD Capture";
212
213			codec {
214				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
215			};
216
217			cpu {
218				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
219			};
220
221			platform {
222				sound-dai = <&q6apm>;
223			};
224		};
225
226		wsa-dai-link {
227			link-name = "WSA Playback";
228
229			codec {
230				sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
231			};
232
233			cpu {
234				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
235			};
236
237			platform {
238				sound-dai = <&q6apm>;
239			};
240		};
241
242		va-dai-link {
243			link-name = "VA Capture";
244
245			codec {
246				sound-dai = <&lpass_vamacro 0>;
247			};
248
249			cpu {
250				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
251			};
252
253			platform {
254				sound-dai = <&q6apm>;
255			};
256		};
257	};
258
259	usb-1-ss0-sbu-mux {
260		compatible = "onnn,fsusb42", "gpio-sbu-mux";
261
262		enable-gpios = <&tlmm 167 GPIO_ACTIVE_LOW>;
263		select-gpios = <&tlmm 168 GPIO_ACTIVE_HIGH>;
264
265		pinctrl-0 = <&usb_1_ss0_sbu_default>;
266		pinctrl-names = "default";
267
268		mode-switch;
269		orientation-switch;
270
271		port {
272			usb_1_ss0_sbu_mux: endpoint {
273				remote-endpoint = <&pmic_glink_ss0_sbu>;
274			};
275		};
276	};
277
278	usb-1-ss1-sbu-mux {
279		compatible = "onnn,fsusb42", "gpio-sbu-mux";
280
281		enable-gpios = <&tlmm 178 GPIO_ACTIVE_LOW>;
282		select-gpios = <&tlmm 179 GPIO_ACTIVE_HIGH>;
283
284		pinctrl-0 = <&usb_1_ss1_sbu_default>;
285		pinctrl-names = "default";
286
287		mode-switch;
288		orientation-switch;
289
290		port {
291			usb_1_ss1_sbu_mux: endpoint {
292				remote-endpoint = <&pmic_glink_ss1_sbu>;
293			};
294		};
295	};
296
297	vreg_cam_5p0: regulator-cam-5p0 {
298		compatible = "regulator-fixed";
299
300		regulator-name = "VREG_CAM_5P0";
301		regulator-min-microvolt = <5000000>;
302		regulator-max-microvolt = <5000000>;
303
304		gpio = <&tlmm 44 GPIO_ACTIVE_HIGH>;
305		enable-active-high;
306
307		pinctrl-0 = <&cam_reg_en>;
308		pinctrl-names = "default";
309
310		regulator-boot-on;
311	};
312
313	vreg_edp_3p3: regulator-edp-3p3 {
314		compatible = "regulator-fixed";
315
316		regulator-name = "VREG_EDP_3P3";
317		regulator-min-microvolt = <3300000>;
318		regulator-max-microvolt = <3300000>;
319
320		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
321		enable-active-high;
322
323		pinctrl-0 = <&edp_reg_en>;
324		pinctrl-names = "default";
325
326		regulator-boot-on;
327	};
328
329	vreg_edp_bl: regulator-edp-bl {
330		compatible = "regulator-fixed";
331
332		regulator-name = "VBL9";
333		regulator-min-microvolt = <3600000>;
334		regulator-max-microvolt = <3600000>;
335
336		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
337		enable-active-high;
338
339		pinctrl-0 = <&edp_bl_reg_en>;
340		pinctrl-names = "default";
341
342		regulator-boot-on;
343	};
344
345	vreg_misc_3p3: regulator-misc-3p3 {
346		compatible = "regulator-fixed";
347
348		regulator-name = "VREG_MISC_3P3";
349		regulator-min-microvolt = <3300000>;
350		regulator-max-microvolt = <3300000>;
351
352		gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
353		enable-active-high;
354
355		pinctrl-0 = <&misc_3p3_reg_en>;
356		pinctrl-names = "default";
357
358		regulator-boot-on;
359		regulator-always-on;
360	};
361
362	vreg_nvme: regulator-nvme {
363		compatible = "regulator-fixed";
364
365		regulator-name = "VREG_NVME_3P3";
366		regulator-min-microvolt = <3300000>;
367		regulator-max-microvolt = <3300000>;
368
369		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
370		enable-active-high;
371
372		pinctrl-0 = <&nvme_reg_en>;
373		pinctrl-names = "default";
374
375		regulator-boot-on;
376	};
377
378	vreg_wcn_0p95: regulator-wcn-0p95 {
379		compatible = "regulator-fixed";
380
381		regulator-name = "VREG_WCN_0P95";
382		regulator-min-microvolt = <950000>;
383		regulator-max-microvolt = <950000>;
384
385		vin-supply = <&vreg_wcn_3p3>;
386	};
387
388	vreg_wcn_1p9: regulator-wcn-1p9 {
389		compatible = "regulator-fixed";
390
391		regulator-name = "VREG_WCN_1P9";
392		regulator-min-microvolt = <1900000>;
393		regulator-max-microvolt = <1900000>;
394
395		vin-supply = <&vreg_wcn_3p3>;
396	};
397
398	vreg_wcn_3p3: regulator-wcn-3p3 {
399		compatible = "regulator-fixed";
400
401		regulator-name = "VREG_WCN_3P3";
402		regulator-min-microvolt = <3300000>;
403		regulator-max-microvolt = <3300000>;
404
405		gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
406		enable-active-high;
407
408		pinctrl-0 = <&wcn_sw_en>;
409		pinctrl-names = "default";
410
411		regulator-boot-on;
412	};
413
414	vph_pwr: regulator-vph-pwr {
415		compatible = "regulator-fixed";
416
417		regulator-name = "vph_pwr";
418		regulator-min-microvolt = <3700000>;
419		regulator-max-microvolt = <3700000>;
420
421		regulator-always-on;
422		regulator-boot-on;
423	};
424
425	wcn7850-pmu {
426		compatible = "qcom,wcn7850-pmu";
427
428		vdd-supply = <&vreg_wcn_0p95>;
429		vddio-supply = <&vreg_l15b_1p8>;
430		vddaon-supply = <&vreg_wcn_0p95>;
431		vdddig-supply = <&vreg_wcn_0p95>;
432		vddrfa1p2-supply = <&vreg_wcn_1p9>;
433		vddrfa1p8-supply = <&vreg_wcn_1p9>;
434
435		wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
436		bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
437
438		pinctrl-0 = <&wcn_wlan_bt_en>;
439		pinctrl-names = "default";
440
441		regulators {
442			vreg_pmu_rfa_cmn: ldo0 {
443				regulator-name = "vreg_pmu_rfa_cmn";
444			};
445
446			vreg_pmu_aon_0p59: ldo1 {
447				regulator-name = "vreg_pmu_aon_0p59";
448			};
449
450			vreg_pmu_wlcx_0p8: ldo2 {
451				regulator-name = "vreg_pmu_wlcx_0p8";
452			};
453
454			vreg_pmu_wlmx_0p85: ldo3 {
455				regulator-name = "vreg_pmu_wlmx_0p85";
456			};
457
458			vreg_pmu_btcmx_0p85: ldo4 {
459				regulator-name = "vreg_pmu_btcmx_0p85";
460			};
461
462			vreg_pmu_rfa_0p8: ldo5 {
463				regulator-name = "vreg_pmu_rfa_0p8";
464			};
465
466			vreg_pmu_rfa_1p2: ldo6 {
467				regulator-name = "vreg_pmu_rfa_1p2";
468			};
469
470			vreg_pmu_rfa_1p8: ldo7 {
471				regulator-name = "vreg_pmu_rfa_1p8";
472			};
473
474			vreg_pmu_pcie_0p9: ldo8 {
475				regulator-name = "vreg_pmu_pcie_0p9";
476			};
477
478			vreg_pmu_pcie_1p8: ldo9 {
479				regulator-name = "vreg_pmu_pcie_1p8";
480			};
481		};
482	};
483};
484
485&apps_rsc {
486	regulators-0 {
487		compatible = "qcom,pm8550-rpmh-regulators";
488		qcom,pmic-id = "b";
489
490		vdd-bob1-supply = <&vph_pwr>;
491		vdd-bob2-supply = <&vph_pwr>;
492		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
493		vdd-l2-l13-l14-supply = <&vreg_bob1>;
494		vdd-l5-l16-supply = <&vreg_bob1>;
495		vdd-l6-l7-supply = <&vreg_bob2>;
496		vdd-l8-l9-supply = <&vreg_bob1>;
497		vdd-l12-supply = <&vreg_s5j_1p2>;
498		vdd-l15-supply = <&vreg_s4c_1p8>;
499		vdd-l17-supply = <&vreg_bob2>;
500
501		vreg_bob1: bob1 {
502			regulator-name = "vreg_bob1";
503			regulator-min-microvolt = <3008000>;
504			regulator-max-microvolt = <3960000>;
505			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
506		};
507
508		vreg_bob2: bob2 {
509			regulator-name = "vreg_bob2";
510			regulator-min-microvolt = <2504000>;
511			regulator-max-microvolt = <3008000>;
512			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
513		};
514
515		vreg_l1b_1p8: ldo1 {
516			regulator-name = "vreg_l1b_1p8";
517			regulator-min-microvolt = <1800000>;
518			regulator-max-microvolt = <1800000>;
519			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
520		};
521
522		vreg_l2b_3p0: ldo2 {
523			regulator-name = "vreg_l2b_3p0";
524			regulator-min-microvolt = <3072000>;
525			regulator-max-microvolt = <3072000>;
526			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
527		};
528
529		vreg_l4b_1p8: ldo4 {
530			regulator-name = "vreg_l4b_1p8";
531			regulator-min-microvolt = <1800000>;
532			regulator-max-microvolt = <1800000>;
533			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
534		};
535
536		vreg_l5b_3p0: ldo5 {
537			regulator-name = "vreg_l5b_3p0";
538			regulator-min-microvolt = <3000000>;
539			regulator-max-microvolt = <3000000>;
540			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
541		};
542
543		vreg_l6b_1p8: ldo6 {
544			regulator-name = "vreg_l6b_1p8";
545			regulator-min-microvolt = <1800000>;
546			regulator-max-microvolt = <2960000>;
547			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
548		};
549
550		vreg_l7b_2p8: ldo7 {
551			regulator-name = "vreg_l7b_2p8";
552			regulator-min-microvolt = <2800000>;
553			regulator-max-microvolt = <2800000>;
554			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
555		};
556
557		vreg_l8b_3p0: ldo8 {
558			regulator-name = "vreg_l8b_3p0";
559			regulator-min-microvolt = <3072000>;
560			regulator-max-microvolt = <3072000>;
561			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
562		};
563
564		vreg_l9b_2p9: ldo9 {
565			regulator-name = "vreg_l9b_2p9";
566			regulator-min-microvolt = <2960000>;
567			regulator-max-microvolt = <2960000>;
568			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
569		};
570
571		vreg_l10b_1p8: ldo10 {
572			regulator-name = "vreg_l10b_1p8";
573			regulator-min-microvolt = <1800000>;
574			regulator-max-microvolt = <1800000>;
575			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
576		};
577
578		vreg_l12b_1p2: ldo12 {
579			regulator-name = "vreg_l12b_1p2";
580			regulator-min-microvolt = <1200000>;
581			regulator-max-microvolt = <1200000>;
582			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
583			regulator-always-on;
584		};
585
586		vreg_l13b_3p0: ldo13 {
587			regulator-name = "vreg_l13b_3p0";
588			regulator-min-microvolt = <3072000>;
589			regulator-max-microvolt = <3072000>;
590			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
591		};
592
593		vreg_l14b_3p0: ldo14 {
594			regulator-name = "vreg_l14b_3p0";
595			regulator-min-microvolt = <3072000>;
596			regulator-max-microvolt = <3072000>;
597			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
598		};
599
600		vreg_l15b_1p8: ldo15 {
601			regulator-name = "vreg_l15b_1p8";
602			regulator-min-microvolt = <1800000>;
603			regulator-max-microvolt = <1800000>;
604			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
605			regulator-always-on;
606		};
607
608		vreg_l16b_2p9: ldo16 {
609			regulator-name = "vreg_l16b_2p9";
610			regulator-min-microvolt = <2912000>;
611			regulator-max-microvolt = <2912000>;
612			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
613		};
614
615		vreg_l17b_2p5: ldo17 {
616			regulator-name = "vreg_l17b_2p5";
617			regulator-min-microvolt = <2504000>;
618			regulator-max-microvolt = <2504000>;
619			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
620		};
621	};
622
623	regulators-1 {
624		compatible = "qcom,pm8550ve-rpmh-regulators";
625		qcom,pmic-id = "c";
626
627		vdd-l1-supply = <&vreg_s5j_1p2>;
628		vdd-l2-supply = <&vreg_s1f_0p7>;
629		vdd-l3-supply = <&vreg_s1f_0p7>;
630		vdd-s4-supply = <&vph_pwr>;
631
632		vreg_s4c_1p8: smps4 {
633			regulator-name = "vreg_s4c_1p8";
634			regulator-min-microvolt = <1856000>;
635			regulator-max-microvolt = <2000000>;
636			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
637		};
638
639		vreg_l1c_1p2: ldo1 {
640			regulator-name = "vreg_l1c_1p2";
641			regulator-min-microvolt = <1200000>;
642			regulator-max-microvolt = <1200000>;
643			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
644		};
645
646		vreg_l2c_0p8: ldo2 {
647			regulator-name = "vreg_l2c_0p8";
648			regulator-min-microvolt = <880000>;
649			regulator-max-microvolt = <880000>;
650			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
651		};
652
653		vreg_l3c_0p8: ldo3 {
654			regulator-name = "vreg_l3c_0p8";
655			regulator-min-microvolt = <912000>;
656			regulator-max-microvolt = <912000>;
657			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
658		};
659	};
660
661	regulators-2 {
662		compatible = "qcom,pmc8380-rpmh-regulators";
663		qcom,pmic-id = "d";
664
665		vdd-l1-supply = <&vreg_s1f_0p7>;
666		vdd-l2-supply = <&vreg_s1f_0p7>;
667		vdd-l3-supply = <&vreg_s4c_1p8>;
668		vdd-s1-supply = <&vph_pwr>;
669
670		vreg_l1d_0p8: ldo1 {
671			regulator-name = "vreg_l1d_0p8";
672			regulator-min-microvolt = <880000>;
673			regulator-max-microvolt = <880000>;
674			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
675		};
676
677		vreg_l2d_0p9: ldo2 {
678			regulator-name = "vreg_l2d_0p9";
679			regulator-min-microvolt = <912000>;
680			regulator-max-microvolt = <912000>;
681			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
682		};
683
684		vreg_l3d_1p8: ldo3 {
685			regulator-name = "vreg_l3d_1p8";
686			regulator-min-microvolt = <1800000>;
687			regulator-max-microvolt = <1800000>;
688			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
689		};
690	};
691
692	regulators-3 {
693		compatible = "qcom,pmc8380-rpmh-regulators";
694		qcom,pmic-id = "e";
695
696		vdd-l2-supply = <&vreg_s1f_0p7>;
697		vdd-l3-supply = <&vreg_s5j_1p2>;
698
699		vreg_l2e_0p8: ldo2 {
700			regulator-name = "vreg_l2e_0p8";
701			regulator-min-microvolt = <880000>;
702			regulator-max-microvolt = <880000>;
703			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
704		};
705
706		vreg_l3e_1p2: ldo3 {
707			regulator-name = "vreg_l3e_1p2";
708			regulator-min-microvolt = <1200000>;
709			regulator-max-microvolt = <1200000>;
710			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
711		};
712	};
713
714	regulators-4 {
715		compatible = "qcom,pmc8380-rpmh-regulators";
716		qcom,pmic-id = "f";
717
718		vdd-l1-supply = <&vreg_s5j_1p2>;
719		vdd-l2-supply = <&vreg_s5j_1p2>;
720		vdd-l3-supply = <&vreg_s5j_1p2>;
721		vdd-s1-supply = <&vph_pwr>;
722
723		vreg_s1f_0p7: smps1 {
724			regulator-name = "vreg_s1f_0p7";
725			regulator-min-microvolt = <700000>;
726			regulator-max-microvolt = <1100000>;
727			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
728		};
729
730		vreg_l1f_1p0: ldo1 {
731			regulator-name = "vreg_l1f_1p0";
732			regulator-min-microvolt = <1024000>;
733			regulator-max-microvolt = <1024000>;
734			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
735		};
736
737		vreg_l2f_1p0: ldo2 {
738			regulator-name = "vreg_l2f_1p0";
739			regulator-min-microvolt = <1024000>;
740			regulator-max-microvolt = <1024000>;
741			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
742		};
743
744		vreg_l3f_1p0: ldo3 {
745			regulator-name = "vreg_l3f_1p0";
746			regulator-min-microvolt = <1024000>;
747			regulator-max-microvolt = <1024000>;
748			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
749		};
750	};
751
752	regulators-6 {
753		compatible = "qcom,pm8550ve-rpmh-regulators";
754		qcom,pmic-id = "i";
755
756		vdd-l1-supply = <&vreg_s4c_1p8>;
757		vdd-l2-supply = <&vreg_s5j_1p2>;
758		vdd-l3-supply = <&vreg_s1f_0p7>;
759		vdd-s1-supply = <&vph_pwr>;
760		vdd-s2-supply = <&vph_pwr>;
761
762		vreg_l1i_1p8: ldo1 {
763			regulator-name = "vreg_l1i_1p8";
764			regulator-min-microvolt = <1800000>;
765			regulator-max-microvolt = <1800000>;
766			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
767			regulator-always-on;
768		};
769
770		vreg_l2i_1p2: ldo2 {
771			regulator-name = "vreg_l2i_1p2";
772			regulator-min-microvolt = <1200000>;
773			regulator-max-microvolt = <1200000>;
774			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
775		};
776
777		vreg_l3i_0p8: ldo3 {
778			regulator-name = "vreg_l3i_0p8";
779			regulator-min-microvolt = <880000>;
780			regulator-max-microvolt = <880000>;
781			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
782		};
783
784		vreg_s1i_0p9: smps1 {
785			regulator-name = "vreg_s1i_0p9";
786			regulator-min-microvolt = <900000>;
787			regulator-max-microvolt = <920000>;
788			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
789		};
790
791		vreg_s2i_1p0: smps2 {
792			regulator-name = "vreg_s2i_1p0";
793			regulator-min-microvolt = <1000000>;
794			regulator-max-microvolt = <1100000>;
795			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
796		};
797	};
798
799	regulators-7 {
800		compatible = "qcom,pm8550ve-rpmh-regulators";
801		qcom,pmic-id = "j";
802
803		vdd-l1-supply = <&vreg_s1f_0p7>;
804		vdd-l2-supply = <&vreg_s5j_1p2>;
805		vdd-l3-supply = <&vreg_s1f_0p7>;
806		vdd-s5-supply = <&vph_pwr>;
807
808		vreg_s5j_1p2: smps5 {
809			regulator-name = "vreg_s5j_1p2";
810			regulator-min-microvolt = <1256000>;
811			regulator-max-microvolt = <1304000>;
812			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
813		};
814
815		vreg_l1j_0p8: ldo1 {
816			regulator-name = "vreg_l1j_0p8";
817			regulator-min-microvolt = <912000>;
818			regulator-max-microvolt = <912000>;
819			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
820		};
821
822		vreg_l2j_1p2: ldo2 {
823			regulator-name = "vreg_l2j_1p2";
824			regulator-min-microvolt = <1256000>;
825			regulator-max-microvolt = <1256000>;
826			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
827		};
828
829		vreg_l3j_0p8: ldo3 {
830			regulator-name = "vreg_l3j_0p8";
831			regulator-min-microvolt = <880000>;
832			regulator-max-microvolt = <880000>;
833			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
834		};
835	};
836};
837
838&gpu {
839	status = "okay";
840};
841
842&gpu_zap_shader {
843	firmware-name = "qcom/x1p42100/LENOVO/21NH/qcdxkmsucpurwa.mbn";
844};
845
846&i2c2 {
847	clock-frequency = <400000>;
848
849	pinctrl-0 = <&qup_i2c2_data_clk>, <&tpad_default>, <&kybd_default>;
850	pinctrl-names = "default";
851	status = "okay";
852
853	/* ELAN06FA */
854	touchpad@15 {
855		compatible = "hid-over-i2c";
856		reg = <0x15>;
857
858		hid-descr-addr = <0x1>;
859		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
860
861		vdd-supply = <&vreg_misc_3p3>;
862		vddl-supply = <&vreg_l12b_1p2>;
863
864		wakeup-source;
865	};
866
867	/* CIRQ1080 or SYNA2BA6 */
868	touchpad@2c {
869		compatible = "hid-over-i2c";
870		reg = <0x2c>;
871
872		hid-descr-addr = <0x20>;
873		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
874
875		vdd-supply = <&vreg_misc_3p3>;
876		vddl-supply = <&vreg_l12b_1p2>;
877
878		wakeup-source;
879	};
880
881	/* FTCS0038 */
882	touchpad@38 {
883		compatible = "hid-over-i2c";
884		reg = <0x38>;
885
886		hid-descr-addr = <0x1>;
887		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
888
889		vdd-supply = <&vreg_misc_3p3>;
890		vddl-supply = <&vreg_l12b_1p2>;
891
892		wakeup-source;
893	};
894
895	keyboard@3a {
896		compatible = "hid-over-i2c";
897		reg = <0x3a>;
898
899		hid-descr-addr = <0x1>;
900		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
901
902		vdd-supply = <&vreg_misc_3p3>;
903		vddl-supply = <&vreg_l12b_1p2>;
904
905		wakeup-source;
906	};
907
908	/* GXTP5100 */
909	touchpad@5d {
910		compatible = "hid-over-i2c";
911		reg = <0x5d>;
912
913		hid-descr-addr = <0x1>;
914		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
915
916		vdd-supply = <&vreg_misc_3p3>;
917		vddl-supply = <&vreg_l12b_1p2>;
918
919		wakeup-source;
920	};
921};
922
923&i2c5 {
924	clock-frequency = <400000>;
925
926	status = "okay";
927
928	eusb5_repeater: redriver@43 {
929		compatible = "nxp,ptn3222";
930		reg = <0x43>;
931		#phy-cells = <0>;
932
933		vdd3v3-supply = <&vreg_l13b_3p0>;
934		vdd1v8-supply = <&vreg_l4b_1p8>;
935	};
936
937	eusb3_repeater: redriver@47 {
938		compatible = "nxp,ptn3222";
939		reg = <0x47>;
940		#phy-cells = <0>;
941
942		vdd3v3-supply = <&vreg_l13b_3p0>;
943		vdd1v8-supply = <&vreg_l4b_1p8>;
944
945		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
946
947		pinctrl-0 = <&eusb3_reset_n>;
948		pinctrl-names = "default";
949	};
950
951	eusb9_repeater: redriver@4b {
952		compatible = "nxp,ptn3222";
953		reg = <0x4b>;
954		#phy-cells = <0>;
955
956		vdd3v3-supply = <&vreg_l13b_3p0>;
957		vdd1v8-supply = <&vreg_l4b_1p8>;
958
959		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
960
961		pinctrl-0 = <&eusb9_reset_n>;
962		pinctrl-names = "default";
963	};
964
965	eusb6_repeater: redriver@4f {
966		compatible = "nxp,ptn3222";
967		reg = <0x4f>;
968		#phy-cells = <0>;
969
970		vdd3v3-supply = <&vreg_l13b_3p0>;
971		vdd1v8-supply = <&vreg_l4b_1p8>;
972
973		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
974
975		pinctrl-0 = <&eusb6_reset_n>;
976		pinctrl-names = "default";
977	};
978};
979
980&i2c8 {
981	clock-frequency = <400000>;
982
983	status = "okay";
984
985	/* ILIT2911 or GTCH1563 */
986	touchscreen@10 {
987		compatible = "hid-over-i2c";
988		reg = <0x10>;
989
990		hid-descr-addr = <0x1>;
991		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
992
993		vdd-supply = <&vreg_misc_3p3>;
994		vddl-supply = <&vreg_l15b_1p8>;
995
996		pinctrl-0 = <&ts0_default>;
997		pinctrl-names = "default";
998	};
999};
1000
1001&lpass_tlmm {
1002	spkr_01_sd_n_active: spkr-01-sd-n-active-state {
1003		pins = "gpio12";
1004		function = "gpio";
1005		drive-strength = <16>;
1006		bias-disable;
1007		output-low;
1008	};
1009};
1010
1011&lpass_vamacro {
1012	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
1013	pinctrl-names = "default";
1014
1015	vdd-micb-supply = <&vreg_l1b_1p8>;
1016	qcom,dmic-sample-rate = <4800000>;
1017};
1018
1019&mdss {
1020	status = "okay";
1021};
1022
1023&mdss_dp0 {
1024	status = "okay";
1025};
1026
1027&mdss_dp0_out {
1028	data-lanes = <0 1>;
1029	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
1030};
1031
1032&mdss_dp1 {
1033	status = "okay";
1034};
1035
1036&mdss_dp1_out {
1037	data-lanes = <0 1>;
1038	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
1039};
1040
1041&mdss_dp3 {
1042	/delete-property/ #sound-dai-cells;
1043
1044	pinctrl-0 = <&edp_hpd_default>;
1045	pinctrl-names = "default";
1046
1047	status = "okay";
1048
1049	aux-bus {
1050		panel {
1051			compatible = "edp-panel";
1052
1053			backlight = <&backlight>;
1054
1055			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
1056			pinctrl-0 = <&edp_bl_en>;
1057			pinctrl-names = "default";
1058
1059			power-supply = <&vreg_edp_3p3>;
1060
1061			port {
1062				edp_panel_in: endpoint {
1063					remote-endpoint = <&mdss_dp3_out>;
1064				};
1065			};
1066		};
1067	};
1068};
1069
1070&mdss_dp3_out {
1071	data-lanes = <0 1 2 3>;
1072	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
1073
1074	remote-endpoint = <&edp_panel_in>;
1075};
1076
1077&mdss_dp3_phy {
1078	vdda-phy-supply = <&vreg_l3j_0p8>;
1079	vdda-pll-supply = <&vreg_l2j_1p2>;
1080
1081	status = "okay";
1082};
1083
1084&pcie4 {
1085	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
1086	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
1087
1088	pinctrl-0 = <&pcie4_default>;
1089	pinctrl-names = "default";
1090
1091	status = "okay";
1092};
1093
1094&pcie4_phy {
1095	vdda-phy-supply = <&vreg_l3i_0p8>;
1096	vdda-pll-supply = <&vreg_l3e_1p2>;
1097
1098	status = "okay";
1099};
1100
1101&pcie4_port0 {
1102	wifi@0 {
1103		compatible = "pci17cb,1107";
1104		reg = <0x10000 0x0 0x0 0x0 0x0>;
1105
1106		vddaon-supply = <&vreg_pmu_aon_0p59>;
1107		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1108		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
1109		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
1110		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1111		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1112		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
1113		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
1114		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
1115	};
1116};
1117
1118&pcie6a {
1119	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
1120	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
1121
1122	vddpe-3v3-supply = <&vreg_nvme>;
1123
1124	pinctrl-0 = <&pcie6a_default>;
1125	pinctrl-names = "default";
1126
1127	status = "okay";
1128};
1129
1130&pcie6a_phy {
1131	vdda-phy-supply = <&vreg_l1d_0p8>;
1132	vdda-pll-supply = <&vreg_l2j_1p2>;
1133
1134	status = "okay";
1135};
1136
1137&pm8550_pwm {
1138	status = "okay";
1139};
1140
1141&pm8550ve_8_gpios {
1142	misc_3p3_reg_en: misc-3p3-reg-en-state {
1143		pins = "gpio6";
1144		function = "normal";
1145		bias-disable;
1146		input-disable;
1147		output-enable;
1148		drive-push-pull;
1149		power-source = <1>; /* 1.8 V */
1150		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
1151	};
1152};
1153
1154&pmc8380_3_gpios {
1155	edp_bl_en: edp-bl-en-state {
1156		pins = "gpio4";
1157		function = "normal";
1158		power-source = <1>; /* 1.8V */
1159		input-disable;
1160		output-enable;
1161	};
1162
1163	edp_bl_reg_en: edp-bl-reg-en-state {
1164		pins = "gpio10";
1165		function = "normal";
1166	};
1167};
1168
1169&qupv3_0 {
1170	status = "okay";
1171};
1172
1173&qupv3_1 {
1174	status = "okay";
1175};
1176
1177&qupv3_2 {
1178	status = "okay";
1179};
1180
1181&remoteproc_adsp {
1182	firmware-name = "qcom/x1p42100/LENOVO/21NH/qcadsp8380.mbn",
1183			"qcom/x1p42100/LENOVO/21NH/adsp_dtbs.elf";
1184
1185	status = "okay";
1186};
1187
1188&remoteproc_cdsp {
1189	firmware-name = "qcom/x1p42100/LENOVO/21NH/qccdsp8380.mbn",
1190			"qcom/x1p42100/LENOVO/21NH/cdsp_dtbs.elf";
1191
1192	status = "okay";
1193};
1194
1195&sdhc_2 {
1196	cd-gpios = <&tlmm 71 GPIO_ACTIVE_LOW>;
1197	pinctrl-0 = <&sdc2_default &sdc2_card_det_n>;
1198	pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>;
1199	pinctrl-names = "default", "sleep";
1200	vmmc-supply = <&vreg_l9b_2p9>;
1201	vqmmc-supply = <&vreg_l6b_1p8>;
1202	status = "okay";
1203};
1204
1205&smb2360_0 {
1206	status = "okay";
1207};
1208
1209&smb2360_0_eusb2_repeater {
1210	vdd18-supply = <&vreg_l3d_1p8>;
1211	vdd3-supply = <&vreg_l2b_3p0>;
1212};
1213
1214&smb2360_1 {
1215	status = "okay";
1216};
1217
1218&smb2360_1_eusb2_repeater {
1219	vdd18-supply = <&vreg_l3d_1p8>;
1220	vdd3-supply = <&vreg_l14b_3p0>;
1221};
1222
1223&swr0 {
1224	status = "okay";
1225
1226	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
1227	pinctrl-names = "default";
1228
1229	/* WSA8845, Left Speaker */
1230	left_spkr: speaker@0,0 {
1231		compatible = "sdw20217020400";
1232		reg = <0 0>;
1233		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1234		#sound-dai-cells = <0>;
1235		sound-name-prefix = "SpkrLeft";
1236		vdd-1p8-supply = <&vreg_l15b_1p8>;
1237		vdd-io-supply = <&vreg_l12b_1p2>;
1238		qcom,port-mapping = <1 2 3 7 10 13>;
1239	};
1240
1241	/* WSA8845, Right Speaker */
1242	right_spkr: speaker@0,1 {
1243		compatible = "sdw20217020400";
1244		reg = <0 1>;
1245		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
1246		#sound-dai-cells = <0>;
1247		sound-name-prefix = "SpkrRight";
1248		vdd-1p8-supply = <&vreg_l15b_1p8>;
1249		vdd-io-supply = <&vreg_l12b_1p2>;
1250		qcom,port-mapping = <4 5 6 7 11 13>;
1251	};
1252};
1253
1254&swr1 {
1255	status = "okay";
1256
1257	/* WCD9385 RX */
1258	wcd_rx: codec@0,4 {
1259		compatible = "sdw20217010d00";
1260		reg = <0 4>;
1261		qcom,rx-port-mapping = <1 2 3 4 5>;
1262	};
1263};
1264
1265&swr2 {
1266	status = "okay";
1267
1268	/* WCD9385 TX */
1269	wcd_tx: codec@0,3 {
1270		compatible = "sdw20217010d00";
1271		reg = <0 3>;
1272		qcom,tx-port-mapping = <2 2 3 4>;
1273	};
1274};
1275
1276&tlmm {
1277	gpio-reserved-ranges = <34 2>, /* Unused */
1278			       <72 2>; /* Secure EC I2C connection (?) */
1279
1280	edp_hpd_default: edp-hpd-default-state {
1281		pins = "gpio119";
1282		function = "edp0_hot";
1283		bias-disable;
1284	};
1285
1286	cam_reg_en: cam-reg-en-state {
1287		pins = "gpio44";
1288		function = "gpio";
1289		drive-strength = <16>;
1290		bias-disable;
1291	};
1292
1293	eusb3_reset_n: eusb3-reset-n-state {
1294		pins = "gpio6";
1295		function = "gpio";
1296		drive-strength = <2>;
1297		bias-disable;
1298		output-low;
1299	};
1300
1301	eusb6_reset_n: eusb6-reset-n-state {
1302		pins = "gpio184";
1303		function = "gpio";
1304		drive-strength = <2>;
1305		bias-disable;
1306		output-low;
1307	};
1308
1309	eusb9_reset_n: eusb9-reset-n-state {
1310		pins = "gpio7";
1311		function = "gpio";
1312		drive-strength = <2>;
1313		bias-disable;
1314		output-low;
1315	};
1316
1317	edp_reg_en: edp-reg-en-state {
1318		pins = "gpio70";
1319		function = "gpio";
1320		drive-strength = <16>;
1321		bias-disable;
1322	};
1323
1324	hall_int_n_default: hall-int-n-state {
1325		pins = "gpio92";
1326		function = "gpio";
1327		bias-disable;
1328	};
1329
1330	kybd_default: kybd-default-state {
1331		pins = "gpio67";
1332		function = "gpio";
1333		bias-disable;
1334	};
1335
1336	nvme_reg_en: nvme-reg-en-state {
1337		pins = "gpio18";
1338		function = "gpio";
1339		drive-strength = <2>;
1340		bias-disable;
1341	};
1342
1343	pcie4_default: pcie4-default-state {
1344		clkreq-n-pins {
1345			pins = "gpio147";
1346			function = "pcie4_clk";
1347			drive-strength = <2>;
1348			bias-pull-up;
1349		};
1350
1351		perst-n-pins {
1352			pins = "gpio146";
1353			function = "gpio";
1354			drive-strength = <2>;
1355			bias-disable;
1356		};
1357
1358		wake-n-pins {
1359			pins = "gpio148";
1360			function = "gpio";
1361			drive-strength = <2>;
1362			bias-pull-up;
1363		};
1364	};
1365
1366	pcie6a_default: pcie6a-default-state {
1367		clkreq-n-pins {
1368			pins = "gpio153";
1369			function = "pcie6a_clk";
1370			drive-strength = <2>;
1371			bias-pull-up;
1372		};
1373
1374		perst-n-pins {
1375			pins = "gpio152";
1376			function = "gpio";
1377			drive-strength = <2>;
1378			bias-disable;
1379		};
1380
1381		wake-n-pins {
1382			pins = "gpio154";
1383			function = "gpio";
1384			drive-strength = <2>;
1385			bias-pull-up;
1386		};
1387	};
1388
1389	sdc2_card_det_n: sdc2-card-det-state {
1390		pins = "gpio71";
1391		function = "gpio";
1392		drive-strength = <2>;
1393		bias-pull-up;
1394	};
1395
1396	tpad_default: tpad-default-state {
1397		pins = "gpio3";
1398		function = "gpio";
1399		bias-pull-up;
1400	};
1401
1402	ts0_default: ts0-default-state {
1403		int-n-pins {
1404			pins = "gpio51";
1405			function = "gpio";
1406			bias-disable;
1407		};
1408
1409		reset-n-pins {
1410			pins = "gpio48";
1411			function = "gpio";
1412			output-high;
1413			drive-strength = <16>;
1414		};
1415	};
1416
1417	usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
1418		oe-n-pins {
1419			pins = "gpio167";
1420			function = "gpio";
1421			bias-pull-up;
1422			drive-strength = <2>;
1423		};
1424
1425		sel-pins {
1426			pins = "gpio168";
1427			function = "gpio";
1428			bias-pull-up;
1429			drive-strength = <2>;
1430		};
1431
1432	};
1433
1434	usb_1_ss1_sbu_default: usb-1-ss1-sbu-state {
1435		oe-n-pins {
1436			pins = "gpio178";
1437			function = "gpio";
1438			bias-pull-up;
1439			drive-strength = <2>;
1440		};
1441
1442		sel-pins {
1443			pins = "gpio179";
1444			function = "gpio";
1445			bias-pull-up;
1446			drive-strength = <2>;
1447		};
1448	};
1449
1450	wcd_default: wcd-reset-n-active-state {
1451		pins = "gpio191";
1452		function = "gpio";
1453		drive-strength = <16>;
1454		bias-disable;
1455		output-low;
1456	};
1457
1458	wcn_sw_en: wcn-sw-en-state {
1459		pins = "gpio214";
1460		function = "gpio";
1461		drive-strength = <2>;
1462		bias-disable;
1463	};
1464
1465	wcn_wlan_bt_en: wcn-wlan-bt-en-state {
1466		pins = "gpio116", "gpio117";
1467		function = "gpio";
1468		drive-strength = <2>;
1469		bias-disable;
1470	};
1471};
1472
1473&uart14 {
1474	status = "okay";
1475
1476	bluetooth {
1477		compatible = "qcom,wcn7850-bt";
1478		max-speed = <3200000>;
1479
1480		vddaon-supply = <&vreg_pmu_aon_0p59>;
1481		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1482		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
1483		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
1484		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1485		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1486		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
1487	};
1488};
1489
1490&usb_1_ss0_hsphy {
1491	vdd-supply = <&vreg_l3j_0p8>;
1492	vdda12-supply = <&vreg_l2j_1p2>;
1493
1494	phys = <&smb2360_0_eusb2_repeater>;
1495
1496	status = "okay";
1497};
1498
1499&usb_1_ss0_qmpphy {
1500	vdda-phy-supply = <&vreg_l2j_1p2>;
1501	vdda-pll-supply = <&vreg_l1j_0p8>;
1502
1503	status = "okay";
1504};
1505
1506&usb_1_ss0 {
1507	status = "okay";
1508};
1509
1510&usb_1_ss0_dwc3 {
1511	dr_mode = "host";
1512};
1513
1514&usb_1_ss0_dwc3_hs {
1515	remote-endpoint = <&pmic_glink_ss0_hs_in>;
1516};
1517
1518&usb_1_ss0_qmpphy_out {
1519	remote-endpoint = <&pmic_glink_ss0_ss_in>;
1520};
1521
1522&usb_1_ss1_hsphy {
1523	vdd-supply = <&vreg_l3j_0p8>;
1524	vdda12-supply = <&vreg_l2j_1p2>;
1525
1526	phys = <&smb2360_1_eusb2_repeater>;
1527
1528	status = "okay";
1529};
1530
1531&usb_1_ss1_qmpphy {
1532	vdda-phy-supply = <&vreg_l2j_1p2>;
1533	vdda-pll-supply = <&vreg_l2d_0p9>;
1534
1535	status = "okay";
1536};
1537
1538&usb_1_ss1 {
1539	status = "okay";
1540};
1541
1542&usb_1_ss1_dwc3 {
1543	dr_mode = "host";
1544};
1545
1546&usb_1_ss1_dwc3_hs {
1547	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1548};
1549
1550&usb_1_ss1_qmpphy_out {
1551	remote-endpoint = <&pmic_glink_ss1_ss_in>;
1552};
1553
1554&usb_1_ss2 {
1555	status = "okay";
1556};
1557
1558&usb_1_ss2_dwc3 {
1559	dr_mode = "host";
1560	maximum-speed = "high-speed";
1561	phys = <&usb_1_ss2_hsphy>;
1562	phy-names = "usb2-phy";
1563};
1564
1565&usb_1_ss2_hsphy {
1566	vdd-supply = <&vreg_l3j_0p8>;
1567	vdda12-supply = <&vreg_l2j_1p2>;
1568
1569	phys = <&eusb5_repeater>;
1570
1571	status = "okay";
1572};
1573
1574&usb_2 {
1575	status = "okay";
1576};
1577
1578&usb_2_dwc3 {
1579	dr_mode = "host";
1580};
1581
1582&usb_2_hsphy {
1583	vdd-supply = <&vreg_l2e_0p8>;
1584	vdda12-supply = <&vreg_l3e_1p2>;
1585
1586	phys = <&eusb9_repeater>;
1587
1588	status = "okay";
1589};
1590
1591&usb_mp {
1592	status = "okay";
1593};
1594
1595&usb_mp_hsphy0 {
1596	vdd-supply = <&vreg_l2e_0p8>;
1597	vdda12-supply = <&vreg_l3e_1p2>;
1598
1599	phys = <&eusb6_repeater>;
1600
1601	status = "okay";
1602};
1603
1604&usb_mp_qmpphy0 {
1605	vdda-phy-supply = <&vreg_l3e_1p2>;
1606	vdda-pll-supply = <&vreg_l3c_0p8>;
1607
1608	status = "okay";
1609};
1610
1611&usb_mp_hsphy1 {
1612	vdd-supply = <&vreg_l2e_0p8>;
1613	vdda12-supply = <&vreg_l3e_1p2>;
1614
1615	phys = <&eusb3_repeater>;
1616
1617	status = "okay";
1618};
1619
1620&usb_mp_qmpphy1 {
1621	vdda-phy-supply = <&vreg_l3e_1p2>;
1622	vdda-pll-supply = <&vreg_l3c_0p8>;
1623
1624	status = "okay";
1625};
1626