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