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