xref: /linux/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2022, Linaro Limited
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
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/leds/common.h>
14#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
15
16#include "sc8280xp.dtsi"
17#include "sc8280xp-pmics.dtsi"
18
19/ {
20	model = "Lenovo ThinkPad X13s";
21	compatible = "lenovo,thinkpad-x13s", "qcom,sc8280xp";
22
23	aliases {
24		i2c4 = &i2c4;
25		i2c21 = &i2c21;
26		serial1 = &uart2;
27	};
28
29	wcd938x: audio-codec {
30		compatible = "qcom,wcd9380-codec";
31
32		pinctrl-names = "default";
33		pinctrl-0 = <&wcd_default>;
34
35		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
36
37		vdd-buck-supply = <&vreg_s10b>;
38		vdd-rxtx-supply = <&vreg_s10b>;
39		vdd-io-supply = <&vreg_s10b>;
40		vdd-mic-bias-supply = <&vreg_bob>;
41
42		qcom,micbias1-microvolt = <1800000>;
43		qcom,micbias2-microvolt = <1800000>;
44		qcom,micbias3-microvolt = <1800000>;
45		qcom,micbias4-microvolt = <1800000>;
46		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
47		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
48		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
49		qcom,rx-device = <&wcd_rx>;
50		qcom,tx-device = <&wcd_tx>;
51
52		#sound-dai-cells = <1>;
53	};
54
55	backlight: backlight {
56		compatible = "pwm-backlight";
57		pwms = <&pmc8280c_lpg 3 1000000>;
58		enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
59		power-supply = <&vreg_edp_bl>;
60
61		pinctrl-names = "default";
62		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
63	};
64
65	gpio-keys {
66		compatible = "gpio-keys";
67
68		pinctrl-names = "default";
69		pinctrl-0 = <&hall_int_n_default>;
70
71		switch-lid {
72			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
73			linux,input-type = <EV_SW>;
74			linux,code = <SW_LID>;
75			wakeup-source;
76			wakeup-event-action = <EV_ACT_DEASSERTED>;
77		};
78	};
79
80	leds {
81		compatible = "gpio-leds";
82
83		pinctrl-names = "default";
84		pinctrl-0 = <&cam_indicator_en>;
85
86		led-camera-indicator {
87			label = "white:camera-indicator";
88			function = LED_FUNCTION_INDICATOR;
89			color = <LED_COLOR_ID_WHITE>;
90			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
91			linux,default-trigger = "none";
92			default-state = "off";
93			/* Reuse as a panic indicator until we get a "camera on" trigger */
94			panic-indicator;
95		};
96	};
97
98	pmic-glink {
99		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
100
101		#address-cells = <1>;
102		#size-cells = <0>;
103		orientation-gpios = <&tlmm 166 GPIO_ACTIVE_HIGH>,
104				    <&tlmm 49 GPIO_ACTIVE_HIGH>;
105
106		connector@0 {
107			compatible = "usb-c-connector";
108			reg = <0>;
109			power-role = "dual";
110			data-role = "dual";
111
112			ports {
113				#address-cells = <1>;
114				#size-cells = <0>;
115
116				port@0 {
117					reg = <0>;
118
119					pmic_glink_con0_hs: endpoint {
120						remote-endpoint = <&usb_0_dwc3_hs>;
121					};
122				};
123
124				port@1 {
125					reg = <1>;
126
127					pmic_glink_con0_ss: endpoint {
128						remote-endpoint = <&usb_0_qmpphy_out>;
129					};
130				};
131
132				port@2 {
133					reg = <2>;
134
135					pmic_glink_con0_sbu: endpoint {
136						remote-endpoint = <&usb0_sbu_mux>;
137					};
138				};
139			};
140		};
141
142		connector@1 {
143			compatible = "usb-c-connector";
144			reg = <1>;
145			power-role = "dual";
146			data-role = "dual";
147
148			ports {
149				#address-cells = <1>;
150				#size-cells = <0>;
151				port@0 {
152					reg = <0>;
153
154					pmic_glink_con1_hs: endpoint {
155						remote-endpoint = <&usb_1_dwc3_hs>;
156					};
157				};
158
159				port@1 {
160					reg = <1>;
161
162					pmic_glink_con1_ss: endpoint {
163						remote-endpoint = <&usb_1_qmpphy_out>;
164					};
165				};
166
167				port@2 {
168					reg = <2>;
169
170					pmic_glink_con1_sbu: endpoint {
171						remote-endpoint = <&usb1_sbu_mux>;
172					};
173				};
174			};
175		};
176	};
177
178	vreg_edp_3p3: regulator-edp-3p3 {
179		compatible = "regulator-fixed";
180
181		regulator-name = "VCC3LCD";
182		regulator-min-microvolt = <3300000>;
183		regulator-max-microvolt = <3300000>;
184
185		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
186		enable-active-high;
187
188		pinctrl-names = "default";
189		pinctrl-0 = <&edp_reg_en>;
190
191		regulator-boot-on;
192	};
193
194	vreg_edp_bl: regulator-edp-bl {
195		compatible = "regulator-fixed";
196
197		regulator-name = "VBL9";
198		regulator-min-microvolt = <3600000>;
199		regulator-max-microvolt = <3600000>;
200
201		gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
202		enable-active-high;
203
204		pinctrl-names = "default";
205		pinctrl-0 = <&edp_bl_reg_en>;
206
207		regulator-boot-on;
208	};
209
210	vreg_misc_3p3: regulator-misc-3p3 {
211		compatible = "regulator-fixed";
212
213		regulator-name = "VCC3B";
214		regulator-min-microvolt = <3300000>;
215		regulator-max-microvolt = <3300000>;
216
217		gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
218		enable-active-high;
219
220		pinctrl-names = "default";
221		pinctrl-0 = <&misc_3p3_reg_en>;
222
223		regulator-boot-on;
224		regulator-always-on;
225	};
226
227	vreg_nvme: regulator-nvme {
228		compatible = "regulator-fixed";
229
230		regulator-name = "VCC3_SSD";
231		regulator-min-microvolt = <3300000>;
232		regulator-max-microvolt = <3300000>;
233
234		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
235		enable-active-high;
236
237		pinctrl-names = "default";
238		pinctrl-0 = <&nvme_reg_en>;
239
240		regulator-boot-on;
241	};
242
243	vreg_vph_pwr: regulator-vph-pwr {
244		compatible = "regulator-fixed";
245
246		regulator-name = "VPH_VCC3R9";
247		regulator-min-microvolt = <3900000>;
248		regulator-max-microvolt = <3900000>;
249
250		regulator-always-on;
251	};
252
253	vreg_wlan: regulator-wlan {
254		compatible = "regulator-fixed";
255
256		regulator-name = "VCC_WLAN_3R9";
257		regulator-min-microvolt = <3900000>;
258		regulator-max-microvolt = <3900000>;
259
260		gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
261		enable-active-high;
262
263		pinctrl-names = "default";
264		pinctrl-0 = <&hastings_reg_en>;
265
266		regulator-boot-on;
267	};
268
269	vreg_wwan: regulator-wwan {
270		compatible = "regulator-fixed";
271
272		regulator-name = "VCC3B_WAN";
273		regulator-min-microvolt = <3300000>;
274		regulator-max-microvolt = <3300000>;
275
276		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
277		enable-active-high;
278
279		pinctrl-names = "default";
280		pinctrl-0 = <&wwan_sw_en>;
281
282		regulator-boot-on;
283	};
284
285	reserved-memory {
286		gpu_mem: gpu-mem@8bf00000 {
287			reg = <0 0x8bf00000 0 0x2000>;
288			no-map;
289		};
290
291		linux,cma {
292			compatible = "shared-dma-pool";
293			size = <0x0 0x8000000>;
294			reusable;
295			linux,cma-default;
296		};
297	};
298
299	thermal-zones {
300		pm8008-thermal {
301			polling-delay-passive = <100>;
302			polling-delay = <0>;
303
304			thermal-sensors = <&pm8008>;
305
306			trips {
307				trip0 {
308					temperature = <95000>;
309					hysteresis = <0>;
310					type = "passive";
311				};
312
313				trip1 {
314					temperature = <115000>;
315					hysteresis = <0>;
316					type = "critical";
317				};
318			};
319		};
320
321		skin-temp-thermal {
322			polling-delay-passive = <250>;
323
324			thermal-sensors = <&pmk8280_adc_tm 5>;
325
326			trips {
327				skin_temp_alert0: trip-point0 {
328					temperature = <55000>;
329					hysteresis = <1000>;
330					type = "passive";
331				};
332
333				skin_temp_alert1: trip-point1 {
334					temperature = <58000>;
335					hysteresis = <1000>;
336					type = "passive";
337				};
338
339				skin-temp-crit {
340					temperature = <73000>;
341					hysteresis = <1000>;
342					type = "critical";
343				};
344			};
345
346			cooling-maps {
347				map0 {
348					trip = <&skin_temp_alert0>;
349					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
350							 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
351							 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
352							 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
353				};
354
355				map1 {
356					trip = <&skin_temp_alert1>;
357					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
358							 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
359							 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
360							 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
361				};
362			};
363		};
364	};
365
366	usb0-sbu-mux {
367		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
368
369		enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
370		select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
371
372		pinctrl-names = "default";
373		pinctrl-0 = <&usb0_sbu_default>;
374
375		mode-switch;
376		orientation-switch;
377
378		port {
379			usb0_sbu_mux: endpoint {
380				remote-endpoint = <&pmic_glink_con0_sbu>;
381			};
382		};
383	};
384
385	usb1-sbu-mux {
386		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
387
388		enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
389		select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
390
391		pinctrl-names = "default";
392		pinctrl-0 = <&usb1_sbu_default>;
393
394		mode-switch;
395		orientation-switch;
396
397		port {
398			usb1_sbu_mux: endpoint {
399				remote-endpoint = <&pmic_glink_con1_sbu>;
400			};
401		};
402	};
403
404	wcn6855-pmu {
405		compatible = "qcom,wcn6855-pmu";
406
407		pinctrl-0 = <&bt_default>, <&wlan_en>;
408		pinctrl-names = "default";
409
410		wlan-enable-gpios = <&tlmm 134 GPIO_ACTIVE_HIGH>;
411		bt-enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
412		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
413
414		vddio-supply = <&vreg_s10b>;
415		vddaon-supply = <&vreg_s12b>;
416		vddpmu-supply = <&vreg_s12b>;
417		vddpmumx-supply = <&vreg_s12b>;
418		vddpmucx-supply = <&vreg_s12b>;
419		vddrfa0p95-supply = <&vreg_s12b>;
420		vddrfa1p3-supply = <&vreg_s11b>;
421		vddrfa1p9-supply = <&vreg_s1c>;
422		vddpcie1p3-supply = <&vreg_s11b>;
423		vddpcie1p9-supply = <&vreg_s1c>;
424
425		regulators {
426			vreg_pmu_rfa_cmn_0p8: ldo0 {
427				regulator-name = "vreg_pmu_rfa_cmn_0p8";
428			};
429
430			vreg_pmu_aon_0p8: ldo1 {
431				regulator-name = "vreg_pmu_aon_0p8";
432			};
433
434			vreg_pmu_wlcx_0p8: ldo2 {
435				regulator-name = "vreg_pmu_wlcx_0p8";
436			};
437
438			vreg_pmu_wlmx_0p8: ldo3 {
439				regulator-name = "vreg_pmu_wlmx_0p8";
440			};
441
442			vreg_pmu_btcmx_0p8: ldo4 {
443				regulator-name = "vreg_pmu_btcmx_0p8";
444			};
445
446			vreg_pmu_pcie_1p8: ldo5 {
447				regulator-name = "vreg_pmu_pcie_1p8";
448			};
449
450			vreg_pmu_pcie_0p9: ldo6 {
451				regulator-name = "vreg_pmu_pcie_0p9";
452			};
453
454			vreg_pmu_rfa_0p8: ldo7 {
455				regulator-name = "vreg_pmu_rfa_0p8";
456			};
457
458			vreg_pmu_rfa_1p2: ldo8 {
459				regulator-name = "vreg_pmu_rfa_1p2";
460			};
461
462			vreg_pmu_rfa_1p7: ldo9 {
463				regulator-name = "vreg_pmu_rfa_1p7";
464			};
465		};
466	};
467};
468
469&apps_rsc {
470	regulators-0 {
471		compatible = "qcom,pm8350-rpmh-regulators";
472		qcom,pmic-id = "b";
473
474		vdd-l1-l4-supply = <&vreg_s12b>;
475		vdd-l2-l7-supply = <&vreg_bob>;
476		vdd-l3-l5-supply = <&vreg_s11b>;
477		vdd-l6-l9-l10-supply = <&vreg_s12b>;
478		vdd-l8-supply = <&vreg_s12b>;
479
480		vreg_s10b: smps10 {
481			regulator-name = "vreg_s10b";
482			regulator-min-microvolt = <1800000>;
483			regulator-max-microvolt = <1800000>;
484			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
485			regulator-always-on;
486		};
487
488		vreg_s11b: smps11 {
489			regulator-name = "vreg_s11b";
490			regulator-min-microvolt = <1272000>;
491			regulator-max-microvolt = <1272000>;
492			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
493		};
494
495		vreg_s12b: smps12 {
496			regulator-name = "vreg_s12b";
497			regulator-min-microvolt = <984000>;
498			regulator-max-microvolt = <984000>;
499			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
500		};
501
502		vreg_l1b: ldo1 {
503			regulator-name = "vreg_l1b";
504			regulator-min-microvolt = <912000>;
505			regulator-max-microvolt = <912000>;
506			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
507		};
508
509		vreg_l3b: ldo3 {
510			regulator-name = "vreg_l3b";
511			regulator-min-microvolt = <1200000>;
512			regulator-max-microvolt = <1200000>;
513			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
514			regulator-boot-on;
515		};
516
517		vreg_l4b: ldo4 {
518			regulator-name = "vreg_l4b";
519			regulator-min-microvolt = <912000>;
520			regulator-max-microvolt = <912000>;
521			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
522		};
523
524		vreg_l6b: ldo6 {
525			regulator-name = "vreg_l6b";
526			regulator-min-microvolt = <880000>;
527			regulator-max-microvolt = <880000>;
528			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
529			regulator-boot-on;
530		};
531	};
532
533	regulators-1 {
534		compatible = "qcom,pm8350c-rpmh-regulators";
535		qcom,pmic-id = "c";
536
537		vdd-bob-supply = <&vreg_vph_pwr>;
538		vdd-l1-l12-supply = <&vreg_s1c>;
539		vdd-l2-l8-supply = <&vreg_s1c>;
540		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
541		vdd-l6-l9-l11-supply = <&vreg_bob>;
542		vdd-l10-supply = <&vreg_s11b>;
543
544		vreg_s1c: smps1 {
545			regulator-name = "vreg_s1c";
546			regulator-min-microvolt = <1880000>;
547			regulator-max-microvolt = <1900000>;
548			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
549			regulator-always-on;
550		};
551
552		vreg_l1c: ldo1 {
553			regulator-name = "vreg_l1c";
554			regulator-min-microvolt = <1800000>;
555			regulator-max-microvolt = <1800000>;
556			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
557		};
558
559		vreg_l8c: ldo8 {
560			regulator-name = "vreg_l8c";
561			regulator-min-microvolt = <1800000>;
562			regulator-max-microvolt = <1800000>;
563			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
564		};
565
566		vreg_l12c: ldo12 {
567			regulator-name = "vreg_l12c";
568			regulator-min-microvolt = <1800000>;
569			regulator-max-microvolt = <1800000>;
570			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
571		};
572
573		vreg_l13c: ldo13 {
574			regulator-name = "vreg_l13c";
575			regulator-min-microvolt = <3072000>;
576			regulator-max-microvolt = <3072000>;
577			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
578		};
579
580		vreg_bob: bob {
581			regulator-name = "vreg_bob";
582			regulator-min-microvolt = <3008000>;
583			regulator-max-microvolt = <3960000>;
584			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
585			regulator-always-on;
586		};
587	};
588
589	regulators-2 {
590		compatible = "qcom,pm8350-rpmh-regulators";
591		qcom,pmic-id = "d";
592
593		vdd-l1-l4-supply = <&vreg_s11b>;
594		vdd-l2-l7-supply = <&vreg_bob>;
595		vdd-l3-l5-supply = <&vreg_s11b>;
596		vdd-l6-l9-l10-supply = <&vreg_s12b>;
597		vdd-l8-supply = <&vreg_s12b>;
598
599		vreg_l2d: ldo2 {
600			regulator-name = "vreg_l2d";
601			regulator-min-microvolt = <3072000>;
602			regulator-max-microvolt = <3072000>;
603			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
604		};
605
606		vreg_l3d: ldo3 {
607			regulator-name = "vreg_l3d";
608			regulator-min-microvolt = <1200000>;
609			regulator-max-microvolt = <1200000>;
610			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
611		};
612
613		vreg_l4d: ldo4 {
614			regulator-name = "vreg_l4d";
615			regulator-min-microvolt = <1200000>;
616			regulator-max-microvolt = <1200000>;
617			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
618		};
619
620		vreg_l6d: ldo6 {
621			regulator-name = "vreg_l6d";
622			regulator-min-microvolt = <880000>;
623			regulator-max-microvolt = <880000>;
624			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
625		};
626
627		vreg_l7d: ldo7 {
628			regulator-name = "vreg_l7d";
629			regulator-min-microvolt = <3072000>;
630			regulator-max-microvolt = <3072000>;
631			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
632		};
633
634		vreg_l8d: ldo8 {
635			regulator-name = "vreg_l8d";
636			regulator-min-microvolt = <912000>;
637			regulator-max-microvolt = <912000>;
638			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
639		};
640
641		vreg_l9d: ldo9 {
642			regulator-name = "vreg_l9d";
643			regulator-min-microvolt = <912000>;
644			regulator-max-microvolt = <912000>;
645			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
646		};
647
648		vreg_l10d: ldo10 {
649			regulator-name = "vreg_l10d";
650			regulator-min-microvolt = <912000>;
651			regulator-max-microvolt = <912000>;
652			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
653		};
654	};
655};
656
657&camss {
658	vdda-phy-supply = <&vreg_l6d>;
659	vdda-pll-supply = <&vreg_l4d>;
660
661	status = "okay";
662
663	ports {
664		port@0 {
665			csiphy0_lanes01_ep: endpoint@0 {
666				reg = <0>;
667				clock-lanes = <7>;
668				data-lanes = <0 1>;
669				remote-endpoint = <&ov5675_ep>;
670			};
671		};
672	};
673};
674
675&cci2 {
676	status = "okay";
677};
678
679&cci2_i2c1 {
680	camera@10 {
681		compatible = "ovti,ov5675";
682		reg = <0x10>;
683
684		reset-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>;
685		pinctrl-names = "default";
686		pinctrl-0 = <&cam_rgb_default>;
687
688		clocks = <&camcc CAMCC_MCLK3_CLK>;
689
690		orientation = <0>;	/* Front facing */
691
692		avdd-supply = <&vreg_l6q>;
693		dvdd-supply = <&vreg_l2q>;
694		dovdd-supply = <&vreg_l7q>;
695
696		port {
697			ov5675_ep: endpoint {
698				data-lanes = <1 2>;
699				link-frequencies = /bits/ 64 <450000000>;
700				remote-endpoint = <&csiphy0_lanes01_ep>;
701			};
702		};
703
704	};
705};
706
707&dispcc0 {
708	status = "okay";
709};
710
711&gpu {
712	status = "okay";
713
714	zap-shader {
715		memory-region = <&gpu_mem>;
716		firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn";
717	};
718};
719
720&mdss0 {
721	status = "okay";
722};
723
724&mdss0_dp0 {
725	status = "okay";
726};
727
728&mdss0_dp0_out {
729	data-lanes = <0 1>;
730	remote-endpoint = <&usb_0_qmpphy_dp_in>;
731};
732
733&mdss0_dp1 {
734	status = "okay";
735};
736
737&mdss0_dp1_out {
738	data-lanes = <0 1>;
739	remote-endpoint = <&usb_1_qmpphy_dp_in>;
740};
741
742&mdss0_dp3 {
743	compatible = "qcom,sc8280xp-edp";
744	/delete-property/ #sound-dai-cells;
745
746	data-lanes = <0 1 2 3>;
747
748	status = "okay";
749
750	aux-bus {
751		panel {
752			compatible = "edp-panel";
753
754			backlight = <&backlight>;
755			power-supply = <&vreg_edp_3p3>;
756
757			port {
758				edp_panel_in: endpoint {
759					remote-endpoint = <&mdss0_dp3_out>;
760				};
761			};
762		};
763	};
764
765	ports {
766		port@1 {
767			reg = <1>;
768			mdss0_dp3_out: endpoint {
769				remote-endpoint = <&edp_panel_in>;
770			};
771		};
772	};
773};
774
775&mdss0_dp3_phy {
776	compatible = "qcom,sc8280xp-edp-phy";
777	vdda-phy-supply = <&vreg_l6b>;
778	vdda-pll-supply = <&vreg_l3b>;
779
780	status = "okay";
781};
782
783&i2c4 {
784	clock-frequency = <400000>;
785
786	pinctrl-names = "default";
787	pinctrl-0 = <&i2c4_default>;
788
789	status = "okay";
790
791	touchscreen@10 {
792		compatible = "elan,ekth5015m", "elan,ekth6915";
793		reg = <0x10>;
794
795		interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
796		reset-gpios = <&tlmm 99 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
797		no-reset-on-power-off;
798
799		vcc33-supply = <&vreg_misc_3p3>;
800		vccio-supply = <&vreg_misc_3p3>;
801
802		pinctrl-names = "default";
803		pinctrl-0 = <&ts0_default>;
804	};
805};
806
807&i2c11 {
808	clock-frequency = <400000>;
809
810	pinctrl-names = "default";
811	pinctrl-0 = <&i2c11_default>;
812
813	status = "okay";
814
815	pm8008: pmic@c {
816		compatible = "qcom,pm8008";
817		reg = <0xc>;
818
819		interrupts-extended = <&tlmm 41 IRQ_TYPE_EDGE_RISING>;
820		reset-gpios = <&tlmm 42 GPIO_ACTIVE_LOW>;
821
822		vdd-l1-l2-supply = <&vreg_s11b>;
823		vdd-l3-l4-supply = <&vreg_bob>;
824		vdd-l5-supply = <&vreg_bob>;
825		vdd-l6-supply = <&vreg_bob>;
826		vdd-l7-supply = <&vreg_bob>;
827
828		pinctrl-names = "default";
829		pinctrl-0 = <&pm8008_default>;
830
831		gpio-controller;
832		#gpio-cells = <2>;
833		gpio-ranges = <&pm8008 0 0 2>;
834
835		interrupt-controller;
836		#interrupt-cells = <2>;
837
838		#thermal-sensor-cells = <0>;
839
840		regulators {
841			vreg_l1q: ldo1 {
842				regulator-name = "vreg_l1q";
843				regulator-min-microvolt = <1200000>;
844				regulator-max-microvolt = <1200000>;
845			};
846
847			vreg_l2q: ldo2 {
848				regulator-name = "vreg_l2q";
849				regulator-min-microvolt = <1200000>;
850				regulator-max-microvolt = <1200000>;
851			};
852
853			vreg_l3q: ldo3 {
854				regulator-name = "vreg_l3q";
855				regulator-min-microvolt = <2800000>;
856				regulator-max-microvolt = <2800000>;
857			};
858
859			vreg_l4q: ldo4 {
860				regulator-name = "vreg_l4q";
861				regulator-min-microvolt = <2800000>;
862				regulator-max-microvolt = <2800000>;
863			};
864
865			vreg_l5q: ldo5 {
866				regulator-name = "vreg_l5q";
867				regulator-min-microvolt = <1800000>;
868				regulator-max-microvolt = <1800000>;
869			};
870
871			vreg_l6q: ldo6 {
872				regulator-name = "vreg_l6q";
873				regulator-min-microvolt = <1800000>;
874				regulator-max-microvolt = <1800000>;
875			};
876
877			vreg_l7q: ldo7 {
878				regulator-name = "vreg_l7q";
879				regulator-min-microvolt = <2800000>;
880				regulator-max-microvolt = <2800000>;
881			};
882		};
883	};
884};
885
886&i2c21 {
887	clock-frequency = <400000>;
888
889	pinctrl-names = "default";
890	pinctrl-0 = <&i2c21_default>, <&tpad_default>;
891
892	status = "okay";
893
894	touchpad@15 {
895		compatible = "hid-over-i2c";
896		reg = <0x15>;
897
898		hid-descr-addr = <0x1>;
899		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
900		vdd-supply = <&vreg_misc_3p3>;
901		vddl-supply = <&vreg_s10b>;
902
903		wakeup-source;
904	};
905
906	touchpad@2c {
907		compatible = "hid-over-i2c";
908		reg = <0x2c>;
909
910		hid-descr-addr = <0x20>;
911		interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>;
912		vdd-supply = <&vreg_misc_3p3>;
913		vddl-supply = <&vreg_s10b>;
914
915		wakeup-source;
916	};
917
918	keyboard@68 {
919		compatible = "hid-over-i2c";
920		reg = <0x68>;
921
922		hid-descr-addr = <0x1>;
923		interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
924		vdd-supply = <&vreg_misc_3p3>;
925		vddl-supply = <&vreg_s10b>;
926
927		pinctrl-names = "default";
928		pinctrl-0 = <&kybd_default>;
929
930		wakeup-source;
931	};
932};
933
934&pcie2a {
935	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
936	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
937
938	vddpe-3v3-supply = <&vreg_nvme>;
939
940	pinctrl-names = "default";
941	pinctrl-0 = <&pcie2a_default>;
942
943	status = "okay";
944};
945
946&pcie2a_phy {
947	vdda-phy-supply = <&vreg_l6d>;
948	vdda-pll-supply = <&vreg_l4d>;
949
950	status = "okay";
951};
952
953&pcie3a {
954	perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
955	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
956
957	vddpe-3v3-supply = <&vreg_wwan>;
958
959	pinctrl-names = "default";
960	pinctrl-0 = <&pcie3a_default>;
961
962	status = "okay";
963};
964
965&pcie3a_phy {
966	vdda-phy-supply = <&vreg_l6d>;
967	vdda-pll-supply = <&vreg_l4d>;
968
969	status = "okay";
970};
971
972&pcie4 {
973	max-link-speed = <2>;
974
975	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
976	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
977
978	vddpe-3v3-supply = <&vreg_wlan>;
979
980	pinctrl-names = "default";
981	pinctrl-0 = <&pcie4_default>;
982
983	status = "okay";
984};
985
986&pcie4_port0 {
987	wifi@0 {
988		compatible = "pci17cb,1103";
989		reg = <0x10000 0x0 0x0 0x0 0x0>;
990
991		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
992		vddaon-supply = <&vreg_pmu_aon_0p8>;
993		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
994		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
995		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
996		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
997		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
998		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
999		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
1000
1001		qcom,calibration-variant = "LE_X13S";
1002	};
1003};
1004
1005&pcie4_phy {
1006	vdda-phy-supply = <&vreg_l6d>;
1007	vdda-pll-supply = <&vreg_l4d>;
1008
1009	status = "okay";
1010};
1011
1012&pmc8280c_lpg {
1013	status = "okay";
1014};
1015
1016&pmk8280_adc_tm {
1017	status = "okay";
1018
1019	sys-therm@0 {
1020		reg = <0>;
1021		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
1022		qcom,hw-settle-time-us = <200>;
1023		qcom,avg-samples = <2>;
1024		qcom,ratiometric;
1025	};
1026
1027	sys-therm@1 {
1028		reg = <1>;
1029		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
1030		qcom,hw-settle-time-us = <200>;
1031		qcom,avg-samples = <2>;
1032		qcom,ratiometric;
1033	};
1034
1035	sys-therm@2 {
1036		reg = <2>;
1037		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
1038		qcom,hw-settle-time-us = <200>;
1039		qcom,avg-samples = <2>;
1040		qcom,ratiometric;
1041	};
1042
1043	sys-therm@3 {
1044		reg = <3>;
1045		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
1046		qcom,hw-settle-time-us = <200>;
1047		qcom,avg-samples = <2>;
1048		qcom,ratiometric;
1049	};
1050
1051	sys-therm@4 {
1052		reg = <4>;
1053		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
1054		qcom,hw-settle-time-us = <200>;
1055		qcom,avg-samples = <2>;
1056		qcom,ratiometric;
1057	};
1058
1059	sys-therm@5 {
1060		reg = <5>;
1061		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
1062		qcom,hw-settle-time-us = <200>;
1063		qcom,avg-samples = <2>;
1064		qcom,ratiometric;
1065	};
1066
1067	sys-therm@6 {
1068		reg = <6>;
1069		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
1070		qcom,hw-settle-time-us = <200>;
1071		qcom,avg-samples = <2>;
1072		qcom,ratiometric;
1073	};
1074
1075	sys-therm@7 {
1076		reg = <7>;
1077		io-channels = <&pmk8280_vadc PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
1078		qcom,hw-settle-time-us = <200>;
1079		qcom,avg-samples = <2>;
1080		qcom,ratiometric;
1081	};
1082};
1083
1084&pmk8280_pon_pwrkey {
1085	status = "okay";
1086};
1087
1088&pmk8280_pon_resin {
1089	status = "okay";
1090};
1091
1092&pmk8280_rtc {
1093	status = "okay";
1094};
1095
1096&pmk8280_vadc {
1097	channel@144 {
1098		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
1099		qcom,hw-settle-time = <200>;
1100		qcom,ratiometric;
1101		label = "sys_therm1";
1102	};
1103
1104	channel@145 {
1105		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
1106		qcom,hw-settle-time = <200>;
1107		qcom,ratiometric;
1108		label = "sys_therm2";
1109	};
1110
1111	channel@146 {
1112		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
1113		qcom,hw-settle-time = <200>;
1114		qcom,ratiometric;
1115		label = "sys_therm3";
1116	};
1117
1118	channel@147 {
1119		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
1120		qcom,hw-settle-time = <200>;
1121		qcom,ratiometric;
1122		label = "sys_therm4";
1123	};
1124
1125	channel@344 {
1126		reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
1127		qcom,hw-settle-time = <200>;
1128		qcom,ratiometric;
1129		label = "sys_therm5";
1130	};
1131
1132	channel@345 {
1133		reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
1134		qcom,hw-settle-time = <200>;
1135		qcom,ratiometric;
1136		label = "sys_therm6";
1137	};
1138
1139	channel@346 {
1140		reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
1141		qcom,hw-settle-time = <200>;
1142		qcom,ratiometric;
1143		label = "sys_therm7";
1144	};
1145
1146	channel@347 {
1147		reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
1148		qcom,hw-settle-time = <200>;
1149		qcom,ratiometric;
1150		label = "sys_therm8";
1151	};
1152};
1153
1154&qup0 {
1155	status = "okay";
1156};
1157
1158&qup1 {
1159	status = "okay";
1160};
1161
1162&qup2 {
1163	status = "okay";
1164};
1165
1166&remoteproc_adsp {
1167	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";
1168
1169	status = "okay";
1170};
1171
1172&remoteproc_nsp0 {
1173	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";
1174
1175	status = "okay";
1176};
1177
1178&remoteproc_slpi {
1179	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn";
1180
1181	status = "okay";
1182};
1183
1184&rxmacro {
1185	status = "okay";
1186};
1187
1188&sound {
1189	compatible = "qcom,sc8280xp-sndcard";
1190	model = "SC8280XP-LENOVO-X13S";
1191	audio-routing =
1192		"SpkrLeft IN", "WSA_SPK1 OUT",
1193		"SpkrRight IN", "WSA_SPK2 OUT",
1194		"IN1_HPHL", "HPHL_OUT",
1195		"IN2_HPHR", "HPHR_OUT",
1196		"AMIC2", "MIC BIAS2",
1197		"VA DMIC0", "MIC BIAS1",
1198		"VA DMIC1", "MIC BIAS1",
1199		"VA DMIC2", "MIC BIAS3",
1200		"TX SWR_ADC1", "ADC2_OUTPUT";
1201
1202	wcd-playback-dai-link {
1203		link-name = "WCD Playback";
1204		cpu {
1205			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
1206		};
1207
1208		codec {
1209			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
1210		};
1211
1212		platform {
1213			sound-dai = <&q6apm>;
1214		};
1215	};
1216
1217	wcd-capture-dai-link {
1218		link-name = "WCD Capture";
1219		cpu {
1220			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
1221		};
1222
1223		codec {
1224			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
1225		};
1226
1227		platform {
1228			sound-dai = <&q6apm>;
1229		};
1230	};
1231
1232	wsa-dai-link {
1233		link-name = "WSA Playback";
1234		cpu {
1235			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
1236		};
1237
1238		codec {
1239			sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
1240		};
1241
1242		platform {
1243			sound-dai = <&q6apm>;
1244		};
1245	};
1246
1247	va-dai-link {
1248		link-name = "VA Capture";
1249		cpu {
1250			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
1251		};
1252
1253		platform {
1254			sound-dai = <&q6apm>;
1255		};
1256
1257		codec {
1258			sound-dai = <&vamacro 0>;
1259		};
1260	};
1261};
1262
1263&swr0 {
1264	status = "okay";
1265
1266	left_spkr: wsa8830-left@0,1 {
1267		compatible = "sdw10217020200";
1268		reg = <0 1>;
1269		pinctrl-names = "default";
1270		pinctrl-0 = <&spkr_1_sd_n_default>;
1271		powerdown-gpios = <&tlmm 178 GPIO_ACTIVE_LOW>;
1272		#thermal-sensor-cells = <0>;
1273		sound-name-prefix = "SpkrLeft";
1274		#sound-dai-cells = <0>;
1275		vdd-supply = <&vreg_s10b>;
1276	};
1277
1278	right_spkr: wsa8830-right@0,2 {
1279		compatible = "sdw10217020200";
1280		reg = <0 2>;
1281		pinctrl-names = "default";
1282		pinctrl-0 = <&spkr_2_sd_n_default>;
1283		powerdown-gpios = <&tlmm 179 GPIO_ACTIVE_LOW>;
1284		#thermal-sensor-cells = <0>;
1285		sound-name-prefix = "SpkrRight";
1286		#sound-dai-cells = <0>;
1287		vdd-supply = <&vreg_s10b>;
1288	};
1289};
1290
1291&swr1 {
1292	status = "okay";
1293
1294	wcd_rx: wcd9380-rx@0,4 {
1295		compatible = "sdw20217010d00";
1296		reg = <0 4>;
1297		qcom,rx-port-mapping = <1 2 3 4 5>;
1298	};
1299};
1300
1301&swr2 {
1302	status = "okay";
1303
1304	wcd_tx: wcd9380-tx@0,3 {
1305		compatible = "sdw20217010d00";
1306		reg = <0 3>;
1307		qcom,tx-port-mapping = <1 1 2 3>;
1308	};
1309};
1310
1311&txmacro {
1312	status = "okay";
1313};
1314
1315&uart2 {
1316	pinctrl-0 = <&uart2_default>;
1317	pinctrl-names = "default";
1318
1319	status = "okay";
1320
1321	bluetooth {
1322		compatible = "qcom,wcn6855-bt";
1323
1324		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
1325		vddaon-supply = <&vreg_pmu_aon_0p8>;
1326		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1327		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
1328		vddbtcmx-supply = <&vreg_pmu_btcmx_0p8>;
1329		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1330		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1331		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
1332
1333		max-speed = <3200000>;
1334	};
1335};
1336
1337&usb_0 {
1338	status = "okay";
1339};
1340
1341&usb_0_dwc3 {
1342	dr_mode = "host";
1343};
1344
1345&usb_0_dwc3_hs {
1346	remote-endpoint = <&pmic_glink_con0_hs>;
1347};
1348
1349&usb_0_hsphy {
1350	vdda-pll-supply = <&vreg_l9d>;
1351	vdda18-supply = <&vreg_l1c>;
1352	vdda33-supply = <&vreg_l7d>;
1353
1354	status = "okay";
1355};
1356
1357&usb_0_qmpphy {
1358	vdda-phy-supply = <&vreg_l9d>;
1359	vdda-pll-supply = <&vreg_l4d>;
1360
1361	orientation-switch;
1362
1363	status = "okay";
1364};
1365
1366&usb_0_qmpphy_dp_in {
1367	remote-endpoint = <&mdss0_dp0_out>;
1368};
1369
1370&usb_0_qmpphy_out {
1371	remote-endpoint = <&pmic_glink_con0_ss>;
1372};
1373
1374&usb_1 {
1375	status = "okay";
1376};
1377
1378&usb_1_dwc3 {
1379	dr_mode = "host";
1380};
1381
1382&usb_1_dwc3_hs {
1383	remote-endpoint = <&pmic_glink_con1_hs>;
1384};
1385
1386&usb_1_hsphy {
1387	vdda-pll-supply = <&vreg_l4b>;
1388	vdda18-supply = <&vreg_l1c>;
1389	vdda33-supply = <&vreg_l13c>;
1390
1391	status = "okay";
1392};
1393
1394&usb_1_qmpphy {
1395	vdda-phy-supply = <&vreg_l4b>;
1396	vdda-pll-supply = <&vreg_l3b>;
1397
1398	orientation-switch;
1399
1400	status = "okay";
1401};
1402
1403&usb_1_qmpphy_dp_in {
1404	remote-endpoint = <&mdss0_dp1_out>;
1405};
1406
1407&usb_1_qmpphy_out {
1408	remote-endpoint = <&pmic_glink_con1_ss>;
1409};
1410
1411&usb_2 {
1412	status = "okay";
1413};
1414
1415&usb_2_hsphy0 {
1416	vdda-pll-supply = <&vreg_l1b>;
1417	vdda18-supply = <&vreg_l1c>;
1418	vdda33-supply = <&vreg_l7d>;
1419
1420	status = "okay";
1421};
1422
1423&usb_2_hsphy1 {
1424	vdda-pll-supply = <&vreg_l8d>;
1425	vdda18-supply = <&vreg_l1c>;
1426	vdda33-supply = <&vreg_l7d>;
1427
1428	status = "okay";
1429};
1430
1431&usb_2_hsphy2 {
1432	vdda-pll-supply = <&vreg_l10d>;
1433	vdda18-supply = <&vreg_l8c>;
1434	vdda33-supply = <&vreg_l2d>;
1435
1436	status = "okay";
1437};
1438
1439&usb_2_hsphy3 {
1440	vdda-pll-supply = <&vreg_l10d>;
1441	vdda18-supply = <&vreg_l8c>;
1442	vdda33-supply = <&vreg_l2d>;
1443
1444	status = "okay";
1445};
1446
1447&usb_2_qmpphy0 {
1448	vdda-phy-supply = <&vreg_l1b>;
1449	vdda-pll-supply = <&vreg_l4d>;
1450
1451	status = "okay";
1452};
1453
1454&usb_2_qmpphy1 {
1455	vdda-phy-supply = <&vreg_l8d>;
1456	vdda-pll-supply = <&vreg_l4d>;
1457
1458	status = "okay";
1459};
1460
1461&vamacro {
1462	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
1463	pinctrl-names = "default";
1464
1465	vdd-micb-supply = <&vreg_s10b>;
1466
1467	qcom,dmic-sample-rate = <4800000>;
1468
1469	status = "okay";
1470};
1471
1472&wsamacro {
1473	status = "okay";
1474};
1475
1476&xo_board_clk {
1477	clock-frequency = <38400000>;
1478};
1479
1480/* PINCTRL */
1481
1482&lpass_tlmm {
1483	status = "okay";
1484};
1485
1486&pmc8280_1_gpios {
1487	edp_bl_en: edp-bl-en-state {
1488		pins = "gpio8";
1489		function = "normal";
1490	};
1491
1492	edp_bl_reg_en: edp-bl-reg-en-state {
1493		pins = "gpio9";
1494		function = "normal";
1495	};
1496
1497	misc_3p3_reg_en: misc-3p3-reg-en-state {
1498		pins = "gpio1";
1499		function = "normal";
1500	};
1501};
1502
1503&pmc8280_2_gpios {
1504	wwan_sw_en: wwan-sw-en-state {
1505		pins = "gpio1";
1506		function = "normal";
1507	};
1508};
1509
1510&pmc8280c_gpios {
1511	edp_bl_pwm: edp-bl-pwm-state {
1512		pins = "gpio8";
1513		function = "func1";
1514	};
1515};
1516
1517&pmr735a_gpios {
1518	hastings_reg_en: hastings-reg-en-state {
1519		pins = "gpio1";
1520		function = "normal";
1521	};
1522};
1523
1524&tlmm {
1525	gpio-reserved-ranges = <70 2>, <74 6>, <125 2>, <128 2>, <154 4>;
1526
1527	bt_default: bt-default-state {
1528		hstp-bt-en-pins {
1529			pins = "gpio133";
1530			function = "gpio";
1531			drive-strength = <16>;
1532			bias-disable;
1533		};
1534
1535		hstp-sw-ctrl-pins {
1536			pins = "gpio132";
1537			function = "gpio";
1538			bias-pull-down;
1539		};
1540	};
1541
1542	cam_indicator_en: cam-indicator-en-state {
1543		pins = "gpio28";
1544		function = "gpio";
1545		drive-strength = <2>;
1546		bias-disable;
1547	};
1548
1549	cam_rgb_default: cam-rgb-default-state {
1550		mclk-pins {
1551			pins = "gpio17";
1552			function = "cam_mclk";
1553			drive-strength = <16>;
1554			bias-disable;
1555		};
1556
1557		sc-rgb-xshut-n-pins {
1558			pins = "gpio15";
1559			function = "gpio";
1560			drive-strength = <2>;
1561			bias-disable;
1562		};
1563	};
1564
1565	edp_reg_en: edp-reg-en-state {
1566		pins = "gpio25";
1567		function = "gpio";
1568		drive-strength = <16>;
1569		bias-disable;
1570	};
1571
1572	hall_int_n_default: hall-int-n-state {
1573		pins = "gpio107";
1574		function = "gpio";
1575		bias-disable;
1576	};
1577
1578	i2c4_default: i2c4-default-state {
1579		pins = "gpio171", "gpio172";
1580		function = "qup4";
1581		drive-strength = <16>;
1582		bias-disable;
1583	};
1584
1585	i2c11_default: i2c11-default-state {
1586		pins = "gpio18", "gpio19";
1587		function = "qup11";
1588		drive-strength = <16>;
1589		bias-disable;
1590	};
1591
1592	i2c21_default: i2c21-default-state {
1593		pins = "gpio81", "gpio82";
1594		function = "qup21";
1595		drive-strength = <16>;
1596		bias-disable;
1597	};
1598
1599	kybd_default: kybd-default-state {
1600		disable-pins {
1601			pins = "gpio102";
1602			function = "gpio";
1603			output-low;
1604		};
1605
1606		int-n-pins {
1607			pins = "gpio104";
1608			function = "gpio";
1609			bias-disable;
1610		};
1611
1612		reset-pins {
1613			pins = "gpio105";
1614			function = "gpio";
1615			bias-disable;
1616		};
1617	};
1618
1619	nvme_reg_en: nvme-reg-en-state {
1620		pins = "gpio135";
1621		function = "gpio";
1622		drive-strength = <2>;
1623		bias-disable;
1624	};
1625
1626	pcie2a_default: pcie2a-default-state {
1627		clkreq-n-pins {
1628			pins = "gpio142";
1629			function = "pcie2a_clkreq";
1630			drive-strength = <2>;
1631			bias-pull-up;
1632		};
1633
1634		perst-n-pins {
1635			pins = "gpio143";
1636			function = "gpio";
1637			drive-strength = <2>;
1638			bias-disable;
1639		};
1640
1641		wake-n-pins {
1642			pins = "gpio145";
1643			function = "gpio";
1644			drive-strength = <2>;
1645			bias-pull-up;
1646		};
1647	};
1648
1649	pcie3a_default: pcie3a-default-state {
1650		clkreq-n-pins {
1651			pins = "gpio150";
1652			function = "pcie3a_clkreq";
1653			drive-strength = <2>;
1654			bias-pull-up;
1655		};
1656
1657		perst-n-pins {
1658			pins = "gpio151";
1659			function = "gpio";
1660			drive-strength = <2>;
1661			bias-disable;
1662		};
1663
1664		wake-n-pins {
1665			pins = "gpio148";
1666			function = "gpio";
1667			drive-strength = <2>;
1668			bias-pull-up;
1669		};
1670	};
1671
1672	pcie4_default: pcie4-default-state {
1673		clkreq-n-pins {
1674			pins = "gpio140";
1675			function = "pcie4_clkreq";
1676			drive-strength = <2>;
1677			bias-pull-up;
1678		};
1679
1680		perst-n-pins {
1681			pins = "gpio141";
1682			function = "gpio";
1683			drive-strength = <2>;
1684			bias-disable;
1685		};
1686
1687		wake-n-pins {
1688			pins = "gpio139";
1689			function = "gpio";
1690			drive-strength = <2>;
1691			bias-pull-up;
1692		};
1693	};
1694
1695	pm8008_default: pm8008-default-state {
1696		int-pins {
1697			pins = "gpio41";
1698			function = "gpio";
1699			drive-strength = <2>;
1700			bias-pull-down;
1701		};
1702
1703		reset-n-pins {
1704			pins = "gpio42";
1705			function = "gpio";
1706			drive-strength = <2>;
1707			bias-disable;
1708		};
1709	};
1710
1711	spkr_1_sd_n_default: spkr-1-sd-n-default-state {
1712		perst-n-pins {
1713			pins = "gpio178";
1714			function = "gpio";
1715			drive-strength = <16>;
1716			bias-disable;
1717			output-high;
1718		};
1719	};
1720
1721	spkr_2_sd_n_default: spkr-2-sd-n-default-state {
1722		perst-n-pins {
1723			pins = "gpio179";
1724			function = "gpio";
1725			drive-strength = <16>;
1726			bias-disable;
1727			output-high;
1728		};
1729	};
1730
1731	tpad_default: tpad-default-state {
1732		int-n-pins {
1733			pins = "gpio182";
1734			function = "gpio";
1735			bias-disable;
1736		};
1737	};
1738
1739	ts0_default: ts0-default-state {
1740		int-n-pins {
1741			pins = "gpio175";
1742			function = "gpio";
1743			bias-disable;
1744		};
1745
1746		reset-n-pins {
1747			pins = "gpio99";
1748			function = "gpio";
1749			drive-strength = <2>;
1750			bias-disable;
1751		};
1752	};
1753
1754	uart2_default: uart2-default-state {
1755		cts-pins {
1756			pins = "gpio121";
1757			function = "qup2";
1758			bias-bus-hold;
1759		};
1760
1761		rts-pins {
1762			pins = "gpio122";
1763			function = "qup2";
1764			drive-strength = <2>;
1765			bias-disable;
1766		};
1767
1768		rx-pins {
1769			pins = "gpio124";
1770			function = "qup2";
1771			bias-pull-up;
1772		};
1773
1774		tx-pins {
1775			pins = "gpio123";
1776			function = "qup2";
1777			drive-strength = <2>;
1778			bias-disable;
1779		};
1780	};
1781
1782	usb0_sbu_default: usb0-sbu-state {
1783		oe-n-pins {
1784			pins = "gpio101";
1785			function = "gpio";
1786			bias-disable;
1787			drive-strength = <16>;
1788			output-high;
1789		};
1790
1791		sel-pins {
1792			pins = "gpio164";
1793			function = "gpio";
1794			bias-disable;
1795			drive-strength = <16>;
1796		};
1797	};
1798
1799	usb1_sbu_default: usb1-sbu-state {
1800		oe-n-pins {
1801			pins = "gpio48";
1802			function = "gpio";
1803			bias-disable;
1804			drive-strength = <16>;
1805			output-high;
1806		};
1807
1808		sel-pins {
1809			pins = "gpio47";
1810			function = "gpio";
1811			bias-disable;
1812			drive-strength = <16>;
1813		};
1814	};
1815
1816	wcd_default: wcd-default-state {
1817		reset-pins {
1818			pins = "gpio106";
1819			function = "gpio";
1820			bias-disable;
1821		};
1822	};
1823
1824	wlan_en: wlan-en-state {
1825		pins = "gpio134";
1826		function = "gpio";
1827		drive-strength = <8>;
1828		bias-pull-down;
1829	};
1830};
1831