xref: /linux/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, AngeloGioacchino Del Regno
4 *                     <angelogioacchino.delregno@somainline.org>
5 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
6 */
7
8#include <dt-bindings/input/input.h>
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
11#include "msm8998.dtsi"
12#include "pm8005.dtsi"
13#include "pm8998.dtsi"
14#include "pmi8998.dtsi"
15
16/ {
17	/* required for bootloader to select correct board */
18	qcom,msm-id = <0x124 0x20000>, <0x124 0x20001>; /* 8998v2, v2.1 */
19	qcom,board-id = <8 0>;
20
21	clocks {
22		div1_mclk: divclk1 {
23			compatible = "gpio-gate-clock";
24			pinctrl-0 = <&div_clk1>;
25			pinctrl-names = "default";
26			clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
27			#clock-cells = <0>;
28			enable-gpios = <&pm8998_gpios 13 GPIO_ACTIVE_HIGH>;
29		};
30	};
31
32	board_vbat: vbat-regulator {
33		compatible = "regulator-fixed";
34		regulator-name = "VBAT";
35
36		regulator-min-microvolt = <4000000>;
37		regulator-max-microvolt = <4000000>;
38		regulator-always-on;
39		regulator-boot-on;
40	};
41
42	cam0_vdig_vreg: cam0-vdig {
43		compatible = "regulator-fixed";
44		regulator-name = "cam0_vdig";
45		startup-delay-us = <0>;
46		enable-active-high;
47		gpio = <&tlmm 21 GPIO_ACTIVE_HIGH>;
48		pinctrl-names = "default";
49		pinctrl-0 = <&main_cam_pwr_en>;
50	};
51
52	cam1_vdig_vreg: cam1-vdig {
53		compatible = "regulator-fixed";
54		regulator-name = "cam1_vdig";
55		startup-delay-us = <0>;
56		enable-active-high;
57		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
58		pinctrl-names = "default";
59		pinctrl-0 = <&chat_cam_pwr_en>;
60		vin-supply = <&vreg_s3a_1p35>;
61	};
62
63	cam_vio_vreg: cam-vio-vreg {
64		compatible = "regulator-fixed";
65		regulator-name = "cam_vio_vreg";
66		startup-delay-us = <0>;
67		enable-active-high;
68		gpio = <&pmi8998_gpios 1 GPIO_ACTIVE_HIGH>;
69		pinctrl-names = "default";
70		pinctrl-0 = <&main_cam_pwr_io_en>;
71		vin-supply = <&vreg_lvs1a_1p8>;
72	};
73
74	touch_vddio_vreg: touch-vddio-vreg {
75		compatible = "regulator-fixed";
76		regulator-name = "touch_vddio_vreg";
77		startup-delay-us = <10000>;
78		gpio = <&tlmm 133 GPIO_ACTIVE_HIGH>;
79		pinctrl-names = "default";
80		pinctrl-0 = <&ts_vddio_en>;
81	};
82
83	vph_pwr: vph-pwr-regulator {
84		compatible = "regulator-fixed";
85		regulator-name = "vph_pwr";
86		regulator-always-on;
87		regulator-boot-on;
88	};
89
90	extcon_usb: extcon-usb {
91		compatible = "linux,extcon-usb-gpio";
92		id-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
93		vbus-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
94		pinctrl-names = "default";
95		pinctrl-0 = <&cc_dir_default &usb_detect_en>;
96	};
97
98	gpio-keys {
99		compatible = "gpio-keys";
100		label = "Side buttons";
101		pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &vol_up_n>;
102		pinctrl-names = "default";
103		button-camera-focus {
104			label = "Camera Focus";
105			gpios = <&pm8998_gpios 8 GPIO_ACTIVE_LOW>;
106			linux,code = <KEY_CAMERA_FOCUS>;
107			debounce-interval = <15>;
108		};
109
110		button-camera-snapshot {
111			label = "Camera Snapshot";
112			gpios = <&pm8998_gpios 7 GPIO_ACTIVE_LOW>;
113			linux,code = <KEY_CAMERA>;
114			debounce-interval = <15>;
115		};
116
117		button-vol-down {
118			label = "Volume Down";
119			gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>;
120			linux,code = <KEY_VOLUMEDOWN>;
121			wakeup-source;
122			debounce-interval = <15>;
123		};
124
125		button-vol-up {
126			label = "Volume Up";
127			gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
128			linux,code = <KEY_VOLUMEUP>;
129			wakeup-source;
130			debounce-interval = <15>;
131		};
132	};
133
134	gpio-hall-sensor {
135		compatible = "gpio-keys";
136		label = "Hall sensors";
137		pinctrl-names = "default";
138		pinctrl-0 = <&acc_cover_open>;
139
140		event-hall-sensor0 {
141			label = "Cover Hall Sensor";
142			gpios = <&tlmm 124 GPIO_ACTIVE_LOW>;
143			linux,input-type = <EV_SW>;
144			linux,code = <SW_LID>;
145			wakeup-source;
146			debounce-interval = <30>;
147		};
148	};
149
150	reserved-memory {
151		#address-cells = <2>;
152		#size-cells = <2>;
153		ranges;
154
155		hyp_mem: memory@85800000 {
156			reg = <0x0 0x85800000 0x0 0x3700000>;
157			no-map;
158		};
159
160		cont_splash_mem: memory@9d400000 {
161			reg = <0x0 0x9d400000 0x0 0x2400000>;
162			no-map;
163		};
164
165		zap_shader_region: memory@f6400000 {
166			compatible = "shared-dma-pool";
167			reg = <0x0 0xf6400000 0x0 0x2000>;
168			no-map;
169		};
170
171		adsp_region: memory@fe000000 {
172			reg = <0x0 0xfe000000 0x0 0x800000>;
173			no-map;
174		};
175
176		qseecom_region: memory@fe800000 {
177			reg = <0x0 0xfe800000 0x0 0x1400000>;
178			no-map;
179		};
180
181		ramoops@ffc00000 {
182			compatible = "ramoops";
183			reg = <0x0 0xffc00000 0x0 0x100000>;
184			record-size = <0x10000>;
185			console-size = <0x60000>;
186			ftrace-size = <0x10000>;
187			pmsg-size = <0x20000>;
188			ecc-size = <16>;
189		};
190	};
191
192	vibrator {
193		compatible = "gpio-vibrator";
194		enable-gpios = <&pmi8998_gpios 5 GPIO_ACTIVE_HIGH>;
195		pinctrl-names = "default";
196		pinctrl-0 = <&vib_ldo_en>;
197	};
198};
199
200&blsp1_i2c5 {
201	status = "okay";
202	clock-frequency = <355000>;
203
204	touchscreen@2c {
205		compatible = "syna,rmi4-i2c";
206		reg = <0x2c>;
207		#address-cells = <1>;
208		#size-cells = <0>;
209		interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
210
211		pinctrl-names = "default";
212		pinctrl-0 = <&ts_int_n>;
213
214		vdd-supply = <&vreg_l28_3p0>;
215		vio-supply = <&touch_vddio_vreg>;
216
217		syna,reset-delay-ms = <220>;
218		syna,startup-delay-ms = <1000>;
219
220		rmi4-f01@1 {
221			reg = <0x01>;
222			syna,nosleep-mode = <1>;
223		};
224
225		rmi4-f11@11 {
226			reg = <0x11>;
227			syna,sensor-type = <1>;
228		};
229	};
230};
231
232&blsp1_i2c5_sleep {
233	bias-disable;
234};
235
236&blsp1_uart3 {
237	status = "okay";
238
239	bluetooth {
240		compatible = "qcom,wcn3990-bt";
241
242		vddio-supply = <&vreg_s4a_1p8>;
243		vddxo-supply = <&vreg_l7a_1p8>;
244		vddrf-supply = <&vreg_l17a_1p3>;
245		vddch0-supply = <&vreg_l25a_3p3>;
246		max-speed = <3200000>;
247
248		clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
249	};
250};
251
252&blsp2_uart1 {
253	status = "okay";
254};
255
256&blsp2_i2c2 {
257	status = "okay";
258
259	proximity@29 {
260		compatible = "st,vl53l0x";
261		reg = <0x29>;
262
263		interrupt-parent = <&tlmm>;
264		interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
265
266		reset-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
267		vdd-supply = <&cam_vio_vreg>;
268
269		pinctrl-names = "default";
270		pinctrl-0 = <&tof_int_n &tof_reset>;
271	};
272};
273
274&ibb {
275	regulator-min-microamp = <800000>;
276	regulator-max-microamp = <800000>;
277	regulator-enable-ramp-delay = <200>;
278	regulator-over-current-protection;
279	regulator-pull-down;
280	regulator-ramp-delay = <1>;
281	regulator-settling-time-up-us = <600>;
282	regulator-settling-time-down-us = <1000>;
283	regulator-soft-start;
284	qcom,discharge-resistor-kohms = <300>;
285};
286
287&lab {
288	regulator-min-microamp = <200000>;
289	regulator-max-microamp = <200000>;
290	regulator-enable-ramp-delay = <500>;
291	regulator-over-current-protection;
292	regulator-pull-down;
293	regulator-ramp-delay = <1>;
294	regulator-settling-time-up-us = <50000>;
295	regulator-settling-time-down-us = <3000>;
296	regulator-soft-start;
297};
298
299&pm8005_gpios {
300	gpio-line-names = "NC", /* GPIO_1 */
301			  "NC",
302			  "SLB",
303			  "OPTION_1_PM8005";
304};
305
306&pm8005_regulators {
307	/* VDD_GFX supply */
308	pm8005_s1: s1 {
309		regulator-min-microvolt = <524000>;
310		regulator-max-microvolt = <1088000>;
311		regulator-enable-ramp-delay = <500>;
312		/* Hack until we rig up the gpu consumer */
313		regulator-always-on;
314	};
315};
316
317&pm8998_gpios {
318	gpio-line-names = "UIM_BATT_ALARM", /* GPIO_1 */
319			  "NC",
320			  "WLAN_SW_CTRL (DISALLOWED)",
321			  "SSC_PWR_EN",
322			  "VOL_DOWN_N",
323			  "VOL_UP_N",
324			  "SNAPSHOT_N",
325			  "FOCUS_N",
326			  "FLASH_THERM",
327			  "", /* GPIO_10 */
328			  "",
329			  "",
330			  "DIV_CLK1",
331			  "NC",
332			  "NC (DISALLOWED)",
333			  "DIV_CLK3",
334			  "NC",
335			  "NC",
336			  "NC",
337			  "NC (DISALLOWED)", /* GPIO_20 */
338			  "NFC_CLK_REQ",
339			  "NC (DISALLOWED)",
340			  "WCSS_PWR_REQ",
341			  "OPTION_1 (DISALLOWED)",
342			  "OPTION_2 (DISALLOWED)",
343			  "PM_SLB (DISALLOWED)";
344
345	vol_down_n: vol-down-n-state {
346		pins = "gpio5";
347		function = PMIC_GPIO_FUNC_NORMAL;
348		bias-pull-up;
349		input-enable;
350		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
351	};
352
353	vol_up_n: vol-up-n-state {
354		pins = "gpio6";
355		function = PMIC_GPIO_FUNC_NORMAL;
356		bias-pull-up;
357		input-enable;
358		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
359	};
360
361	focus_n: focus-n-state {
362		pins = "gpio7";
363		function = PMIC_GPIO_FUNC_NORMAL;
364		bias-pull-up;
365		input-enable;
366		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
367	};
368
369	snapshot_n: snapshot-n-state {
370		pins = "gpio8";
371		function = PMIC_GPIO_FUNC_NORMAL;
372		bias-pull-up;
373		input-enable;
374		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
375	};
376
377	div_clk1: div-clk1-state {
378		pins = "gpio13";
379		function = "func2";
380		power-source = <0>;
381	};
382};
383
384&pmi8998_gpios {
385	gpio-line-names = "MAIN_CAM_PWR_IO_EN", /* GPIO_1 */
386			  "NC",
387			  "NC",
388			  "TYPEC_UUSB_SEL",
389			  "VIB_LDO_EN",
390			  "NC",
391			  "DISPLAY_TYPE_SEL",
392			  "NC",
393			  "NC",
394			  "NC", /* GPIO_10 */
395			  "NC",
396			  "DIV_CLK3",
397			  "SPMI_I2C_SEL",
398			  "NC";
399
400	main_cam_pwr_io_en: main-cam-pwr-io-en-state {
401		pins = "gpio1";
402		function = PMIC_GPIO_FUNC_NORMAL;
403		bias-disable;
404		drive-push-pull;
405		output-low;
406		qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
407		power-source = <1>;
408	};
409
410	vib_ldo_en: vib-ldo-en-state {
411		pins = "gpio5";
412		function = PMIC_GPIO_FUNC_NORMAL;
413		bias-disable;
414		drive-push-pull;
415		output-low;
416		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
417		power-source = <0>;
418	};
419};
420
421&pmi8998_lpg {
422	qcom,power-source = <1>;
423
424	status = "okay";
425
426	multi-led {
427		color = <LED_COLOR_ID_RGB>;
428		function = LED_FUNCTION_STATUS;
429
430		#address-cells = <1>;
431		#size-cells = <0>;
432
433		led@3 {
434			reg = <3>;
435			color = <LED_COLOR_ID_BLUE>;
436		};
437
438		led@4 {
439			reg = <4>;
440			color = <LED_COLOR_ID_GREEN>;
441		};
442
443		led@5 {
444			reg = <5>;
445			color = <LED_COLOR_ID_RED>;
446		};
447	};
448};
449
450&qusb2phy {
451	status = "okay";
452
453	vdd-supply = <&vreg_l1a_0p875>;
454	vdda-pll-supply = <&vreg_l12a_1p8>;
455	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
456};
457
458&rpm_requests {
459	regulators-0 {
460		compatible = "qcom,rpm-pm8998-regulators";
461
462		vdd_s1-supply = <&vph_pwr>;
463		vdd_s2-supply = <&vph_pwr>;
464		vdd_s3-supply = <&vph_pwr>;
465		vdd_s4-supply = <&vph_pwr>;
466		vdd_s5-supply = <&vph_pwr>;
467		vdd_s6-supply = <&vph_pwr>;
468		vdd_s7-supply = <&vph_pwr>;
469		vdd_s8-supply = <&vph_pwr>;
470		vdd_s9-supply = <&vph_pwr>;
471		vdd_s10-supply = <&vph_pwr>;
472		vdd_s11-supply = <&vph_pwr>;
473		vdd_s12-supply = <&vph_pwr>;
474		vdd_s13-supply = <&vph_pwr>;
475		vdd_l1_l27-supply = <&vreg_s7a_1p025>;
476		vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
477		vdd_l3_l11-supply = <&vreg_s7a_1p025>;
478		vdd_l4_l5-supply = <&vreg_s7a_1p025>;
479		vdd_l6-supply = <&vreg_s5a_2p04>;
480		vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
481		vdd_l9-supply = <&vreg_bob>;
482		vdd_l10_l23_l25-supply = <&vreg_bob>;
483		vdd_l13_l19_l21-supply = <&vreg_bob>;
484		vdd_l16_l28-supply = <&vreg_bob>;
485		vdd_l18_l22-supply = <&vreg_bob>;
486		vdd_l20_l24-supply = <&vreg_bob>;
487		vdd_l26-supply = <&vreg_s3a_1p35>;
488		vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
489
490		vreg_s3a_1p35: s3 {
491			regulator-min-microvolt = <1352000>;
492			regulator-max-microvolt = <1352000>;
493		};
494
495		vreg_s4a_1p8: s4 {
496			regulator-min-microvolt = <1800000>;
497			regulator-max-microvolt = <1800000>;
498			regulator-system-load = <100000>;
499			regulator-allow-set-load;
500		};
501
502		vreg_s5a_2p04: s5 {
503			regulator-min-microvolt = <1904000>;
504			regulator-max-microvolt = <2032000>;
505		};
506
507		vreg_s7a_1p025: s7 {
508			regulator-min-microvolt = <900000>;
509			regulator-max-microvolt = <1028000>;
510		};
511
512		vreg_l1a_0p875: l1 {
513			regulator-min-microvolt = <880000>;
514			regulator-max-microvolt = <880000>;
515			regulator-system-load = <73400>;
516			regulator-allow-set-load;
517		};
518
519		vreg_l2a_1p2: l2 {
520			regulator-min-microvolt = <1200000>;
521			regulator-max-microvolt = <1200000>;
522			regulator-system-load = <12560>;
523			regulator-allow-set-load;
524		};
525
526		vreg_l3a_1p0: l3 {
527			regulator-min-microvolt = <1000000>;
528			regulator-max-microvolt = <1000000>;
529		};
530
531		vreg_l5a_0p8: l5 {
532			regulator-min-microvolt = <800000>;
533			regulator-max-microvolt = <800000>;
534		};
535
536		vreg_l6a_1p8: l6 {
537			regulator-min-microvolt = <1800000>;
538			regulator-max-microvolt = <1800000>;
539		};
540
541		vreg_l7a_1p8: l7 {
542			regulator-min-microvolt = <1800000>;
543			regulator-max-microvolt = <1800000>;
544		};
545
546		vreg_l8a_1p2: l8 {
547			regulator-min-microvolt = <1200000>;
548			regulator-max-microvolt = <1200000>;
549		};
550
551		vreg_l9a_1p8: l9 {
552			regulator-min-microvolt = <1808000>;
553			regulator-max-microvolt = <2960000>;
554		};
555
556		vreg_l10a_1p8: l10 {
557			regulator-min-microvolt = <1808000>;
558			regulator-max-microvolt = <2960000>;
559		};
560
561		vreg_l11a_1p0: l11 {
562			regulator-min-microvolt = <1000000>;
563			regulator-max-microvolt = <1000000>;
564		};
565
566		vreg_l12a_1p8: l12 {
567			regulator-min-microvolt = <1800000>;
568			regulator-max-microvolt = <1800000>;
569		};
570
571		vreg_l13a_2p95: l13 {
572			regulator-min-microvolt = <1808000>;
573			regulator-max-microvolt = <2960000>;
574			regulator-allow-set-load;
575		};
576
577		vreg_l14a_1p85: l14 {
578			regulator-min-microvolt = <1848000>;
579			regulator-max-microvolt = <1856000>;
580			regulator-system-load = <32000>;
581			regulator-allow-set-load;
582		};
583
584		vreg_l15a_1p8: l15 {
585			regulator-min-microvolt = <1800000>;
586			regulator-max-microvolt = <1800000>;
587		};
588
589		vreg_l16a_2p7: l16 {
590			regulator-min-microvolt = <2704000>;
591			regulator-max-microvolt = <2704000>;
592		};
593
594		vreg_l17a_1p3: l17 {
595			regulator-min-microvolt = <1304000>;
596			regulator-max-microvolt = <1304000>;
597		};
598
599		vreg_l18a_2p85: l18 { };
600
601		vreg_l19a_2p7: l19 {
602			regulator-min-microvolt = <2696000>;
603			regulator-max-microvolt = <2704000>;
604		};
605
606		vreg_l20a_2p95: l20 {
607			regulator-min-microvolt = <2960000>;
608			regulator-max-microvolt = <2960000>;
609			regulator-system-load = <10000>;
610			regulator-allow-set-load;
611		};
612
613		vreg_l21a_2p95: l21 {
614			regulator-min-microvolt = <2960000>;
615			regulator-max-microvolt = <2960000>;
616			regulator-system-load = <800000>;
617			regulator-allow-set-load;
618		};
619
620		vreg_l22a_2p85: l22 { };
621
622		vreg_l23a_3p3: l23 {
623			regulator-min-microvolt = <3312000>;
624			regulator-max-microvolt = <3312000>;
625		};
626
627		vreg_l24a_3p075: l24 {
628			regulator-min-microvolt = <3088000>;
629			regulator-max-microvolt = <3088000>;
630		};
631
632		vreg_l25a_3p3: l25 {
633			regulator-min-microvolt = <3104000>;
634			regulator-max-microvolt = <3312000>;
635		};
636
637		vreg_l26a_1p2: l26 {
638			regulator-min-microvolt = <1200000>;
639			regulator-max-microvolt = <1200000>;
640			regulator-allow-set-load;
641		};
642
643		vreg_l28_3p0: l28 {
644			regulator-min-microvolt = <3000000>;
645			regulator-max-microvolt = <3000000>;
646		};
647
648		vreg_lvs1a_1p8: lvs1 { };
649
650		vreg_lvs2a_1p8: lvs2 { };
651	};
652
653	regulators-1 {
654		compatible = "qcom,rpm-pmi8998-regulators";
655
656		vdd_bob-supply = <&vph_pwr>;
657
658		vreg_bob: bob {
659			regulator-min-microvolt = <3312000>;
660			regulator-max-microvolt = <3600000>;
661		};
662	};
663};
664
665&sdhc2 {
666	status = "okay";
667	cd-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
668
669	vmmc-supply = <&vreg_l21a_2p95>;
670	vqmmc-supply = <&vreg_l13a_2p95>;
671
672	pinctrl-names = "default", "sleep";
673	pinctrl-0 = <&sdc2_on &sdc2_cd>;
674	pinctrl-1 = <&sdc2_off &sdc2_cd>;
675};
676
677&tlmm {
678	gpio-reserved-ranges = <0 4>, <81 4>;
679	gpio-line-names = "", /* GPIO_0 */
680			  "",
681			  "",
682			  "",
683			  "DEBUG_UART_TX",
684			  "DEBUG_UART_RX",
685			  "CAMSENSOR_I2C_SDA",
686			  "CAMSENSOR_I2C_SCL",
687			  "NC",
688			  "NC",
689			  "MDP_VSYNC_P", /* GPIO_10 */
690			  "RGBC_IR_INT",
691			  "NFC_VEN",
692			  "CAM_MCLK0",
693			  "CAM_MCLK1",
694			  "NC",
695			  "NC",
696			  "CCI_I2C_SDA0",
697			  "CCI_I2C_SCL0",
698			  "CCI_I2C_SDA1",
699			  "CCI_I2C_SCL1", /* GPIO_20 */
700			  "MAIN_CAM_PWR_EN",
701			  "TOF_INT_N",
702			  "NC",
703			  "NC",
704			  "CHAT_CAM_PWR_EN",
705			  "NC",
706			  "TOF_RESET_N",
707			  "CAM2_RSTN",
708			  "NC",
709			  "CAM1_RSTN", /* GPIO_30 */
710			  "NC",
711			  "NC",
712			  "NC",
713			  "NC",
714			  "NC",
715			  "NC",
716			  "NC",
717			  "CC_DIR",
718			  "UIM2_DETECT_EN",
719			  "FP_RESET_N", /* GPIO_40 */
720			  "NC",
721			  "NC",
722			  "NC",
723			  "NC",
724			  "BT_HCI_UART_TXD",
725			  "BT_HCI_UART_RXD",
726			  "BT_HCI_UART_CTS_N",
727			  "BT_HCI_UART_RFR_N",
728			  "NC",
729			  "NC", /* GPIO_50 */
730			  "NC",
731			  "NC",
732			  "CODEC_INT2_N",
733			  "CODEC_INT1_N",
734			  "APPS_I2C_SDA",
735			  "APPS_I2C_SCL",
736			  "FORCED_USB_BOOT",
737			  "NC",
738			  "NC",
739			  "NC", /* GPIO_60 */
740			  "NC",
741			  "NC",
742			  "TRAY2_DET_DS",
743			  "CODEC_RST_N",
744			  "WSA_L_EN",
745			  "WSA_R_EN",
746			  "NC",
747			  "NC",
748			  "NC",
749			  "LPASS_SLIMBUS_CLK", /* GPIO_70 */
750			  "LPASS_SLIMBUS_DATA0",
751			  "LPASS_SLIMBUS_DATA1",
752			  "BT_FM_SLIMBUS_DATA",
753			  "BT_FM_SLIMBUS_CLK",
754			  "NC",
755			  "RF_LCD_ID_EN",
756			  "NC",
757			  "NC",
758			  "NC",
759			  "NC", /* GPIO_80 */
760			  "SW_SERVICE",
761			  "TX_GTR_THRES_IN",
762			  "HW_ID0",
763			  "HW_ID1",
764			  "NC",
765			  "NC",
766			  "TS_I2C_SDA",
767			  "TS_I2C_SCL",
768			  "TS_RESET_N",
769			  "NC", /* GPIO_90 */
770			  "NC",
771			  "NFC_IRQ",
772			  "NFC_DWLD_EN",
773			  "DISP_RESET_N",
774			  "TRAY2_DET",
775			  "CAM_SOF",
776			  "RFFE6_CLK",
777			  "RFFE6_DATA",
778			  "DEBUG_GPIO0",
779			  "DEBUG_GPIO1", /* GPIO_100 */
780			  "GRFC4",
781			  "NC",
782			  "NC",
783			  "RSVD",
784			  "UIM2_DATA",
785			  "UIM2_CLK",
786			  "UIM2_RESET",
787			  "UIM2_PRESENT",
788			  "UIM1_DATA",
789			  "UIM1_CLK", /* GPIO_110 */
790			  "UIM1_RST",
791			  "UIM1_PRESENT",
792			  "UIM_BATT_ALARM",
793			  "RSVD",
794			  "NC",
795			  "NC",
796			  "ACCEL_INT",
797			  "GYRO_INT",
798			  "COMPASS_INT",
799			  "ALS_PROX_INT_N", /* GPIO_120 */
800			  "FP_INT_N",
801			  "NC",
802			  "BAROMETER_INT",
803			  "ACC_COVER_OPEN",
804			  "TS_INT_N",
805			  "NC",
806			  "NC",
807			  "USB_DETECT_EN",
808			  "NC",
809			  "QLINK_REQUEST", /* GPIO_130 */
810			  "QLINK_ENABLE",
811			  "NC",
812			  "NC",
813			  "WMSS_RESET_N",
814			  "PA_INDICATOR_OR",
815			  "NC",
816			  "RFFE3_DATA",
817			  "RFFE3_CLK",
818			  "RFFE4_DATA",
819			  "RFFE4_CLK", /* GPIO_140 */
820			  "RFFE5_DATA",
821			  "RFFE5_CLK",
822			  "GNSS_EN",
823			  "MSS_LTE_COXM_TXD",
824			  "MSS_LTE_COXM_RXD",
825			  "RFFE2_DATA",
826			  "RFFE2_CLK",
827			  "RFFE1_DATA",
828			  "RFFE1_CLK";
829
830	mdp_vsync_p: mdp-vsync-p-state {
831		pins = "gpio10";
832		function = "mdp_vsync_a";
833		drive-strength = <2>;
834		bias-pull-down;
835	};
836
837	nfc_ven: nfc-ven-state {
838		pins = "gpio12";
839		function = "gpio";
840		bias-disable;
841		drive-strength = <2>;
842		output-low;
843	};
844
845	cam_mclk0_active: cam-mclk0-active-state {
846		pins = "gpio13";
847		function = "cam_mclk";
848		drive-strength = <2>;
849		bias-disable;
850	};
851
852	cam_mclk1_active: cam-mclk1-active-state {
853		pins = "gpio14";
854		function = "cam_mclk";
855		drive-strength = <2>;
856		bias-disable;
857	};
858
859	cci0_default: cci0-default-state {
860		pins = "gpio18", "gpio19";
861		function = "cci_i2c";
862		bias-disable;
863		drive-strength = <2>;
864	};
865
866	cci1_default: cci1-default-state {
867		pins = "gpio19", "gpio20";
868		function = "cci_i2c";
869		bias-disable;
870		drive-strength = <2>;
871	};
872
873	main_cam_pwr_en: main-cam-pwr-en-default-state {
874		pins = "gpio21";
875		function = "gpio";
876		bias-disable;
877		drive-strength = <2>;
878	};
879
880	tof_int_n: tof-int-n-state {
881		pins = "gpio22";
882		function = "gpio";
883		bias-pull-up;
884		drive-strength = <2>;
885	};
886
887	chat_cam_pwr_en: chat-cam-pwr-en-default-state {
888		pins = "gpio25";
889		function = "gpio";
890		bias-disable;
891		drive-strength = <2>;
892	};
893
894	tof_reset: tof-reset-state {
895		pins = "gpio27";
896		function = "gpio";
897		bias-disable;
898		drive-strength = <2>;
899	};
900
901	cc_dir_default: cc-dir-active-state {
902		pins = "gpio38";
903		function = "gpio";
904		bias-disable;
905		drive-strength = <16>;
906	};
907
908	acc_cover_open: acc-cover-open-state {
909		pins = "gpio124";
910		function = "gpio";
911		bias-disable;
912		drive-strength = <2>;
913	};
914
915	ts_int_n: ts-int-n-state {
916		pins = "gpio125";
917		function = "gpio";
918		drive-strength = <8>;
919		bias-pull-up;
920	};
921
922	usb_detect_en: usb-detect-en-active-state {
923		pins = "gpio128";
924		function = "gpio";
925		bias-disable;
926		drive-strength = <2>;
927		output-low;
928	};
929
930	ts_vddio_en: ts-vddio-en-default-state {
931		pins = "gpio133";
932		function = "gpio";
933		bias-disable;
934		drive-strength = <2>;
935		output-low;
936	};
937};
938
939/*
940 * WARNING:
941 * Disable UFS until card quirks are in to avoid unrecoverable hard-brick
942 * that would happen as soon as the UFS card gets probed as, without the
943 * required quirks, the bootloader will be erased right after card probe.
944 */
945&ufshc {
946	status = "disabled";
947};
948
949&ufsphy {
950	status = "disabled";
951};
952
953&usb3 {
954	status = "okay";
955};
956
957&usb3_dwc3 {
958	/* Force to peripheral until we have Type-C hooked up */
959	dr_mode = "peripheral";
960	extcon = <&extcon_usb>;
961};
962
963&usb3phy {
964	status = "okay";
965
966	vdda-phy-supply = <&vreg_l1a_0p875>;
967	vdda-pll-supply = <&vreg_l2a_1p2>;
968};
969