1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
10#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11#include "sm8150.dtsi"
12#include "pm8150.dtsi"
13#include "pm8150b.dtsi"
14#include "pm8150l.dtsi"
15
16/delete-node/ &cdsp_mem;
17/delete-node/ &gpu_mem;
18/delete-node/ &ipa_fw_mem;
19/delete-node/ &ipa_gsi_mem;
20/delete-node/ &mpss_mem;
21/delete-node/ &slpi_mem;
22/delete-node/ &spss_mem;
23/delete-node/ &venus_mem;
24
25/ {
26	qcom,msm-id = <339 0x20000>; /* SM8150 v2 */
27	qcom,board-id = <8 0>;
28
29	chosen {
30		#address-cells = <2>;
31		#size-cells = <2>;
32		ranges;
33
34		framebuffer: framebuffer@9c000000 {
35			compatible = "simple-framebuffer";
36			reg = <0 0x9c000000 0 0x2300000>;
37			/* Griffin BL initializes in 2.5k mode, not 4k */
38			width = <1096>;
39			height = <2560>;
40			stride = <(1096 * 4)>;
41			format = "a8r8g8b8";
42			/*
43			 * That's (going to be) a lot of clocks, but it's necessary due
44			 * to unused clk cleanup & no panel driver yet (& no dispcc either)..
45			 */
46			clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
47				 <&gcc GCC_DISP_SF_AXI_CLK>;
48		};
49	};
50
51	gpio-keys {
52		compatible = "gpio-keys";
53
54		pinctrl-names = "default";
55		pinctrl-0 = <&focus_n &snapshot_n &vol_down_n>;
56
57		key-camera-focus {
58			label = "Camera Focus";
59			linux,code = <KEY_CAMERA_FOCUS>;
60			gpios = <&pm8150b_gpios 2 GPIO_ACTIVE_LOW>;
61			debounce-interval = <15>;
62			linux,can-disable;
63			wakeup-source;
64		};
65
66		key-camera-snapshot {
67			label = "Camera Snapshot";
68			linux,code = <KEY_CAMERA>;
69			gpios = <&pm8150b_gpios 1 GPIO_ACTIVE_LOW>;
70			debounce-interval = <15>;
71			linux,can-disable;
72			wakeup-source;
73		};
74
75		key-vol-down {
76			label = "Volume Down";
77			linux,code = <KEY_VOLUMEDOWN>;
78			gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>;
79			debounce-interval = <15>;
80			linux,can-disable;
81			wakeup-source;
82		};
83	};
84
85	cam0_vdig_vreg: cam0-vdig-regulator {
86		compatible = "regulator-fixed";
87		regulator-name = "camera0_vdig_vreg";
88		gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
89		enable-active-high;
90
91		pinctrl-0 = <&main_cam_pwr_en>;
92		pinctrl-names = "default";
93	};
94
95	cam1_vdig_vreg: cam1-vdig-regulator {
96		compatible = "regulator-fixed";
97		regulator-name = "camera1_vdig_vreg";
98		gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;
99		enable-active-high;
100
101		pinctrl-0 = <&sub_cam_pwr_en>;
102		pinctrl-names = "default";
103	};
104
105	cam2_vdig_vreg: cam2-vdig-regulator {
106		compatible = "regulator-fixed";
107		regulator-name = "camera2_vdig_vreg";
108		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
109		enable-active-high;
110
111		pinctrl-0 = <&chat_cam_pwr_en>;
112		pinctrl-names = "default";
113	};
114
115	cam3_vdig_vreg: cam3-vdig-regulator {
116		compatible = "regulator-fixed";
117		regulator-name = "camera3_vdig_vreg";
118		gpio = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
119		enable-active-high;
120
121		pinctrl-0 = <&supwc_pwr_en>;
122		pinctrl-names = "default";
123	};
124
125	cam_vmdr_vreg: cam-vmdr-regulator {
126		compatible = "regulator-fixed";
127		regulator-name = "camera_vmdr_vreg";
128		gpio = <&pm8150l_gpios 3 GPIO_ACTIVE_HIGH>;
129		enable-active-high;
130
131		pinctrl-0 = <&main_cam_pwr_vmdr_en>;
132		pinctrl-names = "default";
133	};
134
135	rgbcir_vreg: rgbcir-regulator {
136		compatible = "regulator-fixed";
137		regulator-name = "rgbcir_vreg";
138		gpio = <&tlmm 29 GPIO_ACTIVE_HIGH>;
139		enable-active-high;
140
141		pinctrl-0 = <&rgbc_ir_pwr_en>;
142		pinctrl-names = "default";
143	};
144
145	vph_pwr: vph-pwr-regulator {
146		compatible = "regulator-fixed";
147		regulator-name = "vph_pwr";
148		regulator-min-microvolt = <3700000>;
149		regulator-max-microvolt = <3700000>;
150	};
151
152	/*
153	 * Apparently RPMh does not provide support for PM8150 S4 because it
154	 * is always-on; model it as a fixed regulator.
155	 */
156	vreg_s4a_1p8: pm8150-s4 {
157		compatible = "regulator-fixed";
158		regulator-name = "vreg_s4a_1p8";
159
160		regulator-min-microvolt = <1800000>;
161		regulator-max-microvolt = <1800000>;
162
163		regulator-always-on;
164		regulator-boot-on;
165
166		vin-supply = <&vph_pwr>;
167	};
168
169	reserved-memory {
170		mpss_mem: memory@8dc00000 {
171			reg = <0x0 0x8dc00000 0x0 0x9600000>;
172			no-map;
173		};
174
175		venus_mem: memory@97200000 {
176			reg = <0x0 0x97200000 0x0 0x500000>;
177			no-map;
178		};
179
180		slpi_mem: memory@97700000 {
181			reg = <0x0 0x97700000 0x0 0x1400000>;
182			no-map;
183		};
184
185		ipa_fw_mem: memory@98b00000 {
186			reg = <0x0 0x98b00000 0x0 0x10000>;
187			no-map;
188		};
189
190		ipa_gsi_mem: memory@98b10000 {
191			reg = <0x0 0x98b10000 0x0 0x5000>;
192			no-map;
193		};
194
195		gpu_mem: memory@98b15000 {
196			reg = <0x0 0x98b15000 0x0 0x2000>;
197			no-map;
198		};
199
200		spss_mem: memory@98c00000 {
201			reg = <0x0 0x98c00000 0x0 0x100000>;
202			no-map;
203		};
204
205		cdsp_mem: memory@98d00000 {
206			reg = <0x0 0x98d00000 0x0 0x1400000>;
207			no-map;
208		};
209
210		cont_splash_mem: memory@9c000000 {
211			reg = <0x0 0x9c000000 0x0 0x2400000>;
212			no-map;
213		};
214
215		cdsp_sec_mem: memory@a4c00000 {
216			reg = <0x0 0xa4c00000 0x0 0x3c00000>;
217			no-map;
218		};
219
220		ramoops@ffc00000 {
221			compatible = "ramoops";
222			reg = <0x0 0xffc00000 0x0 0x100000>;
223			record-size = <0x1000>;
224			console-size = <0x40000>;
225			pmsg-size = <0x20000>;
226			ecc-size = <16>;
227			no-map;
228		};
229	};
230};
231
232&adsp_mem {
233	reg = <0x0 0x8be00000 0x0 0x1e00000>;
234};
235
236&apps_rsc {
237	regulators-0 {
238		compatible = "qcom,pm8150-rpmh-regulators";
239		qcom,pmic-id = "a";
240
241		vdd-s1-supply = <&vph_pwr>;
242		vdd-s2-supply = <&vph_pwr>;
243		vdd-s3-supply = <&vph_pwr>;
244		vdd-s4-supply = <&vph_pwr>;
245		vdd-s5-supply = <&vph_pwr>;
246		vdd-s6-supply = <&vph_pwr>;
247		vdd-s7-supply = <&vph_pwr>;
248		vdd-s8-supply = <&vph_pwr>;
249		vdd-s9-supply = <&vph_pwr>;
250		vdd-s10-supply = <&vph_pwr>;
251
252		vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
253		vdd-l2-l10-supply = <&vreg_bob>;
254		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
255		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
256		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
257		vdd-l13-l16-l17-supply = <&vreg_bob>;
258
259		vreg_s2a_0p6: smps2 {
260			regulator-min-microvolt = <600000>;
261			regulator-max-microvolt = <600000>;
262			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
263		};
264
265		vreg_s5a_1p9: smps5 {
266			regulator-min-microvolt = <1904000>;
267			regulator-max-microvolt = <2040000>;
268			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
269		};
270
271		vreg_s6a_0p9: smps6 {
272			regulator-min-microvolt = <920000>;
273			regulator-max-microvolt = <1128000>;
274			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275		};
276
277		vreg_l1a_0p75: ldo1 {
278			regulator-min-microvolt = <752000>;
279			regulator-max-microvolt = <752000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281		};
282
283		vreg_l2a_3p1: ldo2 {
284			regulator-min-microvolt = <3072000>;
285			regulator-max-microvolt = <3072000>;
286			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vreg_l3a_0p8: ldo3 {
290			regulator-min-microvolt = <480000>;
291			regulator-max-microvolt = <932000>;
292			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
293		};
294
295		vreg_l5a_0p875: ldo5 {
296			regulator-min-microvolt = <880000>;
297			regulator-max-microvolt = <880000>;
298			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
299		};
300
301		vreg_l6a_1p2: ldo6 {
302			regulator-min-microvolt = <1200000>;
303			regulator-max-microvolt = <1200000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		vreg_l7a_1p8: ldo7 {
308			regulator-min-microvolt = <1800000>;
309			regulator-max-microvolt = <1800000>;
310			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
311		};
312
313		vreg_l9a_1p2: ldo9 {
314			regulator-min-microvolt = <1200000>;
315			regulator-max-microvolt = <1200000>;
316			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
317		};
318
319		vreg_l10a_2p5: ldo10 {
320			regulator-min-microvolt = <2504000>;
321			regulator-max-microvolt = <2960000>;
322			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
323		};
324
325		vreg_l11a_0p8: ldo11 {
326			regulator-min-microvolt = <800000>;
327			regulator-max-microvolt = <800000>;
328			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
329		};
330
331		vreg_l12a_1p8: ldo12 {
332			regulator-min-microvolt = <1800000>;
333			regulator-max-microvolt = <1800000>;
334			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
335		};
336
337		/* L13 is unused. */
338
339		vreg_l14a_1p8: ldo14 {
340			regulator-min-microvolt = <1800000>;
341			regulator-max-microvolt = <1800000>;
342			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
343		};
344
345		vreg_l15a_1p7: ldo15 {
346			regulator-min-microvolt = <1704000>;
347			regulator-max-microvolt = <1704000>;
348			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
349		};
350
351		vreg_l16a_2p7: ldo16 {
352			regulator-min-microvolt = <2704000>;
353			regulator-max-microvolt = <2960000>;
354			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355		};
356
357		vreg_l17a_3p0: ldo17 {
358			regulator-min-microvolt = <2856000>;
359			regulator-max-microvolt = <3008000>;
360			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
361		};
362
363		vreg_l18a_0p8: ldo18 {
364			regulator-min-microvolt = <880000>;
365			regulator-max-microvolt = <912000>;
366			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367		};
368	};
369
370	regulators-1 {
371		compatible = "qcom,pm8150l-rpmh-regulators";
372		qcom,pmic-id = "c";
373
374		vdd-s1-supply = <&vph_pwr>;
375		vdd-s2-supply = <&vph_pwr>;
376		vdd-s3-supply = <&vph_pwr>;
377		vdd-s4-supply = <&vph_pwr>;
378		vdd-s5-supply = <&vph_pwr>;
379		vdd-s6-supply = <&vph_pwr>;
380		vdd-s7-supply = <&vph_pwr>;
381		vdd-s8-supply = <&vph_pwr>;
382
383		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
384		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
385		vdd-l4-l5-l6-supply = <&vreg_bob>;
386		vdd-l7-l11-supply = <&vreg_bob>;
387		vdd-l9-l10-supply = <&vreg_bob>;
388
389		vdd-bob-supply = <&vph_pwr>;
390		vdd-flash-supply = <&vreg_bob>;
391		vdd-rgb-supply = <&vreg_bob>;
392
393		vreg_bob: bob {
394			regulator-min-microvolt = <3350000>;
395			regulator-max-microvolt = <4000000>;
396			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
397			regulator-allow-bypass;
398		};
399
400		vreg_s1c_1p1: smps1 {
401			regulator-min-microvolt = <1128000>;
402			regulator-max-microvolt = <1128000>;
403			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
404		};
405
406		vreg_s8c_1p3: smps8 {
407			regulator-min-microvolt = <1352000>;
408			regulator-max-microvolt = <1352000>;
409			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
410		};
411
412		vreg_l1c_1p8: ldo1 {
413			regulator-min-microvolt = <1800000>;
414			regulator-max-microvolt = <1800000>;
415			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416		};
417
418		vreg_l2c_1p3: ldo2 {
419			regulator-min-microvolt = <1304000>;
420			regulator-max-microvolt = <1304000>;
421			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
422		};
423
424		vreg_l3c_1p2: ldo3 {
425			regulator-min-microvolt = <1200000>;
426			regulator-max-microvolt = <1200000>;
427			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
428		};
429
430		vreg_l4c_1p8: ldo4 {
431			regulator-min-microvolt = <1704000>;
432			regulator-max-microvolt = <2928000>;
433			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
434		};
435
436		vreg_l5c_1p8: ldo5 {
437			regulator-min-microvolt = <1704000>;
438			regulator-max-microvolt = <2928000>;
439			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
440		};
441
442		vreg_l6c_2p9: ldo6 {
443			regulator-min-microvolt = <1800000>;
444			regulator-max-microvolt = <2960000>;
445			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
446			regulator-allow-set-load;
447			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
448						   RPMH_REGULATOR_MODE_HPM>;
449		};
450
451		vreg_l7c_3p0: ldo7 {
452			regulator-min-microvolt = <2856000>;
453			regulator-max-microvolt = <3104000>;
454			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
455		};
456
457		vreg_l8c_1p8: ldo8 {
458			regulator-min-microvolt = <1800000>;
459			regulator-max-microvolt = <1800000>;
460			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
461		};
462
463		vreg_l9c_2p9: ldo9 {
464			regulator-min-microvolt = <2704000>;
465			regulator-max-microvolt = <2960000>;
466			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
467			regulator-allow-set-load;
468			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
469						   RPMH_REGULATOR_MODE_HPM>;
470		};
471
472		vreg_l10c_3p3: ldo10 {
473			regulator-min-microvolt = <3000000>;
474			regulator-max-microvolt = <3312000>;
475			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
476		};
477
478		vreg_l11c_3p3: ldo11 {
479			regulator-min-microvolt = <3000000>;
480			regulator-max-microvolt = <3312000>;
481			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
482		};
483	};
484
485	/* PM8009 is not present on these boards, even if downstream sources suggest so. */
486};
487
488&i2c4 {
489	status = "okay";
490
491	/* Qcom SMB1355 @ c */
492	/* Qcom SMB1390 @ 10 */
493	/* Qcom FSA4480 USB-C audio switch @ 43 */
494
495	nfc@28 {
496		compatible = "nxp,nxp-nci-i2c";
497		reg = <0x28>;
498
499		interrupt-parent = <&tlmm>;
500		interrupts = <47 IRQ_TYPE_EDGE_RISING>;
501
502		enable-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
503		firmware-gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
504	};
505};
506
507&i2c7 {
508	status = "okay";
509
510	/* AMS TCS3490 RGB+IR color sensor @ 72 */
511};
512
513&i2c10 {
514	status = "okay";
515
516	/* Samsung touchscreen @ 48 */
517};
518
519&pm8150_gpios {
520	gpio-line-names = "VOL_DOWN_N", /* GPIO_1 */
521			  "",
522			  "NC",
523			  "NC",
524			  "",
525			  "NC",
526			  "SUPWC_PWR_EN",
527			  "",
528			  "NC",
529			  "NC"; /* GPIO_10 */
530
531	vol_down_n: vol-down-n-state {
532		pins = "gpio1";
533		function = "normal";
534		power-source = <0>;
535		bias-pull-up;
536		input-enable;
537	};
538
539	supwc_pwr_en: supwc-pwr-en-state {
540		pins = "gpio7";
541		function = "normal";
542		qcom,drive-strength = <1>;
543		power-source = <1>;
544		drive-push-pull;
545		output-low;
546	};
547};
548
549&pm8150b_gpios {
550	gpio-line-names = "SNAPSHOT_N", /* GPIO_1 */
551			  "FOCUS_N",
552			  "NC",
553			  "NC",
554			  "RF_LCD_ID_EN",
555			  "NC",
556			  "TS_VDDH_EN",
557			  "LCD_ID",
558			  "",
559			  "NC", /* GPIO_10 */
560			  "NC",
561			  "RF_ID";
562
563	snapshot_n: snapshot-n-state {
564		pins = "gpio1";
565		function = "normal";
566		power-source = <0>;
567		bias-pull-up;
568		input-enable;
569	};
570
571	focus_n: focus-n-state {
572		pins = "gpio2";
573		function = "normal";
574		power-source = <0>;
575		bias-pull-up;
576		input-enable;
577	};
578};
579
580&pm8150l_gpios {
581	gpio-line-names = "TS_VDDIO_EN", /* GPIO_1 */
582			  "NC",
583			  "MAIN_CAM_PWR_VMDR_EN",
584			  "NC",
585			  "",
586			  "NC",
587			  "NC",
588			  "FP_LDO_EN",
589			  "NC",
590			  "NC", /* GPIO_10 */
591			  "NC",
592			  "NC";
593
594	main_cam_pwr_vmdr_en: main-cam-pwr-vmdr-en-state {
595		pins = "gpio3";
596		function = "normal";
597		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
598		power-source = <0>;
599		drive-push-pull;
600		output-low;
601	};
602};
603
604&pon_pwrkey {
605	status = "okay";
606};
607
608&pon_resin {
609	linux,code = <KEY_VOLUMEUP>;
610	status = "okay";
611};
612
613&qupv3_id_0 {
614	status = "okay";
615};
616
617&qupv3_id_1 {
618	status = "okay";
619};
620
621&sdhc_2 {
622	vmmc-supply = <&vreg_l9c_2p9>;
623	vqmmc-supply = <&vreg_l6c_2p9>;
624	cd-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
625	bus-width = <4>;
626	no-sdio;
627	no-mmc;
628
629	status = "okay";
630};
631
632&tlmm {
633	gpio-reserved-ranges = <126 4>;
634	gpio-line-names = "NFC_ESE_SPI_MISO", /* GPIO_0 */
635			  "NFC_ESE_SPI_MOSI",
636			  "NFC_ESE_SPI_SCLK",
637			  "NFC_ESE_SPI_CS_N",
638			  "NC",
639			  "NC",
640			  "DISP_RESET_N",
641			  "DEBUG_GPIO0",
642			  "MDP_VSYNC_P",
643			  "TS_I2C_SDA",
644			  "TS_I2C_SCL", /* GPIO_10 */
645			  "CAM_SOF",
646			  "CAM2_RST_N",
647			  "CAM_MCLK0",
648			  "CAM_MCLK1",
649			  "CAM_MCLK2",
650			  "CAM_MCLK3",
651			  "CCI_I2C_SDA0",
652			  "CCI_I2C_SCL0",
653			  "CCI_I2C_SDA1",
654			  "CCI_I2C_SCL1", /* GPIO_20 */
655			  "NC",
656			  "MAIN_CAM_PWR_EN",
657			  "CAM3_RST_N",
658			  "NC",
659			  "CHAT_CAM_PWR_EN",
660			  "NC",
661			  "NC",
662			  "CAM0_RST_N",
663			  "RGBC_IR_PWR_EN",
664			  "CAM1_RST_N", /* GPIO_30 */
665			  "CCI_I2C_SDA2",
666			  "CCI_I2C_SCL2",
667			  "CCI_I2C_SDA3",
668			  "CCI_I2C_SCL3",
669			  "NC",
670			  "DEBUG_GPIO1",
671			  "RGBC_IR_INT",
672			  "USB_CC_DIR",
673			  "NC",
674			  "NC", /* GPIO_40 */
675			  "NFC_EN",
676			  "NFC_ESE_PWR_REQ",
677			  "BT_HCI_UART_CTS_N",
678			  "BT_HCI_UART_RFR_N",
679			  "BT_HCI_UART_TXD",
680			  "BT_HCI_UART_RXD",
681			  "NFC_IRQ",
682			  "NFC_DWL_REQ",
683			  "UIM2_DETECT_EN",
684			  "WLAN_SW_CTRL", /* GPIO_50 */
685			  "APPS_I2C_SDA",
686			  "APPS_I2C_SCL",
687			  "NC",
688			  "TS_RESET_N",
689			  "NC",
690			  "NC",
691			  "NC",
692			  "NC",
693			  "HW_ID_0",
694			  "NC", /* GPIO_60 */
695			  "QLINK_REQUEST",
696			  "QLINK_ENABLE",
697			  "WMSS_RESET_N",
698			  "SDM_GRFC_8",
699			  "WDOG_DISABLE",
700			  "NC",
701			  "NC",
702			  "PA_INDICATOR_OR",
703			  "MSS_LTE_COXM_TXD",
704			  "MSS_LTE_COXM_RXD", /* GPIO_70 */
705			  "SDM_RFFE0_DATA",
706			  "SDM_RFFE0_CLK",
707			  "SDM_RFFE1_DATA",
708			  "SDM_RFFE1_CLK",
709			  "SDM_RFFE2_DATA",
710			  "SDM_RFFE2_CLK",
711			  "SDM_RFFE3_DATA",
712			  "SDM_RFFE3_CLK",
713			  "SUB_CAM_PWR_EN",
714			  "FP_RESET_N", /* GPIO_80 */
715			  "NC",
716			  "NC",
717			  "NC",
718			  "NC",
719			  "DEBUG_UART_TX",
720			  "DEBUG_UART_RX",
721			  "DVDT_WRT_DET_AND",
722			  "NC",
723			  "NC",
724			  "NC", /* GPIO_90 */
725			  "NC",
726			  "NC",
727			  "NC",
728			  "NC",
729			  "UDON_SWITCH_SEL",
730			  "SD_CARD_DET_N",
731			  "NC",
732			  "CAMSENSOR_I2C_SDA",
733			  "CAMSENSOR_I2C_SCL",
734			  "USB_AUDIO_EN1", /* GPIO_100 */
735			  "DISP_ERR_FG",
736			  "NC",
737			  "NC",
738			  "NC",
739			  "UIM2_DATA",
740			  "UIM2_CLK",
741			  "UIM2_RESET",
742			  "UIM2_DET",
743			  "UIM1_DATA",
744			  "UIM1_CLK", /* GPIO_110 */
745			  "UIM1_RESET",
746			  "UIM1_PRESENT",
747			  "NFC_CLK_REQ",
748			  "SW_SERVICE",
749			  "NC",
750			  "RF_ID_EXTENSION",
751			  "ALS_PROX_INT_N",
752			  "FP_INT",
753			  "DVDT_WRT_DET_OR",
754			  "BAROMETER_INT", /* GPIO_120 */
755			  "ACC_COVER_OPEN",
756			  "TS_INT_N",
757			  "CODEC_INT1_N",
758			  "CODEC_INT2_N",
759			  "TX_GTR_THRES_IN",
760			  "FP_SPI_MISO",
761			  "FP_SPI_MOSI",
762			  "FP_SPI_SCLK",
763			  "FP_SPI_CS_N",
764			  "NC", /* GPIO_130 */
765			  "DVDT_ENABLE",
766			  "ACCEL_INT",
767			  "NC",
768			  "MAG_INT_N",
769			  "NC",
770			  "FORCED_USB_BOOT",
771			  "NC",
772			  "NC",
773			  "HW_ID_1",
774			  "NC", /* GPIO_140 */
775			  "NC",
776			  "NC",
777			  "CODEC_RST_N",
778			  "CDC_SPI_MISO",
779			  "CDC_SPI_MOSI",
780			  "CDC_SPI_SCLK",
781			  "CDC_SPI_CS_N",
782			  "NC",
783			  "LPASS_SLIMBUS_CLK",
784			  "LPASS_SLIMBUS_DATA0", /* GPIO_150 */
785			  "LPASS_SLIMBUS_DATA1",
786			  "USB_AUDIO_EN2",
787			  "BT_FM_SLIMBUS_DATA",
788			  "BT_FM_SLIMBUS_CLK",
789			  "COMPASS_I2C_SDA",
790			  "COMPASS_I2C_SCL",
791			  "SSC_SPI_1_MISO",
792			  "SSC_SPI_1_MOSI",
793			  "SSC_SPI_1_CLK",
794			  "SSC_SPI_1_CS_N", /* GPIO_160 */
795			  "SSC_SENSOR_I2C_SDA",
796			  "SSC_SENSOR_I2C_SCL",
797			  "NC",
798			  "NC",
799			  "NC",
800			  "NC",
801			  "SSC_UART_1_TX",
802			  "SSC_UART_1_RX",
803			  "WL_CMD_CLK_CHAIN0",
804			  "WL_CMD_DATA_CHAIN0", /* GPIO_170 */
805			  "WL_CMD_CLK_CHAIN1",
806			  "WL_CMD_DATA_CHAIN1",
807			  "WL_BT_COEX_CLK",
808			  "WL_BT_COEX_DATA";
809
810	main_cam_pwr_en: main-cam-pwr-en-state {
811		pins = "gpio22";
812		function = "gpio";
813		drive-strength = <2>;
814		bias-disable;
815		output-low;
816	};
817
818	chat_cam_pwr_en: chat-cam-pwr-en-state {
819		pins = "gpio25";
820		function = "gpio";
821		drive-strength = <2>;
822		bias-disable;
823		output-low;
824	};
825
826	rgbc_ir_pwr_en: rgbc-ir-pwr-en-state {
827		pins = "gpio29";
828		function = "gpio";
829		drive-strength = <2>;
830		bias-disable;
831		output-low;
832	};
833
834	sub_cam_pwr_en: sub-cam-pwr-en-state {
835		pins = "gpio79";
836		function = "gpio";
837		drive-strength = <2>;
838		bias-pull-down;
839	};
840};
841
842&uart2 {
843	status = "okay";
844};
845
846/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
847&ufs_mem_hc { status = "disabled"; };
848&ufs_mem_phy { status = "disabled"; };
849
850&usb_1 {
851	status = "okay";
852};
853
854&usb_1_dwc3 {
855	dr_mode = "peripheral";
856};
857
858&usb_1_hsphy {
859	status = "okay";
860	vdda-pll-supply = <&vreg_l5a_0p875>;
861	vdda33-supply = <&vreg_l2a_3p1>;
862	vdda18-supply = <&vreg_l12a_1p8>;
863};
864
865&usb_1_qmpphy {
866	status = "okay";
867	vdda-phy-supply = <&vreg_l3c_1p2>;
868	vdda-pll-supply = <&vreg_l18a_0p8>;
869};
870