1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4 */
5
6#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
7#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
8#include "sm8350.dtsi"
9#include "pm8350.dtsi"
10#include "pm8350b.dtsi"
11#include "pm8350c.dtsi"
12#include "pmk8350.dtsi"
13#include "pmr735a.dtsi"
14#include "pmr735b.dtsi"
15
16/ {
17	/*
18	 * Yes, you are correct, there is NO MORE {msm,board,pmic}-id on SM8350!
19	 * Adding it will cause the bootloader to go crazy and randomly crash
20	 * shortly after closing UEFI boot services.. Perhaps that has something
21	 * to do with the OS running inside a VM now..?
22	 */
23
24	chassis-type = "handset";
25
26	chosen {
27		#address-cells = <2>;
28		#size-cells = <2>;
29		ranges;
30
31		framebuffer: framebuffer@e1000000 {
32			compatible = "simple-framebuffer";
33			reg = <0 0xe1000000 0 0x2300000>;
34
35			/* The display, even though it's 4K, initializes at 1080-ish p */
36			width = <1096>;
37			height = <2560>;
38			stride = <(1096 * 4)>;
39			format = "a8r8g8b8";
40			/*
41			 * That's (going to be) a lot of clocks, but it's necessary due
42			 * to unused clk cleanup & no panel driver yet
43			 */
44			clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
45				 <&gcc GCC_DISP_SF_AXI_CLK>;
46		};
47	};
48
49	gpio-keys {
50		compatible = "gpio-keys";
51
52		pinctrl-names = "default";
53		pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &g_assist_n>;
54
55		key-camera-focus {
56			label = "Camera Focus";
57			linux,code = <KEY_CAMERA_FOCUS>;
58			gpios = <&pm8350b_gpios 8 GPIO_ACTIVE_LOW>;
59			debounce-interval = <15>;
60			linux,can-disable;
61			wakeup-source;
62		};
63
64		key-camera-snapshot {
65			label = "Camera Snapshot";
66			linux,code = <KEY_CAMERA>;
67			gpios = <&pm8350b_gpios 5 GPIO_ACTIVE_LOW>;
68			debounce-interval = <15>;
69			linux,can-disable;
70			wakeup-source;
71		};
72
73		key-google-assist {
74			label = "Google Assistant Key";
75			gpios = <&pm8350_gpios 9 GPIO_ACTIVE_LOW>;
76			linux,code = <KEY_LEFTMETA>;
77			debounce-interval = <15>;
78			linux,can-disable;
79			wakeup-source;
80		};
81
82		key-vol-down {
83			label = "Volume Down";
84			linux,code = <KEY_VOLUMEDOWN>;
85			gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>;
86			debounce-interval = <15>;
87			linux,can-disable;
88			wakeup-source;
89		};
90	};
91
92	reserved-memory {
93		cont_splash_mem: memory@e1000000 {
94			reg = <0 0xe1000000 0 0x2300000>;
95			no-map;
96		};
97
98		ramoops@ffc00000 {
99			compatible = "ramoops";
100			reg = <0 0xffc00000 0 0x100000>;
101			console-size = <0x40000>;
102			record-size = <0x1000>;
103			no-map;
104		};
105	};
106
107	vph_pwr: vph-pwr-regulator {
108		compatible = "regulator-fixed";
109		regulator-name = "vph_pwr";
110		regulator-min-microvolt = <3700000>;
111		regulator-max-microvolt = <3700000>;
112
113		regulator-always-on;
114		regulator-boot-on;
115	};
116};
117
118&adsp {
119	status = "okay";
120	firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn";
121};
122
123&apps_rsc {
124	regulators-0 {
125		compatible = "qcom,pm8350-rpmh-regulators";
126		qcom,pmic-id = "b";
127
128		vdd-s1-supply = <&vph_pwr>;
129		vdd-s2-supply = <&vph_pwr>;
130		vdd-s3-supply = <&vph_pwr>;
131		vdd-s4-supply = <&vph_pwr>;
132		vdd-s5-supply = <&vph_pwr>;
133		vdd-s6-supply = <&vph_pwr>;
134		vdd-s7-supply = <&vph_pwr>;
135		vdd-s8-supply = <&vph_pwr>;
136		vdd-s9-supply = <&vph_pwr>;
137		vdd-s10-supply = <&vph_pwr>;
138		vdd-s11-supply = <&vph_pwr>;
139		vdd-s12-supply = <&vph_pwr>;
140
141		vdd-l1-l4-supply = <&pm8350_s11>;
142		vdd-l2-l7-supply = <&vreg_bob>;
143		vdd-l3-l5-supply = <&vreg_bob>;
144		vdd-l6-l9-l10-supply = <&pm8350_s11>;
145
146		/*
147		 * ARC regulators:
148		 * S5 - mx.lvl
149		 * S6 - gfx.lvl
150		 * S9 - mxc.lvl
151		 */
152
153		pm8350_s10: smps10 {
154			regulator-name = "pm8350_s10";
155			regulator-min-microvolt = <1800000>;
156			regulator-max-microvolt = <1800000>;
157			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
158		};
159
160		pm8350_s11: smps11 {
161			regulator-name = "pm8350_s11";
162			regulator-min-microvolt = <752000>;
163			regulator-max-microvolt = <1000000>;
164			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
165		};
166
167		pm8350_s12: smps12 {
168			regulator-name = "pm8350_s12";
169			regulator-min-microvolt = <1224000>;
170			regulator-max-microvolt = <1360000>;
171			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
172		};
173
174		pm8350_l1: ldo1 {
175			regulator-name = "pm8350_l1";
176			regulator-min-microvolt = <912000>;
177			regulator-max-microvolt = <920000>;
178			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
179		};
180
181		pm8350_l2: ldo2 {
182			regulator-name = "pm8350_l2";
183			regulator-min-microvolt = <3072000>;
184			regulator-max-microvolt = <3072000>;
185			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186		};
187
188		pm8350_l3: ldo3 {
189			regulator-name = "pm8350_l3";
190			regulator-min-microvolt = <904000>;
191			regulator-max-microvolt = <904000>;
192			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193		};
194
195		/* L4 - lmx.lvl (ARC) */
196
197		pm8350_l5: ldo5 {
198			regulator-name = "pm8350_l5";
199			regulator-min-microvolt = <880000>;
200			regulator-max-microvolt = <888000>;
201			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
202			regulator-allow-set-load;
203			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
204						   RPMH_REGULATOR_MODE_HPM>;
205		};
206
207		pm8350_l6: ldo6 {
208			regulator-name = "pm8350_l6";
209			regulator-min-microvolt = <1200000>;
210			regulator-max-microvolt = <1208000>;
211			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212			regulator-allow-set-load;
213			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
214						   RPMH_REGULATOR_MODE_HPM>;
215		};
216
217		pm8350_l7: ldo7 {
218			regulator-name = "pm8350_l7";
219			regulator-min-microvolt = <2400000>;
220			regulator-max-microvolt = <3008000>;
221			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
222			regulator-allow-set-load;
223			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
224						   RPMH_REGULATOR_MODE_HPM>;
225		};
226
227		/* L8 - lcx.lvl (ARC) */
228
229		pm8350_l9: ldo9 {
230			regulator-name = "pm8350_l9";
231			regulator-min-microvolt = <1200000>;
232			regulator-max-microvolt = <1200000>;
233			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
234			regulator-allow-set-load;
235			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
236						   RPMH_REGULATOR_MODE_HPM>;
237		};
238	};
239
240	regulators-1 {
241		compatible = "qcom,pm8350c-rpmh-regulators";
242		qcom,pmic-id = "c";
243
244		vdd-s1-supply = <&vph_pwr>;
245		vdd-s2-supply = <&vph_pwr>;
246		vdd-s3-supply = <&vph_pwr>;
247		vdd-s4-supply = <&vph_pwr>;
248		vdd-s5-supply = <&vph_pwr>;
249		vdd-s6-supply = <&vph_pwr>;
250		vdd-s7-supply = <&vph_pwr>;
251		vdd-s8-supply = <&vph_pwr>;
252		vdd-s9-supply = <&vph_pwr>;
253		vdd-s10-supply = <&vph_pwr>;
254
255		vdd-l1-l12-supply = <&pm8350c_s1>;
256		vdd-l2-l8-supply = <&pm8350c_s1>;
257		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
258		vdd-l6-l9-l11-supply = <&vreg_bob>;
259		vdd-l10-supply = <&pm8350_s12>;
260
261		vdd-bob-supply = <&vph_pwr>;
262
263		pm8350c_s1: smps1 {
264			regulator-name = "pm8350c_s1";
265			regulator-min-microvolt = <1800000>;
266			regulator-max-microvolt = <1952000>;
267			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268		};
269
270		/* S2 - ebi.lvl (ARC) */
271
272		pm8350c_s3: smps3 {
273			regulator-name = "pm8350c_s3";
274			regulator-min-microvolt = <300000>;
275			regulator-max-microvolt = <704000>;
276			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277		};
278
279		/*
280		 * ARC regulators:
281		 * S4 - mss.lvl
282		 * S6 - cx.lvl
283		 * S8 - mmcx.lvl
284		 */
285
286		pm8350c_s10: smps10 {
287			regulator-name = "pm8350c_s10";
288			regulator-min-microvolt = <1048000>;
289			regulator-max-microvolt = <1128000>;
290			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291		};
292
293		pm8350c_l1: ldo1 {
294			regulator-name = "pm8350c_l1";
295			regulator-min-microvolt = <1800000>;
296			regulator-max-microvolt = <1800000>;
297			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298		};
299
300		pm8350c_l2: ldo2 {
301			regulator-name = "pm8350c_l2";
302			regulator-min-microvolt = <1800000>;
303			regulator-max-microvolt = <1800000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		pm8350c_l3: ldo3 {
308			regulator-name = "pm8350c_l3";
309			regulator-min-microvolt = <3304000>;
310			regulator-max-microvolt = <3304000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		pm8350c_l4: ldo4 {
315			regulator-name = "pm8350c_l4";
316			regulator-min-microvolt = <1704000>;
317			regulator-max-microvolt = <3000000>;
318			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319		};
320
321		pm8350c_l5: ldo5 {
322			regulator-name = "pm8350c_l5";
323			regulator-min-microvolt = <1704000>;
324			regulator-max-microvolt = <3000000>;
325			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326		};
327
328		pm8350c_l6: ldo6 {
329			regulator-name = "pm8350c_l6";
330			regulator-min-microvolt = <1800000>;
331			regulator-max-microvolt = <2960000>;
332			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333		};
334
335		pm8350c_l7: ldo7 {
336			regulator-name = "pm8350c_l7";
337			regulator-min-microvolt = <3008000>;
338			regulator-max-microvolt = <3008000>;
339			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340		};
341
342		pm8350c_l8: ldo8 {
343			regulator-name = "pm8350c_l8";
344			regulator-min-microvolt = <1800000>;
345			regulator-max-microvolt = <1800000>;
346			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347		};
348
349		pm8350c_l9: ldo9 {
350			regulator-name = "pm8350c_l9";
351			regulator-min-microvolt = <2960000>;
352			/* Originally max = 3008000 but SDHCI expects 2960000 */
353			regulator-max-microvolt = <2960000>;
354			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355		};
356
357		pm8350c_l10: ldo10 {
358			regulator-name = "pm8350c_l10";
359			regulator-min-microvolt = <1200000>;
360			regulator-max-microvolt = <1200000>;
361			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
362		};
363
364		pm8350c_l11: ldo11 {
365			regulator-name = "pm8350c_l11";
366			regulator-min-microvolt = <2400000>;
367			regulator-max-microvolt = <3008000>;
368			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369		};
370
371		pm8350c_l12: ldo12 {
372			regulator-name = "pm8350c_l12";
373			regulator-min-microvolt = <1800000>;
374			regulator-max-microvolt = <2000000>;
375			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376		};
377
378		pm8350c_l13: ldo13 {
379			regulator-name = "pm8350c_l13";
380			regulator-min-microvolt = <3000000>;
381			regulator-max-microvolt = <3000000>;
382			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383		};
384
385		vreg_bob: bob {
386			regulator-name = "vreg_bob";
387			regulator-min-microvolt = <3400000>;
388			regulator-max-microvolt = <3960000>;
389			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
390		};
391	};
392
393	/* TODO: Add pm8350b (just one ldo) once the driver part is in */
394
395	regulators-2 {
396		compatible = "qcom,pmr735a-rpmh-regulators";
397		qcom,pmic-id = "e";
398
399		vdd-s1-supply = <&vph_pwr>;
400		vdd-s2-supply = <&vph_pwr>;
401		vdd-s3-supply = <&vph_pwr>;
402
403		vdd-l1-l2-supply = <&pmr735a_s2>;
404		vdd-l3-supply = <&pmr735a_s1>;
405		vdd-l4-supply = <&pm8350c_s1>;
406		vdd-l5-l6-supply = <&pm8350c_s1>;
407		vdd-l7-bob-supply = <&vreg_bob>;
408
409		pmr735a_s1: smps1 {
410			regulator-name = "pmr735a_s1";
411			regulator-min-microvolt = <1200000>;
412			regulator-max-microvolt = <1280000>;
413		};
414
415		pmr735a_s2: smps2 {
416			regulator-name = "pmr735a_s2";
417			regulator-min-microvolt = <500000>;
418			regulator-max-microvolt = <976000>;
419		};
420
421		pmr735a_s3: smps3 {
422			regulator-name = "pmr735a_s3";
423			regulator-min-microvolt = <2208000>;
424			regulator-max-microvolt = <2352000>;
425		};
426
427		pmr735a_l1: ldo1 {
428			regulator-name = "pmr735a_l1";
429			regulator-min-microvolt = <912000>;
430			regulator-max-microvolt = <912000>;
431		};
432
433		pmr735a_l2: ldo2 {
434			regulator-name = "pmr735a_l2";
435			regulator-min-microvolt = <1200000>;
436			regulator-max-microvolt = <1200000>;
437		};
438
439		pmr735a_l3: ldo3 {
440			regulator-name = "pmr735a_l3";
441			regulator-min-microvolt = <1200000>;
442			regulator-max-microvolt = <1200000>;
443		};
444
445		pmr735a_l4: ldo4 {
446			regulator-name = "pmr735a_l4";
447			regulator-min-microvolt = <1776000>;
448			regulator-max-microvolt = <1872000>;
449		};
450
451		pmr735a_l5: ldo5 {
452			regulator-name = "pmr735a_l5";
453			regulator-min-microvolt = <800000>;
454			regulator-max-microvolt = <800000>;
455		};
456
457		pmr735a_l6: ldo6 {
458			regulator-name = "pmr735a_l6";
459			regulator-min-microvolt = <480000>;
460			regulator-max-microvolt = <904000>;
461		};
462
463		pmr735a_l7: ldo7 {
464			regulator-name = "pmr735a_l7";
465			regulator-min-microvolt = <2800000>;
466			regulator-max-microvolt = <2800000>;
467		};
468	};
469};
470
471&cdsp {
472	status = "okay";
473	firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn";
474};
475
476&i2c1 {
477	status = "okay";
478	clock-frequency = <1000000>;
479
480	/* Some subset of SONY IMX663 camera sensor @ 38 */
481};
482
483&i2c4 {
484	status = "okay";
485	clock-frequency = <400000>;
486
487	/* Samsung Touchscreen (needs I2C GPI DMA) @ 48 */
488};
489
490&i2c11 {
491	status = "okay";
492	clock-frequency = <1000000>;
493
494	cs35l41_l: speaker-amp@40 {
495		compatible = "cirrus,cs35l41";
496		reg = <0x40>;
497		interrupt-parent = <&tlmm>;
498		interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
499		reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
500		cirrus,boost-peak-milliamp = <4000>;
501		cirrus,boost-ind-nanohenry = <1000>;
502		cirrus,boost-cap-microfarad = <15>;
503		cirrus,asp-sdout-hiz = <3>;
504		cirrus,gpio2-src-select = <2>;
505		cirrus,gpio2-output-enable;
506		#sound-dai-cells = <1>;
507	};
508
509	cs35l41_r: speaker-amp@41 {
510		compatible = "cirrus,cs35l41";
511		reg = <0x41>;
512		interrupt-parent = <&tlmm>;
513		interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
514		reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
515		cirrus,boost-peak-milliamp = <4000>;
516		cirrus,boost-ind-nanohenry = <1000>;
517		cirrus,boost-cap-microfarad = <15>;
518		cirrus,asp-sdout-hiz = <3>;
519		cirrus,gpio2-src-select = <2>;
520		cirrus,gpio2-output-enable;
521		#sound-dai-cells = <1>;
522	};
523};
524
525&i2c12 {
526	status = "okay";
527	/* Clock frequency was not specified downstream, let's park it to 100 KHz */
528	clock-frequency = <100000>;
529
530	/* AMS TCS3490 RGB+IR color sensor @ 72 */
531};
532
533&i2c13 {
534	status = "okay";
535	/* Clock frequency was not specified downstream, let's park it to 100 KHz */
536	clock-frequency = <100000>;
537
538	/* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */
539};
540
541&i2c15 {
542	status = "okay";
543	clock-frequency = <400000>;
544
545	/* NXP SN1X0 NFC @ 28 */
546};
547
548&i2c17 {
549	status = "okay";
550	clock-frequency = <1000000>;
551
552	/* Cirrus Logic CS40L25A boosted haptics driver @ 40 */
553};
554
555&ipa {
556	qcom,gsi-loader = "self";
557	memory-region = <&pil_ipa_fw_mem>;
558	firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn";
559	status = "okay";
560};
561
562&mpss {
563	status = "okay";
564	firmware-name = "qcom/sm8350/Sony/sagami/modem.mbn";
565};
566
567&pm8350_gpios {
568	gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */
569			  "LCD_ID",
570			  "SDR_MMW_THERM",
571			  "RF_ID",
572			  "NC",
573			  "FP_LDO_EN",
574			  "SP_ARI_PWR_ALARM",
575			  "NC",
576			  "G_ASSIST_N",
577			  "PM8350_OPTION"; /* GPIO_10 */
578
579	g_assist_n: g-assist-n-state {
580		pins = "gpio9";
581		function = "normal";
582		power-source = <1>;
583		bias-pull-up;
584		input-enable;
585	};
586};
587
588&pm8350b_gpios {
589	snapshot_n: snapshot-n-state {
590		pins = "gpio5";
591		function = "normal";
592		power-source = <0>;
593		bias-pull-up;
594		input-enable;
595	};
596
597	focus_n: focus-n-state {
598		pins = "gpio8";
599		function = "normal";
600		power-source = <0>;
601		input-enable;
602		bias-pull-up;
603	};
604};
605
606&pmk8350_gpios {
607	gpio-line-names = "NC", /* GPIO_1 */
608			  "NC",
609			  "VOL_DOWN_N",
610			  "PMK8350_OPTION";
611
612	vol_down_n: vol-down-n-state {
613		pins = "gpio3";
614		function = "normal";
615		power-source = <0>;
616		bias-pull-up;
617		input-enable;
618	};
619};
620
621&pmk8350_rtc {
622	status = "okay";
623};
624
625&pon_pwrkey {
626	status = "okay";
627};
628
629&pon_resin {
630	status = "okay";
631	linux,code = <KEY_VOLUMEUP>;
632};
633
634&qupv3_id_0 {
635	status = "okay";
636};
637
638&qupv3_id_1 {
639	status = "okay";
640};
641
642&qupv3_id_2 {
643	status = "okay";
644};
645
646&sdhc_2 {
647	cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
648	pinctrl-names = "default", "sleep";
649	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_active>;
650	pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_sleep>;
651	vmmc-supply = <&pm8350c_l9>;
652	vqmmc-supply = <&pm8350c_l6>;
653	no-sdio;
654	no-mmc;
655	status = "okay";
656};
657
658&slpi {
659	status = "okay";
660	firmware-name = "qcom/sm8350/Sony/sagami/slpi.mbn";
661};
662
663&spi14 {
664	status = "okay";
665
666	/* NXP SN1X0 NFC Secure Element @ 0 */
667};
668
669&tlmm {
670	gpio-reserved-ranges = <44 4>;
671	gpio-line-names = "APPS_I2C_0_SDA", /* GPIO_0 */
672			  "APPS_I2C_0_SCL",
673			  "UWIDEC_PWR_EN",
674			  "HAP_RST_N",
675			  "NC",
676			  "NC",
677			  "PM8008_1_RESET_N",
678			  "NC",
679			  "OIS_TELE_I2C_SDA",
680			  "OIS_TELE_I2C_SCL",
681			  "PM8350_OPTION", /* GPIO_10 */
682			  "NC",
683			  "APPS_I2C_1_SDA",
684			  "APPS_I2C_1_SCL",
685			  "NC",
686			  "NC",
687			  "CAM1_RESET_N",
688			  "LEO_CAM0_RESET_N",
689			  "DEBUG_UART_TX",
690			  "DEBUG_UART_RX",
691			  "TS_I2C_SDA", /* GPIO_20 */
692			  "TS_I2C_SCL",
693			  "TS_RESET_N",
694			  "TS_INT_N",
695			  "DISP_RESET_N",
696			  "SW_SERVICE",
697			  "DISP_ERR_FG",
698			  "TX_GTR_THRES_IN",
699			  "NC",
700			  "NC",
701			  "NC", /* GPIO_30 */
702			  "NC",
703			  "NC",
704			  "NC",
705			  "NC",
706			  "NC",
707			  "SPK_AMP_INT_N",
708			  "SPK_AMP_RESET_N",
709			  "FP_INT_N",
710			  "FP_RESET_N",
711			  "NC", /* GPIO_40 */
712			  "NC",
713			  "DEBUG_GPIO0",
714			  "FORCE_USB_BOOT",
715			  "FP_SPI_MISO",
716			  "FP_SPI_MOSI",
717			  "FP_SPI_CLK",
718			  "FP_SPI_CS_N",
719			  "SPK_AMP_I2C_SDA",
720			  "SPK_AMP_I2C_SCL",
721			  "NC", /* GPIO_50 */
722			  "HAP_INT_N",
723			  "CAMSENSOR_I2C_SDA",
724			  "CAMSENSOR_I2C_SCL",
725			  "SBU_SW_OE",
726			  "SBU_SW_SEL",
727			  "NFC_ESE_SPI_MISO",
728			  "NFC_ESE_SPI_MOSI",
729			  "NFC_ESE_SPI_CLK",
730			  "NFC_ESE_SPI_CS",
731			  "NFC_I2C_SDA", /* GPIO_60 */
732			  "NFC_I2C_SCL",
733			  "NFC_EN",
734			  "NFC_CLK_REQ",
735			  "HST_WLAN_EN",
736			  "HST_BT_EN",
737			  "HW_ID_0",
738			  "HW_ID_1",
739			  "HST_BT_UART_CTS",
740			  "HST_BT_UART_RFR",
741			  "HST_BT_UART_TX", /* GPIO_70 */
742			  "HST_BT_UART_RX",
743			  "HAP_I2C_SDA",
744			  "HAP_I2C_SCL",
745			  "RF_LCD_ID_EN",
746			  "RF_ID_EXTENSION",
747			  "NC",
748			  "NC",
749			  "NC",
750			  "NC",
751			  "HALL_INT_N", /* GPIO_80 */
752			  "USB_CC_DIR",
753			  "DISP_VSYNC",
754			  "NC",
755			  "NC",
756			  "CAM_SOF_TELE",
757			  "NFC_DWL_REQ",
758			  "NFC_IRQ",
759			  "WCD_RST_N",
760			  "ALS_PROX_INT_N",
761			  "NC", /* GPIO_90 */
762			  "NC",
763			  "TRAY_DET",
764			  "UDON_SWITCH_SEL",
765			  "PCIE0_RESET_N",
766			  "PCIE0_CLK_REQ_N",
767			  "PCIE0_WAKE_N",
768			  "CAM_SOF",
769			  "RF_ID_EXTENSION_2",
770			  "RGBC_IR_INT",
771			  "CAM_MCLK0", /* GPIO_100 */
772			  "CAM_MCLK1",
773			  "CAM_MCLK2",
774			  "CAM_MCLK3",
775			  "NC",
776			  "NC",
777			  "CAM2_RESET_N",
778			  "CCI_I2C0_SDA",
779			  "CCI_I2C0_SCL",
780			  "CCI_I2C1_SDA",
781			  "CCI_I2C1_SCL", /* GPIO_110 */
782			  "CCI_I2C2_SDA",
783			  "CCI_I2C2_SCL",
784			  "CCI_I2C3_SDA",
785			  "CCI_I2C3_SCL",
786			  "NC",
787			  "PM8008_1_IRQ",
788			  "CAM3_RESET_N",
789			  "IMU1_INT",
790			  "EXT_VD0_XVS",
791			  "NC", /* GPIO_120 */
792			  "NC",
793			  "NC",
794			  "NC",
795			  "NC",
796			  "HAP_I2S_CLK",
797			  "HAP_I2S_DOUT",
798			  "HAP_TRG1",
799			  "HAP_I2S_SYNC",
800			  "HST_BT_WLAN_SLIMBUS_CLK",
801			  "HST_BT_WLAN_SLIMBUS_DAT0", /* GPIO_130 */
802			  "NC",
803			  "UIM2_DETECT_EN",
804			  "UIM2_DATA",
805			  "UIM2_CLK",
806			  "UIM2_RESET",
807			  "UIM2_PRESENT",
808			  "UIM1_DATA",
809			  "UIM1_CLK",
810			  "UIM1_RESET",
811			  "TRAY_DET", /* GPIO_140 */
812			  "SM_RFFE0_CLK",
813			  "SM_RFFE0_DATA",
814			  "SM_RFFE1_CLK",
815			  "SM_RFFE1_DATA",
816			  "SM_MSS_GRFC4",
817			  "SM_MSS_GRFC5",
818			  "SM_MSS_GRFC6",
819			  "SM_MSS_GRFC7",
820			  "SM_RFFE4_CLK",
821			  "SM_RFFE4_DATA", /* GPIO_150 */
822			  "WLAN_COEX_UART1_RX",
823			  "WLAN_COEX_UART1_TX",
824			  "HST_SW_CTRL",
825			  "DISP_VDDR_EN",
826			  "NC",
827			  "NC",
828			  "PA_INDICATOR_OR",
829			  "NC",
830			  "QLINK0_REQ",
831			  "QLINK0_EN", /* GPIO_160 */
832			  "QLINK0_WMSS_RESET_N",
833			  "NC",
834			  "NC",
835			  "NC",
836			  "PM8008_2_IRQ",
837			  "TELEC_PWR_EN",
838			  "PM8008_2_RESET_N",
839			  "WCD_SWR_TX_CLK",
840			  "WCD_SWR_TX_DATA0",
841			  "WCD_SWR_TX_DATA1", /* GPIO_170 */
842			  "WCD_SWR_RX_CLK",
843			  "WCD_SWR_RX_DATA0",
844			  "WCD_SWR_RX_DATA1",
845			  "SM_DMIC1_CLK",
846			  "SM_DMIC1_DATA",
847			  "SM_DMIC2_CLK",
848			  "SM_DMIC2_DATA",
849			  "SPK_AMP_I2S_CLK",
850			  "SPK_AMP_I2S_WS",
851			  "SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */
852			  "SPK_AMP_I2S_ASP_DOUT",
853			  "WCD_SWR_TX_DATA2",
854			  "NC",
855			  "NC",
856			  "NC",
857			  "NC",
858			  "IMU_SPI_MISO",
859			  "IMU_SPI_MOSI",
860			  "IMU_SPI_CLK",
861			  "IMU_SPI_CS_N", /* GPIO_190 */
862			  "MAG_I2C_SDA",
863			  "MAG_I2C_SCL",
864			  "SENSOR_I2C_SDA",
865			  "SENSOR_I2C_SCL",
866			  "NC",
867			  "NC",
868			  "NC",
869			  "NC",
870			  "HST_BLE_UART_TX",
871			  "HST_BLE_UART_RX", /* GPIO_200 */
872			  "HST_WLAN_UART_TX",
873			  "HST_WLAN_UART_RX";
874
875	ts_int_default: ts-int-default-state {
876		pins = "gpio23";
877		function = "gpio";
878		drive-strength = <2>;
879		bias-disable;
880		input-enable;
881	};
882
883	sdc2_card_det_active: sd-card-det-active-state {
884		pins = "gpio92";
885		function = "gpio";
886		drive-strength = <2>;
887		bias-pull-up;
888	};
889
890	sdc2_card_det_sleep: sd-card-det-sleep-state {
891		pins = "gpio92";
892		function = "gpio";
893		drive-strength = <2>;
894		bias-disable;
895	};
896};
897
898/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
899&ufs_mem_hc { status = "disabled"; };
900&ufs_mem_phy { status = "disabled"; };
901
902&usb_1 {
903	status = "okay";
904};
905
906&usb_1_dwc3 {
907	dr_mode = "peripheral";
908};
909
910&usb_1_hsphy {
911	status = "okay";
912
913	vdda-pll-supply = <&pm8350_l5>;
914	vdda18-supply = <&pm8350c_l1>;
915	vdda33-supply = <&pm8350_l2>;
916};
917
918&usb_1_qmpphy {
919	status = "okay";
920
921	vdda-phy-supply = <&pm8350_l6>;
922	vdda-pll-supply = <&pm8350_l1>;
923};
924