xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sdm630-sony-xperia-nile.dtsi (revision 354d7675fe12ace9cde344cb79c7ded792802f88)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2c66ec88fSEmmanuel Vadot/*
3*354d7675SEmmanuel Vadot * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org>
4*354d7675SEmmanuel Vadot * Copyright (c) 2020, AngeloGioacchino Del Regno
5*354d7675SEmmanuel Vadot *                     <angelogioacchino.delregno@somainline.org>
6c66ec88fSEmmanuel Vadot */
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot#include "pm660.dtsi"
9c66ec88fSEmmanuel Vadot#include "pm660l.dtsi"
10c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
11c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h>
12c66ec88fSEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot/ {
15c66ec88fSEmmanuel Vadot	/* required for bootloader to select correct board */
16c66ec88fSEmmanuel Vadot	qcom,msm-id = <318 0>;
17c66ec88fSEmmanuel Vadot	qcom,board-id = <8 1>;
18c66ec88fSEmmanuel Vadot	qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00>;
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot	/* This part enables graphical output via bootloader-enabled display */
21c66ec88fSEmmanuel Vadot	chosen {
22c66ec88fSEmmanuel Vadot		bootargs = "earlycon=tty0 console=tty0";
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot		#address-cells = <2>;
25c66ec88fSEmmanuel Vadot		#size-cells = <2>;
26c66ec88fSEmmanuel Vadot		ranges;
27c66ec88fSEmmanuel Vadot
28c66ec88fSEmmanuel Vadot		stdout-path = "framebuffer0";
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot		framebuffer0: framebuffer@9d400000 {
31c66ec88fSEmmanuel Vadot			compatible = "simple-framebuffer";
32c66ec88fSEmmanuel Vadot			reg = <0 0x9d400000 0 (1920 * 1080 * 4)>;
33c66ec88fSEmmanuel Vadot			width = <1080>;
34c66ec88fSEmmanuel Vadot			height = <1920>;
35c66ec88fSEmmanuel Vadot			stride = <(1080 * 4)>;
36c66ec88fSEmmanuel Vadot			format = "a8r8g8b8";
37c66ec88fSEmmanuel Vadot			status= "okay";
38c66ec88fSEmmanuel Vadot		};
39c66ec88fSEmmanuel Vadot	};
40c66ec88fSEmmanuel Vadot
41*354d7675SEmmanuel Vadot	board_vbat: vbat-regulator {
42*354d7675SEmmanuel Vadot		compatible = "regulator-fixed";
43*354d7675SEmmanuel Vadot		regulator-name = "VBAT";
44*354d7675SEmmanuel Vadot
45*354d7675SEmmanuel Vadot		regulator-min-microvolt = <4000000>;
46*354d7675SEmmanuel Vadot		regulator-max-microvolt = <4000000>;
47*354d7675SEmmanuel Vadot		regulator-always-on;
48*354d7675SEmmanuel Vadot		regulator-boot-on;
49*354d7675SEmmanuel Vadot	};
50*354d7675SEmmanuel Vadot
51*354d7675SEmmanuel Vadot	vph_pwr: vph-pwr-regulator {
52*354d7675SEmmanuel Vadot		compatible = "regulator-fixed";
53*354d7675SEmmanuel Vadot		regulator-name = "vph_pwr";
54*354d7675SEmmanuel Vadot
55*354d7675SEmmanuel Vadot		regulator-always-on;
56*354d7675SEmmanuel Vadot		regulator-boot-on;
57*354d7675SEmmanuel Vadot	};
58*354d7675SEmmanuel Vadot
59*354d7675SEmmanuel Vadot	cam_vdig_imx300_219_vreg: cam_vdig_imx300_219_vreg {
60*354d7675SEmmanuel Vadot		compatible = "regulator-fixed";
61*354d7675SEmmanuel Vadot		regulator-name = "cam_vdig_imx300_219_vreg";
62*354d7675SEmmanuel Vadot		startup-delay-us = <0>;
63*354d7675SEmmanuel Vadot		enable-active-high;
64*354d7675SEmmanuel Vadot		gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
65*354d7675SEmmanuel Vadot		pinctrl-names = "default";
66*354d7675SEmmanuel Vadot		pinctrl-0 = <&cam_vdig_default>;
67*354d7675SEmmanuel Vadot	};
68*354d7675SEmmanuel Vadot
69*354d7675SEmmanuel Vadot	cam_vana_front_vreg: cam_vana_front_vreg {
70*354d7675SEmmanuel Vadot		compatible = "regulator-fixed";
71*354d7675SEmmanuel Vadot		regulator-name = "cam_vana_front_vreg";
72*354d7675SEmmanuel Vadot		startup-delay-us = <0>;
73*354d7675SEmmanuel Vadot		enable-active-high;
74*354d7675SEmmanuel Vadot		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
75*354d7675SEmmanuel Vadot		pinctrl-names = "default";
76*354d7675SEmmanuel Vadot		pinctrl-0 = <&imx219_vana_default>;
77*354d7675SEmmanuel Vadot	};
78*354d7675SEmmanuel Vadot
79*354d7675SEmmanuel Vadot	cam_vana_rear_vreg: cam_vana_rear_vreg {
80*354d7675SEmmanuel Vadot		compatible = "regulator-fixed";
81*354d7675SEmmanuel Vadot		regulator-name = "cam_vana_rear_vreg";
82*354d7675SEmmanuel Vadot		startup-delay-us = <0>;
83*354d7675SEmmanuel Vadot		enable-active-high;
84*354d7675SEmmanuel Vadot		gpio = <&tlmm 50 GPIO_ACTIVE_HIGH>;
85*354d7675SEmmanuel Vadot		regulator-always-on;
86*354d7675SEmmanuel Vadot		pinctrl-names = "default";
87*354d7675SEmmanuel Vadot		pinctrl-0 = <&imx300_vana_default>;
88*354d7675SEmmanuel Vadot	};
89*354d7675SEmmanuel Vadot
90c66ec88fSEmmanuel Vadot	gpio_keys {
91c66ec88fSEmmanuel Vadot		status = "okay";
92c66ec88fSEmmanuel Vadot		compatible = "gpio-keys";
93c66ec88fSEmmanuel Vadot		input-name = "gpio-keys";
94c66ec88fSEmmanuel Vadot		#address-cells = <1>;
95c66ec88fSEmmanuel Vadot		#size-cells = <0>;
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot		camera_focus {
98c66ec88fSEmmanuel Vadot			label = "Camera Focus";
99c66ec88fSEmmanuel Vadot			gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
100c66ec88fSEmmanuel Vadot			linux,input-type = <1>;
101c66ec88fSEmmanuel Vadot			linux,code = <KEY_CAMERA_FOCUS>;
102c66ec88fSEmmanuel Vadot			debounce-interval = <15>;
103c66ec88fSEmmanuel Vadot		};
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot		camera_snapshot {
106c66ec88fSEmmanuel Vadot			label = "Camera Snapshot";
107c66ec88fSEmmanuel Vadot			gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
108c66ec88fSEmmanuel Vadot			linux,input-type = <1>;
109c66ec88fSEmmanuel Vadot			linux,code = <KEY_CAMERA>;
110c66ec88fSEmmanuel Vadot			debounce-interval = <15>;
111c66ec88fSEmmanuel Vadot		};
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot		vol_down {
114c66ec88fSEmmanuel Vadot			label = "Volume Down";
115c66ec88fSEmmanuel Vadot			gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
116c66ec88fSEmmanuel Vadot			linux,input-type = <1>;
117c66ec88fSEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
118c66ec88fSEmmanuel Vadot			gpio-key,wakeup;
119c66ec88fSEmmanuel Vadot			debounce-interval = <15>;
120c66ec88fSEmmanuel Vadot		};
121c66ec88fSEmmanuel Vadot	};
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot	reserved-memory {
124c66ec88fSEmmanuel Vadot		#address-cells = <2>;
125c66ec88fSEmmanuel Vadot		#size-cells = <2>;
126c66ec88fSEmmanuel Vadot		ranges;
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot		ramoops@ffc00000 {
129c66ec88fSEmmanuel Vadot			compatible = "ramoops";
130c66ec88fSEmmanuel Vadot			reg = <0x0 0xffc00000 0x0 0x100000>;
131c66ec88fSEmmanuel Vadot			record-size = <0x10000>;
132c66ec88fSEmmanuel Vadot			console-size = <0x60000>;
133c66ec88fSEmmanuel Vadot			ftrace-size = <0x10000>;
134c66ec88fSEmmanuel Vadot			pmsg-size = <0x20000>;
135c66ec88fSEmmanuel Vadot			ecc-size = <16>;
136c66ec88fSEmmanuel Vadot			status = "okay";
137c66ec88fSEmmanuel Vadot		};
138c66ec88fSEmmanuel Vadot
139c66ec88fSEmmanuel Vadot		debug_region@ffb00000 {
140c66ec88fSEmmanuel Vadot			reg = <0x00 0xffb00000 0x00 0x100000>;
141c66ec88fSEmmanuel Vadot			no-map;
142c66ec88fSEmmanuel Vadot		};
143c66ec88fSEmmanuel Vadot
144c66ec88fSEmmanuel Vadot		removed_region@85800000 {
145c66ec88fSEmmanuel Vadot			reg = <0x00 0x85800000 0x00 0x3700000>;
146c66ec88fSEmmanuel Vadot			no-map;
147c66ec88fSEmmanuel Vadot		};
148c66ec88fSEmmanuel Vadot	};
149c66ec88fSEmmanuel Vadot
150*354d7675SEmmanuel Vadot	/*
151*354d7675SEmmanuel Vadot	 * Until we hook up type-c detection, we
152*354d7675SEmmanuel Vadot	 * have to stick with this. But it works.
153*354d7675SEmmanuel Vadot	 */
154*354d7675SEmmanuel Vadot	extcon_usb: extcon-usb {
155*354d7675SEmmanuel Vadot		compatible = "linux,extcon-usb-gpio";
156*354d7675SEmmanuel Vadot		id-gpio = <&tlmm 58 GPIO_ACTIVE_HIGH>;
157*354d7675SEmmanuel Vadot	};
158c66ec88fSEmmanuel Vadot};
159c66ec88fSEmmanuel Vadot
160*354d7675SEmmanuel Vadot&adsp_pil {
161*354d7675SEmmanuel Vadot	firmware-name = "adsp.mdt";
162c66ec88fSEmmanuel Vadot};
163c66ec88fSEmmanuel Vadot
164*354d7675SEmmanuel Vadot&blsp_i2c1 {
165*354d7675SEmmanuel Vadot	status = "okay";
166*354d7675SEmmanuel Vadot
167*354d7675SEmmanuel Vadot	touchscreen: synaptics-rmi4-i2c@70 {
168*354d7675SEmmanuel Vadot		compatible = "syna,rmi4-i2c";
169*354d7675SEmmanuel Vadot		reg = <0x70>;
170*354d7675SEmmanuel Vadot		#address-cells = <1>;
171*354d7675SEmmanuel Vadot		#size-cells = <0>;
172*354d7675SEmmanuel Vadot		interrupts-extended = <&tlmm 45 0x2008>;
173*354d7675SEmmanuel Vadot
174*354d7675SEmmanuel Vadot		pinctrl-names = "default";
175*354d7675SEmmanuel Vadot		pinctrl-0 = <&ts_int_active &ts_lcd_id_active>;
176*354d7675SEmmanuel Vadot
177*354d7675SEmmanuel Vadot		syna,reset-delay-ms = <200>;
178*354d7675SEmmanuel Vadot		syna,startup-delay-ms = <220>;
179*354d7675SEmmanuel Vadot
180*354d7675SEmmanuel Vadot		rmi4-f01@1 {
181*354d7675SEmmanuel Vadot			reg = <0x01>;
182*354d7675SEmmanuel Vadot			syna,nosleep-mode = <1>;
183*354d7675SEmmanuel Vadot		};
184*354d7675SEmmanuel Vadot
185*354d7675SEmmanuel Vadot		rmi4-f11@11 {
186*354d7675SEmmanuel Vadot			reg = <0x11>;
187*354d7675SEmmanuel Vadot			syna,sensor-type = <1>;
188*354d7675SEmmanuel Vadot		};
189*354d7675SEmmanuel Vadot	};
190*354d7675SEmmanuel Vadot};
191*354d7675SEmmanuel Vadot
192*354d7675SEmmanuel Vadot&blsp_i2c2 {
193c66ec88fSEmmanuel Vadot	status = "okay";
194c66ec88fSEmmanuel Vadot
195c66ec88fSEmmanuel Vadot	/* SMB1351 charger */
196c66ec88fSEmmanuel Vadot};
197c66ec88fSEmmanuel Vadot
198c66ec88fSEmmanuel Vadot/* I2C3, 4, 5, 7 and 8 are disabled on this board. */
199c66ec88fSEmmanuel Vadot
200*354d7675SEmmanuel Vadot&blsp_i2c6 {
201c66ec88fSEmmanuel Vadot	status = "okay";
202c66ec88fSEmmanuel Vadot
203c66ec88fSEmmanuel Vadot	/* NXP NFC */
204c66ec88fSEmmanuel Vadot};
205*354d7675SEmmanuel Vadot
206*354d7675SEmmanuel Vadot&blsp1_uart2 {
207*354d7675SEmmanuel Vadot	status = "okay";
208*354d7675SEmmanuel Vadot
209*354d7675SEmmanuel Vadot	/* MSM serial console */
210c66ec88fSEmmanuel Vadot};
211*354d7675SEmmanuel Vadot
212*354d7675SEmmanuel Vadot&blsp2_uart1 {
213*354d7675SEmmanuel Vadot	status = "okay";
214*354d7675SEmmanuel Vadot
215*354d7675SEmmanuel Vadot	/* HCI Bluetooth */
216*354d7675SEmmanuel Vadot};
217*354d7675SEmmanuel Vadot
218*354d7675SEmmanuel Vadot&pon {
219*354d7675SEmmanuel Vadot	volup {
220*354d7675SEmmanuel Vadot		compatible = "qcom,pm8941-resin";
221*354d7675SEmmanuel Vadot		interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
222*354d7675SEmmanuel Vadot		debounce = <15625>;
223*354d7675SEmmanuel Vadot		bias-pull-up;
224*354d7675SEmmanuel Vadot		linux,code = <KEY_VOLUMEUP>;
225*354d7675SEmmanuel Vadot	};
226*354d7675SEmmanuel Vadot};
227*354d7675SEmmanuel Vadot
228*354d7675SEmmanuel Vadot&qusb2phy {
229*354d7675SEmmanuel Vadot	status = "okay";
230*354d7675SEmmanuel Vadot
231*354d7675SEmmanuel Vadot	vdd-supply = <&vreg_l1b_0p925>;
232*354d7675SEmmanuel Vadot	vdda-pll-supply = <&vreg_l10a_1p8>;
233*354d7675SEmmanuel Vadot	vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
234*354d7675SEmmanuel Vadot};
235*354d7675SEmmanuel Vadot
236*354d7675SEmmanuel Vadot&rpm_requests {
237*354d7675SEmmanuel Vadot	pm660l-regulators {
238*354d7675SEmmanuel Vadot		compatible = "qcom,rpm-pm660l-regulators";
239*354d7675SEmmanuel Vadot
240*354d7675SEmmanuel Vadot		vdd_s1-supply = <&vph_pwr>;
241*354d7675SEmmanuel Vadot		vdd_s2-supply = <&vph_pwr>;
242*354d7675SEmmanuel Vadot		vdd_s3_s4-supply = <&vph_pwr>;
243*354d7675SEmmanuel Vadot		vdd_s5-supply = <&vph_pwr>;
244*354d7675SEmmanuel Vadot		vdd_s6-supply = <&vph_pwr>;
245*354d7675SEmmanuel Vadot
246*354d7675SEmmanuel Vadot		vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
247*354d7675SEmmanuel Vadot		vdd_l2-supply = <&vreg_bob>;
248*354d7675SEmmanuel Vadot		vdd_l3_l5_l7_l8-supply = <&vreg_bob>;
249*354d7675SEmmanuel Vadot		vdd_l4_l6-supply = <&vreg_bob>;
250*354d7675SEmmanuel Vadot		vdd_bob-supply = <&vph_pwr>;
251*354d7675SEmmanuel Vadot
252*354d7675SEmmanuel Vadot		vreg_s1b_1p125: s1 {
253*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1125000>;
254*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1125000>;
255*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <200>;
256*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
257*354d7675SEmmanuel Vadot		};
258*354d7675SEmmanuel Vadot
259*354d7675SEmmanuel Vadot		vreg_s2b_1p05: s2 {
260*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1050000>;
261*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1050000>;
262*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <200>;
263*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
264*354d7675SEmmanuel Vadot		};
265*354d7675SEmmanuel Vadot
266*354d7675SEmmanuel Vadot		/*
267*354d7675SEmmanuel Vadot		 * At least on Nile's configuration, S3B/S4B (VDD_CX) and
268*354d7675SEmmanuel Vadot		 * S5B (VDD_MX) are managed only through RPM Power Domains.
269*354d7675SEmmanuel Vadot		 * Trying to set a voltage on the main supply will create
270*354d7675SEmmanuel Vadot		 * havoc and freeze the SoC.
271*354d7675SEmmanuel Vadot		 * In any case, reference voltages for these regulators are:
272*354d7675SEmmanuel Vadot		 * S3B/S4B: 0.870V
273*354d7675SEmmanuel Vadot		 * S5B: 0.915V
274*354d7675SEmmanuel Vadot		 */
275*354d7675SEmmanuel Vadot
276*354d7675SEmmanuel Vadot		/* LDOs */
277*354d7675SEmmanuel Vadot		vreg_l1b_0p925: l1 {
278*354d7675SEmmanuel Vadot			regulator-min-microvolt = <920000>;
279*354d7675SEmmanuel Vadot			regulator-max-microvolt = <928000>;
280*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
281*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
282*354d7675SEmmanuel Vadot			regulator-allow-set-load;
283*354d7675SEmmanuel Vadot		};
284*354d7675SEmmanuel Vadot
285*354d7675SEmmanuel Vadot		vreg_l2b_2p95: l2 {
286*354d7675SEmmanuel Vadot			/*
287*354d7675SEmmanuel Vadot			 * This regulator supports 1.648 - 3.104V on this board
288*354d7675SEmmanuel Vadot			 * but we set a max voltage of anything less than 2.7V
289*354d7675SEmmanuel Vadot			 * to satisfy a condition in sdhci.c that will disable
290*354d7675SEmmanuel Vadot			 * 3.3V SDHCI signaling, which happens to be not really
291*354d7675SEmmanuel Vadot			 * supported on the Xperia Nile/Ganges platform.
292*354d7675SEmmanuel Vadot			 */
293*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1648000>;
294*354d7675SEmmanuel Vadot			regulator-max-microvolt = <2696000>;
295*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
296*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
297*354d7675SEmmanuel Vadot			regulator-allow-set-load;
298*354d7675SEmmanuel Vadot		};
299*354d7675SEmmanuel Vadot
300*354d7675SEmmanuel Vadot		vreg_l3b_3p0: l3 {
301*354d7675SEmmanuel Vadot			regulator-min-microvolt = <2800000>;
302*354d7675SEmmanuel Vadot			regulator-max-microvolt = <2800000>;
303*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
304*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
305*354d7675SEmmanuel Vadot			regulator-min-microamp = <200>;
306*354d7675SEmmanuel Vadot			regulator-max-microamp = <600000>;
307*354d7675SEmmanuel Vadot			regulator-system-load = <100000>;
308*354d7675SEmmanuel Vadot			regulator-allow-set-load;
309*354d7675SEmmanuel Vadot		};
310*354d7675SEmmanuel Vadot
311*354d7675SEmmanuel Vadot		vreg_l4b_29p5: l4 {
312*354d7675SEmmanuel Vadot			regulator-min-microvolt = <2944000>;
313*354d7675SEmmanuel Vadot			regulator-max-microvolt = <2952000>;
314*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
315*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
316*354d7675SEmmanuel Vadot
317*354d7675SEmmanuel Vadot			regulator-min-microamp = <200>;
318*354d7675SEmmanuel Vadot			regulator-max-microamp = <600000>;
319*354d7675SEmmanuel Vadot			regulator-system-load = <570000>;
320*354d7675SEmmanuel Vadot			regulator-allow-set-load;
321*354d7675SEmmanuel Vadot		};
322*354d7675SEmmanuel Vadot
323*354d7675SEmmanuel Vadot		/*
324*354d7675SEmmanuel Vadot		 * Downstream specifies a range of 1721-3600mV,
325*354d7675SEmmanuel Vadot		 * but the only assigned consumers are SDHCI2 VMMC
326*354d7675SEmmanuel Vadot		 * and Coresight QPDI that both request pinned 2.95V.
327*354d7675SEmmanuel Vadot		 * Tighten the range to 1.8-3.328 (closest to 3.3) to
328*354d7675SEmmanuel Vadot		 * make the mmc driver happy.
329*354d7675SEmmanuel Vadot		 */
330*354d7675SEmmanuel Vadot		vreg_l5b_29p5: l5 {
331*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
332*354d7675SEmmanuel Vadot			regulator-max-microvolt = <3328000>;
333*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
334*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
335*354d7675SEmmanuel Vadot			regulator-allow-set-load;
336*354d7675SEmmanuel Vadot			regulator-system-load = <800000>;
337*354d7675SEmmanuel Vadot		};
338*354d7675SEmmanuel Vadot
339*354d7675SEmmanuel Vadot		vreg_l6b_3p3: l6 {
340*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1704000>;
341*354d7675SEmmanuel Vadot			regulator-max-microvolt = <3312000>;
342*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
343*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
344*354d7675SEmmanuel Vadot		};
345*354d7675SEmmanuel Vadot
346*354d7675SEmmanuel Vadot		vreg_l7b_3p125: l7 {
347*354d7675SEmmanuel Vadot			regulator-min-microvolt = <2704000>;
348*354d7675SEmmanuel Vadot			regulator-max-microvolt = <3128000>;
349*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
350*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
351*354d7675SEmmanuel Vadot		};
352*354d7675SEmmanuel Vadot
353*354d7675SEmmanuel Vadot		vreg_l8b_3p3: l8 {
354*354d7675SEmmanuel Vadot			regulator-min-microvolt = <2800000>;
355*354d7675SEmmanuel Vadot			regulator-max-microvolt = <3400000>;
356*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
357*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
358*354d7675SEmmanuel Vadot		};
359*354d7675SEmmanuel Vadot
360*354d7675SEmmanuel Vadot		/* L9B (870mV) is currently unused */
361*354d7675SEmmanuel Vadot		/* L10B (915mV) is currently unused */
362*354d7675SEmmanuel Vadot
363*354d7675SEmmanuel Vadot		vreg_bob: bob {
364*354d7675SEmmanuel Vadot			regulator-min-microvolt = <3304000>;
365*354d7675SEmmanuel Vadot			regulator-max-microvolt = <3624000>;
366*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <500>;
367*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
368*354d7675SEmmanuel Vadot		};
369*354d7675SEmmanuel Vadot	};
370*354d7675SEmmanuel Vadot
371*354d7675SEmmanuel Vadot	pm660-regulators {
372*354d7675SEmmanuel Vadot		compatible = "qcom,rpm-pm660-regulators";
373*354d7675SEmmanuel Vadot
374*354d7675SEmmanuel Vadot		vdd_s1-supply = <&vph_pwr>;
375*354d7675SEmmanuel Vadot		vdd_s2-supply = <&vph_pwr>;
376*354d7675SEmmanuel Vadot		vdd_s3-supply = <&vph_pwr>;
377*354d7675SEmmanuel Vadot		vdd_s4-supply = <&vph_pwr>;
378*354d7675SEmmanuel Vadot		vdd_s5-supply = <&vph_pwr>;
379*354d7675SEmmanuel Vadot		vdd_s6-supply = <&vph_pwr>;
380*354d7675SEmmanuel Vadot
381*354d7675SEmmanuel Vadot		vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>;
382*354d7675SEmmanuel Vadot		vdd_l2_l3-supply = <&vreg_s2b_1p05>;
383*354d7675SEmmanuel Vadot		vdd_l5-supply = <&vreg_s2b_1p05>;
384*354d7675SEmmanuel Vadot		vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>;
385*354d7675SEmmanuel Vadot		vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>;
386*354d7675SEmmanuel Vadot
387*354d7675SEmmanuel Vadot		/*
388*354d7675SEmmanuel Vadot		 * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed
389*354d7675SEmmanuel Vadot		 * by the Core Power Reduction hardened (CPRh) and the
390*354d7675SEmmanuel Vadot		 * Operating State Manager (OSM) HW automatically.
391*354d7675SEmmanuel Vadot		 */
392*354d7675SEmmanuel Vadot
393*354d7675SEmmanuel Vadot		vreg_s4a_2p04: s4 {
394*354d7675SEmmanuel Vadot			regulator-min-microvolt = <2040000>;
395*354d7675SEmmanuel Vadot			regulator-max-microvolt = <2040000>;
396*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <200>;
397*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
398*354d7675SEmmanuel Vadot			regulator-always-on;
399*354d7675SEmmanuel Vadot		};
400*354d7675SEmmanuel Vadot
401*354d7675SEmmanuel Vadot		vreg_s5a_1p35: s5 {
402*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1224000>;
403*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1350000>;
404*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <200>;
405*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
406*354d7675SEmmanuel Vadot		};
407*354d7675SEmmanuel Vadot
408*354d7675SEmmanuel Vadot		vreg_s6a_0p87: s6 {
409*354d7675SEmmanuel Vadot			regulator-min-microvolt = <504000>;
410*354d7675SEmmanuel Vadot			regulator-max-microvolt = <992000>;
411*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <150>;
412*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
413*354d7675SEmmanuel Vadot		};
414*354d7675SEmmanuel Vadot
415*354d7675SEmmanuel Vadot		/* LDOs */
416*354d7675SEmmanuel Vadot		vreg_l1a_1p225: l1 {
417*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1226000>;
418*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1250000>;
419*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
420*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
421*354d7675SEmmanuel Vadot			regulator-allow-set-load;
422*354d7675SEmmanuel Vadot		};
423*354d7675SEmmanuel Vadot
424*354d7675SEmmanuel Vadot		vreg_l2a_1p0: l2 {
425*354d7675SEmmanuel Vadot			regulator-min-microvolt = <944000>;
426*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1008000>;
427*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
428*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
429*354d7675SEmmanuel Vadot		};
430*354d7675SEmmanuel Vadot
431*354d7675SEmmanuel Vadot		vreg_l3a_1p0: l3 {
432*354d7675SEmmanuel Vadot			regulator-min-microvolt = <944000>;
433*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1008000>;
434*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
435*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
436*354d7675SEmmanuel Vadot		};
437*354d7675SEmmanuel Vadot
438*354d7675SEmmanuel Vadot		vreg_l5a_0p848: l5 {
439*354d7675SEmmanuel Vadot			regulator-min-microvolt = <800000>;
440*354d7675SEmmanuel Vadot			regulator-max-microvolt = <952000>;
441*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
442*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
443*354d7675SEmmanuel Vadot		};
444*354d7675SEmmanuel Vadot
445*354d7675SEmmanuel Vadot		vreg_l6a_1p3: l6 {
446*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1304000>;
447*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1368000>;
448*354d7675SEmmanuel Vadot			regulator-allow-set-load;
449*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
450*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
451*354d7675SEmmanuel Vadot		};
452*354d7675SEmmanuel Vadot
453*354d7675SEmmanuel Vadot		vreg_l7a_1p2: l7 {
454*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1200000>;
455*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1200000>;
456*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
457*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
458*354d7675SEmmanuel Vadot		};
459*354d7675SEmmanuel Vadot
460*354d7675SEmmanuel Vadot		vreg_l8a_1p8: l8 {
461*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
462*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
463*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
464*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
465*354d7675SEmmanuel Vadot			regulator-system-load = <325000>;
466*354d7675SEmmanuel Vadot			regulator-allow-set-load;
467*354d7675SEmmanuel Vadot		};
468*354d7675SEmmanuel Vadot
469*354d7675SEmmanuel Vadot		vreg_l9a_1p8: l9 {
470*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1804000>;
471*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1896000>;
472*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
473*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
474*354d7675SEmmanuel Vadot			regulator-allow-set-load;
475*354d7675SEmmanuel Vadot		};
476*354d7675SEmmanuel Vadot
477*354d7675SEmmanuel Vadot		vreg_l10a_1p8: l10 {
478*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
479*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1944000>;
480*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
481*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
482*354d7675SEmmanuel Vadot			regulator-allow-set-load;
483*354d7675SEmmanuel Vadot		};
484*354d7675SEmmanuel Vadot
485*354d7675SEmmanuel Vadot		vreg_l11a_1p8: l11 {
486*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1784000>;
487*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1944000>;
488*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
489*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
490*354d7675SEmmanuel Vadot		};
491*354d7675SEmmanuel Vadot
492*354d7675SEmmanuel Vadot		vreg_l12a_1p8: l12 {
493*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
494*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1944000>;
495*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
496*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
497*354d7675SEmmanuel Vadot		};
498*354d7675SEmmanuel Vadot
499*354d7675SEmmanuel Vadot		/* This gives power to the LPDDR4: never turn it off! */
500*354d7675SEmmanuel Vadot		vreg_l13a_1p8: l13 {
501*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
502*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1944000>;
503*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
504*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
505*354d7675SEmmanuel Vadot			regulator-boot-on;
506*354d7675SEmmanuel Vadot			regulator-always-on;
507*354d7675SEmmanuel Vadot		};
508*354d7675SEmmanuel Vadot
509*354d7675SEmmanuel Vadot		vreg_l14a_1p8: l14 {
510*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1710000>;
511*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1904000>;
512*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
513*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
514*354d7675SEmmanuel Vadot		};
515*354d7675SEmmanuel Vadot
516*354d7675SEmmanuel Vadot		vreg_l15a_1p8: l15 {
517*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1648000>;
518*354d7675SEmmanuel Vadot			regulator-max-microvolt = <2952000>;
519*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
520*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
521*354d7675SEmmanuel Vadot		};
522*354d7675SEmmanuel Vadot
523*354d7675SEmmanuel Vadot		/* L16A (2.70V) is unused */
524*354d7675SEmmanuel Vadot
525*354d7675SEmmanuel Vadot		vreg_l17a_1p8: l17 {
526*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1648000>;
527*354d7675SEmmanuel Vadot			regulator-max-microvolt = <2952000>;
528*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
529*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
530*354d7675SEmmanuel Vadot		};
531*354d7675SEmmanuel Vadot
532*354d7675SEmmanuel Vadot		vreg_l18a_1v8: l18 {
533*354d7675SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
534*354d7675SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
535*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
536*354d7675SEmmanuel Vadot			regulator-ramp-delay = <10>;
537*354d7675SEmmanuel Vadot			regulator-min-microamp = <200>;
538*354d7675SEmmanuel Vadot			regulator-max-microamp = <50000>;
539*354d7675SEmmanuel Vadot			regulator-system-load = <10000>;
540*354d7675SEmmanuel Vadot			regulator-allow-set-load;
541*354d7675SEmmanuel Vadot		};
542*354d7675SEmmanuel Vadot
543*354d7675SEmmanuel Vadot		vreg_l19a_3p3: l19 {
544*354d7675SEmmanuel Vadot			regulator-min-microvolt = <3312000>;
545*354d7675SEmmanuel Vadot			regulator-max-microvolt = <3400000>;
546*354d7675SEmmanuel Vadot			regulator-enable-ramp-delay = <250>;
547*354d7675SEmmanuel Vadot			regulator-ramp-delay = <0>;
548*354d7675SEmmanuel Vadot			regulator-allow-set-load;
549*354d7675SEmmanuel Vadot		};
550*354d7675SEmmanuel Vadot	};
551*354d7675SEmmanuel Vadot};
552*354d7675SEmmanuel Vadot
553*354d7675SEmmanuel Vadot&sdhc_1 {
554*354d7675SEmmanuel Vadot	status = "okay";
555*354d7675SEmmanuel Vadot	supports-cqe;
556*354d7675SEmmanuel Vadot
557*354d7675SEmmanuel Vadot	/* SoMC Nile platform's eMMC doesn't support HS200 mode */
558*354d7675SEmmanuel Vadot	mmc-ddr-1_8v;
559*354d7675SEmmanuel Vadot	mmc-hs400-1_8v;
560*354d7675SEmmanuel Vadot	mmc-hs400-enhanced-strobe;
561*354d7675SEmmanuel Vadot
562*354d7675SEmmanuel Vadot	vmmc-supply = <&vreg_l4b_29p5>;
563*354d7675SEmmanuel Vadot	vqmmc-supply = <&vreg_l8a_1p8>;
564*354d7675SEmmanuel Vadot};
565*354d7675SEmmanuel Vadot
566*354d7675SEmmanuel Vadot&sdhc_2 {
567*354d7675SEmmanuel Vadot	status = "okay";
568*354d7675SEmmanuel Vadot
569*354d7675SEmmanuel Vadot	vmmc-supply = <&vreg_l5b_29p5>;
570*354d7675SEmmanuel Vadot	vqmmc-supply = <&vreg_l2b_2p95>;
571*354d7675SEmmanuel Vadot};
572*354d7675SEmmanuel Vadot
573*354d7675SEmmanuel Vadot&tlmm {
574*354d7675SEmmanuel Vadot	gpio-reserved-ranges = <8 4>;
575*354d7675SEmmanuel Vadot
576*354d7675SEmmanuel Vadot	ts_int_active: ts-int-active {
577*354d7675SEmmanuel Vadot		pins = "gpio45";
578*354d7675SEmmanuel Vadot		drive-strength = <8>;
579*354d7675SEmmanuel Vadot		bias-pull-up;
580*354d7675SEmmanuel Vadot	};
581*354d7675SEmmanuel Vadot
582*354d7675SEmmanuel Vadot	ts_lcd_id_active: ts-lcd-id-active {
583*354d7675SEmmanuel Vadot		pins = "gpio56";
584*354d7675SEmmanuel Vadot		drive-strength = <8>;
585*354d7675SEmmanuel Vadot		bias-disable;
586*354d7675SEmmanuel Vadot	};
587*354d7675SEmmanuel Vadot
588*354d7675SEmmanuel Vadot	imx300_vana_default: imx300-vana-default {
589*354d7675SEmmanuel Vadot		pins = "gpio50";
590*354d7675SEmmanuel Vadot		function = "gpio";
591*354d7675SEmmanuel Vadot		bias-disable;
592*354d7675SEmmanuel Vadot		drive-strength = <2>;
593*354d7675SEmmanuel Vadot	};
594*354d7675SEmmanuel Vadot
595*354d7675SEmmanuel Vadot	imx219_vana_default: imx219-vana-default {
596*354d7675SEmmanuel Vadot		pins = "gpio51";
597*354d7675SEmmanuel Vadot		function = "gpio";
598*354d7675SEmmanuel Vadot		bias-disable;
599*354d7675SEmmanuel Vadot		drive-strength = <2>;
600*354d7675SEmmanuel Vadot	};
601*354d7675SEmmanuel Vadot
602*354d7675SEmmanuel Vadot	cam_vdig_default: cam-vdig-default {
603*354d7675SEmmanuel Vadot		pins = "gpio52";
604*354d7675SEmmanuel Vadot		function = "gpio";
605*354d7675SEmmanuel Vadot		bias-disable;
606*354d7675SEmmanuel Vadot		drive-strength = <2>;
607*354d7675SEmmanuel Vadot	};
608*354d7675SEmmanuel Vadot};
609*354d7675SEmmanuel Vadot
610*354d7675SEmmanuel Vadot&usb3 {
611*354d7675SEmmanuel Vadot	status = "okay";
612*354d7675SEmmanuel Vadot};
613*354d7675SEmmanuel Vadot
614*354d7675SEmmanuel Vadot&usb3_dwc3 {
615*354d7675SEmmanuel Vadot	dr_mode = "peripheral";
616*354d7675SEmmanuel Vadot	extcon = <&extcon_usb>;
617c66ec88fSEmmanuel Vadot};
618