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 "msm8996.dtsi"
9#include "pm8994.dtsi"
10#include "pmi8994.dtsi"
11#include "pmi8996.dtsi"
12#include <dt-bindings/input/input.h>
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
15#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
16
17/delete-node/ &adsp_mem;
18/delete-node/ &slpi_mem;
19/delete-node/ &venus_mem;
20/delete-node/ &gpu_mem;
21
22/ {
23	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
24	qcom,board-id = <8 0>;
25
26	chosen {
27		bootargs = "maxcpus=2";
28	};
29
30	reserved-memory {
31		ramoops@a7f00000 {
32			compatible = "ramoops";
33			reg = <0 0xa7f00000 0 0x100000>;
34			record-size = <0x20000>;
35			console-size = <0x40000>;
36			ftrace-size = <0x20000>;
37			pmsg-size = <0x20000>;
38			ecc-size = <16>;
39		};
40
41		adsp_mem: adsp@8ea00000 {
42			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
43			no-map;
44		};
45
46		gpu_mem: gpu@90400000 {
47			compatible = "shared-dma-pool";
48			reg = <0x0 0x90400000 0x0 0x2000>;
49			no-map;
50		};
51
52		slpi_mem: memory@90500000 {
53			reg = <0 0x90500000 0 0xa00000>;
54			no-map;
55		};
56
57		venus_mem: memory@90f00000 {
58			reg = <0 0x90f00000 0 0x500000>;
59			no-map;
60		};
61	};
62
63	panel_tvdd: tvdd-regulator {
64		compatible = "regulator-fixed";
65		regulator-name = "panel_tvdd";
66		gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
67		pinctrl-0 = <&tp_vddio_en>;
68		pinctrl-names = "default";
69	};
70
71	usb3_id: usb3-id {
72		compatible = "linux,extcon-usb-gpio";
73		id-gpio = <&tlmm 25 GPIO_ACTIVE_LOW>;
74		pinctrl-names = "default";
75		pinctrl-0 = <&usb_detect>;
76	};
77
78	vph_pwr: vph-pwr-regulator {
79		compatible = "regulator-fixed";
80		regulator-min-microvolt = <3700000>;
81		regulator-max-microvolt = <3700000>;
82		regulator-name = "vph_pwr";
83		regulator-always-on;
84		regulator-boot-on;
85	};
86
87	wlan_en: wlan-en-1-8v {
88		compatible = "regulator-fixed";
89		regulator-name = "wlan-en-regulator";
90		regulator-min-microvolt = <1800000>;
91		regulator-max-microvolt = <1800000>;
92		gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
93		pinctrl-names = "default";
94		pinctrl-0 = <&wl_reg_on>;
95
96		/* WLAN card specific delay */
97		startup-delay-us = <70000>;
98		enable-active-high;
99	};
100};
101
102&blsp1_i2c3 {
103	clock-frequency = <355000>;
104	status = "okay";
105
106	tof_sensor: vl53l0x@29 {
107		compatible = "st,vl53l0x";
108		reg = <0x29>;
109	};
110};
111
112&blsp1_uart2 {
113	status = "okay";
114};
115
116&blsp2_i2c5 {
117	clock-frequency = <355000>;
118	status = "okay";
119
120	/* FUSB301 USB-C controller */
121};
122
123&blsp2_i2c6 {
124	clock-frequency = <355000>;
125	status = "okay";
126
127	synaptics@2c {
128		compatible = "syna,rmi4-i2c";
129		reg = <0x2c>;
130		interrupt-parent = <&tlmm>;
131		interrupts = <125 IRQ_TYPE_EDGE_FALLING>;
132		vdd-supply = <&panel_tvdd>;
133
134		syna,reset-delay-ms = <220>;
135		syna,startup-delay-ms = <220>;
136		#address-cells = <1>;
137		#size-cells = <0>;
138
139		rmi4-f01@1 {
140			reg = <0x1>;
141			syna,nosleep-mode = <1>;
142		};
143
144		rmi4-f11@11 {
145			reg = <0x11>;
146			syna,sensor-type = <1>;
147		};
148	};
149};
150
151&blsp2_uart2 {
152	status = "okay";
153};
154
155&camera0_mclk {
156	drive-strength = <2>;
157	output-low;
158};
159
160&camera0_pwdn {
161	drive-strength = <2>;
162	output-low;
163};
164
165&camera0_rst {
166	pins = "gpio30";
167	drive-strength = <2>;
168	output-low;
169};
170
171&camera2_mclk {
172	drive-strength = <2>;
173	output-low;
174};
175
176&camera2_rst {
177	drive-strength = <2>;
178	output-low;
179};
180
181&hsusb_phy1 {
182	vdd-supply = <&pm8994_l28>;
183	vdda-pll-supply = <&pm8994_l12>;
184	vdda-phy-dpdm-supply = <&pm8994_l24>;
185	status = "okay";
186};
187
188&mmcc {
189	vdd-gfx-supply = <&vdd_gfx>;
190};
191
192&pcie0 {
193	perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
194	wake-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
195	vddpe-3v3-supply = <&wlan_en>;
196	vdda-supply = <&pm8994_l28>;
197	status = "okay";
198};
199
200&pcie_phy {
201	vdda-phy-supply = <&pm8994_l28>;
202	vdda-pll-supply = <&pm8994_l12>;
203	status = "okay";
204};
205
206&pm8994_gpios {
207	pinctrl-names = "default";
208	pinctrl-0 = <&pm8994_gpios_defaults>;
209	gpio-line-names =
210		"NC",
211		"VOL_DOWN_N",
212		"VOL_UP_N",
213		"SNAPSHOT_N",
214		"FOCUS_N",
215		"NC",
216		"NFC_VEN",
217		"NC",
218		"NC",
219		"NC",
220		"NC",
221		"NC",
222		"EAR_EN",
223		"NC",
224		"PM_DIVCLK1",
225		"PMI_CLK",
226		"NC",
227		"WL_SLEEP_CLK",
228		"NC",
229		"PMIC_SPON",
230		"UIM_BATT_ALARM",
231		"PMK_SLEEP_CLK";
232
233	/*
234	 * We don't yet know for sure which GPIOs are of our interest, but what
235	 * we do know is that if a vendor sets the pins to a non-default state, there's
236	 * probably a reason for it, and just to be on the safe side, we follow suit.
237	 */
238	pm8994_gpios_defaults: pm8994-gpios-default-state {
239		pm8994-gpio1-nc-pins {
240			pins = "gpio1";
241			function = PMIC_GPIO_FUNC_NORMAL;
242			drive-push-pull;
243			bias-high-impedance;
244		};
245
246		vol-down-n-pins {
247			pins = "gpio2";
248			function = PMIC_GPIO_FUNC_NORMAL;
249			drive-push-pull;
250			input-enable;
251			bias-pull-up;
252			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
253			power-source = <PM8994_GPIO_S4>;
254		};
255
256		vol-up-n-pins {
257			pins = "gpio3";
258			function = PMIC_GPIO_FUNC_NORMAL;
259			drive-push-pull;
260			input-enable;
261			bias-pull-up;
262			power-source = <PM8994_GPIO_S4>;
263		};
264
265		camera-snapshot-n-pins {
266			pins = "gpio4";
267			function = PMIC_GPIO_FUNC_NORMAL;
268			drive-push-pull;
269			input-enable;
270			bias-pull-up;
271			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
272			power-source = <PM8994_GPIO_S4>;
273		};
274
275		camera-focus-n-pins {
276			pins = "gpio5";
277			function = PMIC_GPIO_FUNC_NORMAL;
278			drive-push-pull;
279			input-enable;
280			bias-pull-up;
281			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
282			power-source = <PM8994_GPIO_S4>;
283		};
284
285		pm8994-gpio6-nc-pins {
286			pins = "gpio6";
287			function = PMIC_GPIO_FUNC_NORMAL;
288			drive-push-pull;
289			bias-high-impedance;
290			power-source = <PM8994_GPIO_VPH>;
291		};
292
293		nfc-download-pins {
294			pins = "gpio7";
295			function = PMIC_GPIO_FUNC_NORMAL;
296			output-low;
297			drive-push-pull;
298			bias-disable;
299			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
300			power-source = <PM8994_GPIO_S4>;
301		};
302
303		pm8994-gpio8-nc-pins {
304			pins = "gpio8";
305			function = PMIC_GPIO_FUNC_NORMAL;
306			output-low;
307			drive-push-pull;
308			bias-high-impedance;
309			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
310			power-source = <PM8994_GPIO_VPH>;
311		};
312
313		pm8994-gpio9-nc-pins {
314			pins = "gpio9";
315			function = PMIC_GPIO_FUNC_NORMAL;
316			output-high;
317			drive-push-pull;
318			bias-high-impedance;
319			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
320			power-source = <PM8994_GPIO_VPH>;
321		};
322
323		nfc-clock-pins {
324			pins = "gpio10";
325			function = PMIC_GPIO_FUNC_NORMAL;
326			input-enable;
327			drive-push-pull;
328			bias-pull-down;
329			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
330			power-source = <PM8994_GPIO_S4>;
331		};
332
333		pm8994-gpio11-nc-pins {
334			pins = "gpio11";
335			function = PMIC_GPIO_FUNC_NORMAL;
336			drive-push-pull;
337			bias-high-impedance;
338			power-source = <PM8994_GPIO_VPH>;
339		};
340
341		pm8994-gpio12-nc-pins {
342			pins = "gpio12";
343			function = PMIC_GPIO_FUNC_NORMAL;
344			drive-push-pull;
345			bias-high-impedance;
346			power-source = <PM8994_GPIO_VPH>;
347		};
348
349		ear-enable-pins {
350			pins = "gpio13";
351			function = PMIC_GPIO_FUNC_NORMAL;
352			output-high;
353			drive-push-pull;
354			bias-disable;
355			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
356			power-source = <PM8994_GPIO_S4>;
357		};
358
359		pm8994-gpio14-nc-pins {
360			pins = "gpio14";
361			function = PMIC_GPIO_FUNC_NORMAL;
362			drive-push-pull;
363			input-enable;
364			bias-high-impedance;
365			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
366			power-source = <PM8994_GPIO_VPH>;
367		};
368
369		pm-divclk1-gpio-pins {
370			pins = "gpio15";
371			function = "func1";
372			output-high;
373			drive-push-pull;
374			bias-high-impedance;
375			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
376			power-source = <PM8994_GPIO_VPH>;
377		};
378
379		pmi-clk-gpio-pins {
380			pins = "gpio16";
381			function = PMIC_GPIO_FUNC_NORMAL;
382			drive-push-pull;
383		};
384
385		pm8994-gpio17-nc-pins {
386			pins = "gpio17";
387			function = PMIC_GPIO_FUNC_NORMAL;
388			drive-push-pull;
389			bias-high-impedance;
390			power-source = <PM8994_GPIO_VPH>;
391		};
392
393		rome-sleep-pins {
394			pins = "gpio18";
395			function = PMIC_GPIO_FUNC_FUNC2;
396			output-low;
397			drive-push-pull;
398			bias-disable;
399			qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>;
400			power-source = <PM8994_GPIO_S4>;
401		};
402
403		pm8994-gpio19-nc-pins {
404			pins = "gpio19";
405			function = PMIC_GPIO_FUNC_NORMAL;
406			output-low;
407			drive-push-pull;
408			bias-high-impedance;
409			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
410			power-source = <PM8994_GPIO_VPH>;
411		};
412
413		pm8994-gpio22-nc-pins {
414			pins = "gpio22";
415			function = PMIC_GPIO_FUNC_NORMAL;
416			drive-push-pull;
417			bias-high-impedance;
418			power-source = <PM8994_GPIO_VPH>;
419		};
420	};
421};
422
423&pm8994_mpps {
424	pinctrl-names = "default";
425	pinctrl-0 = <&pm8994_mpps_defaults>;
426
427	gpio-line-names =
428		"SDC_UIM_VBIAS",
429		"LCD_ID_ADC",
430		"VREF_DACX",
431		"NC",
432		"FLASH_THERM",
433		"NC",
434		"NC",
435		"RF_ID";
436
437	pm8994_mpps_defaults: pm8994-mpps-default-state {
438		lcd-id_adc-mpp-pins {
439			pins = "mpp2";
440			function = "analog";
441			input-enable;
442			qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH6>;
443		};
444
445		pm-mpp4-nc-pins {
446			pins = "mpp4";
447			function = "digital";
448			bias-high-impedance;
449			power-source = <PM8994_GPIO_VPH>;
450		};
451
452		flash-therm-mpp-pins {
453			pins = "mpp5";
454			function = "analog";
455			input-enable;
456			qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
457		};
458
459		mpp6-nc-pins {
460			pins = "mpp6";
461			function = "digital";
462			bias-high-impedance;
463		};
464
465		rf-id-mpp-pins {
466			pins = "mpp8";
467			function = "analog";
468			input-enable;
469			qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH8>;
470		};
471	};
472};
473
474&pm8994_resin {
475	linux,code = <KEY_VOLUMEUP>;
476	status = "okay";
477};
478
479&pmi8994_gpios {
480	pinctrl-names = "default";
481	pinctrl-0 = <&pmi8994_gpios_defaults>;
482
483	gpio-line-names =
484		"VIB_LDO_EN",
485		"NC",
486		"NC",
487		"NC",
488		"NC",
489		"NC",
490		"NC",
491		"NC",
492		"USB_SWITCH_SEL",
493		"NC";
494
495	pmi8994_gpios_defaults: pmi8994-gpios-default-state {
496		vib-ldo-en-gpio-pins {
497			pins = "gpio1";
498			function = PMIC_GPIO_FUNC_NORMAL;
499			drive-push-pull;
500			output-low;
501			bias-disable;
502			power-source = <PM8994_GPIO_S4>;
503		};
504
505		pmi-gpio2-nc-pins {
506			pins = "gpio2";
507			function = PMIC_GPIO_FUNC_NORMAL;
508			drive-push-pull;
509			input-enable;
510			bias-high-impedance;
511			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
512			power-source = <PM8994_GPIO_VPH>;
513		};
514
515		pmi-gpio3-nc-pins {
516			pins = "gpio3";
517			function = PMIC_GPIO_FUNC_NORMAL;
518			drive-push-pull;
519			input-enable;
520			bias-high-impedance;
521			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
522			power-source = <PM8994_GPIO_VPH>;
523		};
524
525		pmi-gpio4-nc-pins {
526			pins = "gpio4";
527			function = PMIC_GPIO_FUNC_NORMAL;
528			drive-push-pull;
529			output-high;
530			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
531			power-source = <PM8994_GPIO_S4>;
532		};
533
534		pmi-gpio5-nc-pins {
535			pins = "gpio5";
536			function = PMIC_GPIO_FUNC_NORMAL;
537			drive-push-pull;
538			output-high;
539			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
540			power-source = <PM8994_GPIO_S4>;
541		};
542
543		pmi-gpio6-nc-pins {
544			pins = "gpio6";
545			function = PMIC_GPIO_FUNC_NORMAL;
546			drive-push-pull;
547			output-high;
548			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
549			power-source = <PM8994_GPIO_S4>;
550		};
551
552		pmi-gpio7-nc-pins {
553			pins = "gpio7";
554			function = PMIC_GPIO_FUNC_NORMAL;
555			drive-push-pull;
556			output-high;
557			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
558			power-source = <PM8994_GPIO_S4>;
559		};
560
561		pmi-gpio8-nc-pins {
562			pins = "gpio8";
563			function = PMIC_GPIO_FUNC_NORMAL;
564			drive-push-pull;
565			output-high;
566			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
567			power-source = <PM8994_GPIO_S4>;
568		};
569
570		usb-switch-sel-pins {
571			pins = "gpio9";
572			function = PMIC_GPIO_FUNC_NORMAL;
573			drive-push-pull;
574		};
575
576		pmi-gpio10-nc-pins {
577			pins = "gpio10";
578			function = PMIC_GPIO_FUNC_NORMAL;
579			output-low;
580			drive-push-pull;
581			bias-disable;
582			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
583			power-source = <PM8994_GPIO_S4>;
584		};
585	};
586};
587
588&pm8994_spmi_regulators {
589	qcom,saw-reg = <&saw3>;
590
591	pm8994_s9: s9 {
592		qcom,saw-slave;
593	};
594
595	pm8994_s10: s10 {
596		qcom,saw-slave;
597	};
598
599	pm8994_s11: s11 {
600		qcom,saw-leader;
601		regulator-name = "vdd_apcc";
602		regulator-always-on;
603		regulator-min-microvolt = <470000>;
604		regulator-max-microvolt = <1140000>;
605	};
606};
607
608&pmi8994_spmi_regulators {
609	vdd_gfx:
610	pmi8994_s2: s2 {
611		/* Pinned to a high value for now to avoid random crashes. */
612		regulator-min-microvolt = <1015000>;
613		regulator-max-microvolt = <1015000>;
614		regulator-name = "vdd_gfx";
615		regulator-always-on;
616	};
617};
618
619&pmi8994_wled {
620	default-brightness = <512>;
621	qcom,num-strings = <3>;
622	status = "okay";
623};
624
625&rpm_requests {
626	regulators-0 {
627		compatible = "qcom,rpm-pm8994-regulators";
628
629		vdd_s1-supply = <&vph_pwr>;
630		vdd_s2-supply = <&vph_pwr>;
631		vdd_s3-supply = <&vph_pwr>;
632		vdd_s4-supply = <&vph_pwr>;
633		vdd_s5-supply = <&vph_pwr>;
634		vdd_s6-supply = <&vph_pwr>;
635		vdd_s7-supply = <&vph_pwr>;
636		vdd_s8-supply = <&vph_pwr>;
637		vdd_s9-supply = <&vph_pwr>;
638		vdd_s10-supply = <&vph_pwr>;
639		vdd_s11-supply = <&vph_pwr>;
640		vdd_s12-supply = <&vph_pwr>;
641		vdd_l1-supply = <&pm8994_s3>;
642		vdd_l2_l26_l28-supply = <&pm8994_s3>;
643		vdd_l3_l11-supply = <&pm8994_s3>;
644		vdd_l4_l27_l31-supply = <&pm8994_s3>;
645		vdd_l5_l7-supply = <&pm8994_s5>;
646		vdd_l6_l12_l32-supply = <&pm8994_s5>;
647		vdd_l8_l16_l30-supply = <&vph_pwr>;
648		vdd_l14_l15-supply = <&pm8994_s5>;
649		vdd_l20_l21-supply = <&pm8994_s5>;
650		vdd_l25-supply = <&pm8994_s3>;
651		vdd_lvs1_2-supply = <&pm8994_s4>;
652
653		pm8994_s3: s3 {
654			regulator-min-microvolt = <1300000>;
655			regulator-max-microvolt = <1300000>;
656		};
657
658		pm8994_s4: s4 {
659			regulator-min-microvolt = <1800000>;
660			regulator-max-microvolt = <1800000>;
661			regulator-system-load = <325000>;
662			regulator-always-on;
663		};
664
665		pm8994_s5: s5 {
666			regulator-min-microvolt = <2150000>;
667			regulator-max-microvolt = <2150000>;
668		};
669
670		pm8994_s7: s7 {
671			regulator-min-microvolt = <800000>;
672			regulator-max-microvolt = <800000>;
673		};
674
675		pm8994_l1: l1 {
676			regulator-min-microvolt = <1000000>;
677			regulator-max-microvolt = <1000000>;
678		};
679
680		pm8994_l2: l2 {
681			regulator-min-microvolt = <1250000>;
682			regulator-max-microvolt = <1250000>;
683		};
684
685		pm8994_l3: l3 {
686			regulator-min-microvolt = <1100000>;
687			regulator-max-microvolt = <1100000>;
688		};
689
690		pm8994_l4: l4 {
691			regulator-min-microvolt = <1225000>;
692			regulator-max-microvolt = <1225000>;
693		};
694
695		/* L6 and L7 seem unused. */
696
697		pm8994_l8: l8 {
698			regulator-min-microvolt = <1800000>;
699			regulator-max-microvolt = <1800000>;
700		};
701
702		pm8994_l9: l9 {
703			regulator-min-microvolt = <1800000>;
704			regulator-max-microvolt = <1800000>;
705		};
706
707		pm8994_l10: l10 {
708			regulator-min-microvolt = <1800000>;
709			regulator-max-microvolt = <1800000>;
710		};
711
712		pm8994_l11: l11 {
713			regulator-min-microvolt = <1100000>;
714			regulator-max-microvolt = <1100000>;
715		};
716
717		pm8994_l12: l12 {
718			regulator-min-microvolt = <1800000>;
719			regulator-max-microvolt = <1800000>;
720			regulator-allow-set-load;
721		};
722
723		pm8994_l13: l13 {
724			regulator-min-microvolt = <1800000>;
725			regulator-max-microvolt = <2950000>;
726			regulator-system-load = <22000>;
727			regulator-allow-set-load;
728		};
729
730		pm8994_l14: l14 {
731			regulator-min-microvolt = <1700000>;
732			regulator-max-microvolt = <1900000>;
733		};
734
735		pm8994_l15: l15 {
736			regulator-min-microvolt = <1800000>;
737			regulator-max-microvolt = <1800000>;
738		};
739
740		pm8994_l16: l16 {
741			regulator-min-microvolt = <2700000>;
742			regulator-max-microvolt = <2700000>;
743		};
744
745		pm8994_l17: l17 {
746			regulator-min-microvolt = <2200000>;
747			regulator-max-microvolt = <2500000>;
748		};
749
750		pm8994_l18: l18 {
751			regulator-min-microvolt = <1800000>;
752			regulator-max-microvolt = <1800000>;
753		};
754
755		pm8994_l19: l19 {
756			regulator-min-microvolt = <3000000>;
757			regulator-max-microvolt = <3000000>;
758		};
759
760		pm8994_l20: l20 {
761			regulator-min-microvolt = <2950000>;
762			regulator-max-microvolt = <2950000>;
763			regulator-system-load = <570000>;
764			regulator-allow-set-load;
765		};
766
767		pm8994_l21: l21 {
768			regulator-min-microvolt = <2950000>;
769			regulator-max-microvolt = <2950000>;
770			regulator-system-load = <800000>;
771			regulator-allow-set-load;
772		};
773
774		pm8994_l22: l22 {
775			regulator-min-microvolt = <3000000>;
776			regulator-max-microvolt = <3000000>;
777		};
778
779		pm8994_l23: l23 {
780			regulator-min-microvolt = <2700000>;
781			regulator-max-microvolt = <2700000>;
782		};
783
784		pm8994_l24: l24 {
785			regulator-min-microvolt = <3075000>;
786			regulator-max-microvolt = <3075000>;
787			regulator-allow-set-load;
788		};
789
790		pm8994_l25: l25 {
791			regulator-min-microvolt = <1200000>;
792			regulator-max-microvolt = <1200000>;
793			regulator-allow-set-load;
794		};
795
796		pm8994_l27: l27 {
797			regulator-min-microvolt = <1000000>;
798			regulator-max-microvolt = <1200000>;
799		};
800
801		pm8994_l28: l28 {
802			regulator-min-microvolt = <925000>;
803			regulator-max-microvolt = <925000>;
804			regulator-allow-set-load;
805		};
806
807		pm8994_l29: l29 {
808			regulator-min-microvolt = <2700000>;
809			regulator-max-microvolt = <2700000>;
810		};
811
812		pm8994_l30: l30 { };
813
814		pm8994_l32: l32 {
815			regulator-min-microvolt = <1800000>;
816			regulator-max-microvolt = <1800000>;
817		};
818	};
819};
820
821&sdhc1 {
822	vmmc-supply = <&pm8994_l20>;
823	vqmmc-supply = <&pm8994_s4>;
824	mmc-hs400-1_8v;
825	mmc-hs200-1_8v;
826	status = "okay";
827};
828
829&sdhc2 {
830	cd-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
831	vmmc-supply = <&pm8994_l21>;
832	vqmmc-supply = <&pm8994_l13>;
833	status = "okay";
834};
835
836&tlmm {
837	gpio-reserved-ranges = <0 4>;
838	pinctrl-0 = <&sw_service_gpio>;
839	pinctrl-names = "default";
840
841	disp_reset_n_gpio: disp-reset-n-state {
842		pins = "gpio8";
843		function = "gpio";
844		drive-strength = <2>;
845		bias-disable;
846	};
847
848	mdp_vsync_p_gpio: mdp-vsync-p-state {
849		pins = "gpio10";
850		function = "mdp_vsync";
851		drive-strength = <2>;
852		bias-disable;
853	};
854
855	sw_service_gpio: sw-service-gpio-state {
856		pins = "gpio16";
857		function = "gpio";
858		drive-strength = <2>;
859		bias-pull-up;
860	};
861
862	usb_detect: usb-detect-state {
863		pins = "gpio25";
864		function = "gpio";
865		drive-strength = <2>;
866		bias-disable;
867		output-high;
868	};
869
870	uim_detect_en: uim-detect-en-state {
871		pins = "gpio29";
872		function = "gpio";
873		drive-strength = <2>;
874		bias-disable;
875		output-high;
876	};
877
878	tray_det_pin: tray-det-state {
879		pins = "gpio40";
880		function = "gpio";
881		drive-strength = <2>;
882		bias-disable;
883	};
884
885	tp_vddio_en: tp-vddio-en-state {
886		pins = "gpio50";
887		function = "gpio";
888		drive-strength = <2>;
889		bias-disable;
890		output-high;
891	};
892
893	lcd_vddio_en: lcd-vddio-en-state {
894		pins = "gpio51";
895		function = "gpio";
896		drive-strength = <2>;
897		bias-disable;
898		output-low;
899	};
900
901	wl_host_wake: wl-host-wake-state {
902		pins = "gpio79";
903		function = "gpio";
904		drive-strength = <2>;
905		bias-pull-down;
906	};
907
908	wl_reg_on: wl-reg-on-state {
909		pins = "gpio84";
910		function = "gpio";
911		drive-strength = <2>;
912		bias-disable;
913		output-low;
914	};
915
916	ts_reset_n: ts-rst-n-state {
917		pins = "gpio89";
918		function = "gpio";
919		drive-strength = <2>;
920	};
921
922	touch_int_n: touch-int-n-state {
923		pins = "gpio125";
924		function = "gpio";
925		drive-strength = <2>;
926		bias-pull-up;
927	};
928
929	touch_int_sleep: touch-int-sleep-state {
930		pins = "gpio125";
931		function = "gpio";
932		drive-strength = <2>;
933		bias-pull-down;
934	};
935};
936
937&usb3 {
938	qcom,select-utmi-as-pipe-clk;
939	status = "okay";
940};
941
942&usb3_dwc3 {
943	extcon = <&usb3_id>;
944	dr_mode = "peripheral";
945	maximum-speed = "high-speed";
946	phys = <&hsusb_phy1>;
947	phy-names = "usb2-phy";
948	snps,hird-threshold = /bits/ 8 <0>;
949};
950