1e781633bSKonrad Dybcio// SPDX-License-Identifier: BSD-3-Clause
2e781633bSKonrad Dybcio/*
38b36c824SAngeloGioacchino Del Regno * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org>
48b36c824SAngeloGioacchino Del Regno * Copyright (c) 2020, AngeloGioacchino Del Regno
58b36c824SAngeloGioacchino Del Regno *                     <angelogioacchino.delregno@somainline.org>
6e781633bSKonrad Dybcio */
7e781633bSKonrad Dybcio
8e781633bSKonrad Dybcio#include "sdm630.dtsi"
9e781633bSKonrad Dybcio#include "pm660.dtsi"
10e781633bSKonrad Dybcio#include "pm660l.dtsi"
11e781633bSKonrad Dybcio#include <dt-bindings/gpio/gpio.h>
12e781633bSKonrad Dybcio#include <dt-bindings/input/input.h>
13e781633bSKonrad Dybcio#include <dt-bindings/input/gpio-keys.h>
14e781633bSKonrad Dybcio
15e781633bSKonrad Dybcio/ {
16e781633bSKonrad Dybcio	/* required for bootloader to select correct board */
17e781633bSKonrad Dybcio	qcom,msm-id = <318 0>;
18e781633bSKonrad Dybcio	qcom,board-id = <8 1>;
19e781633bSKonrad Dybcio	qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00>;
20e781633bSKonrad Dybcio
21e781633bSKonrad Dybcio	/* This part enables graphical output via bootloader-enabled display */
22e781633bSKonrad Dybcio	chosen {
23e781633bSKonrad Dybcio		bootargs = "earlycon=tty0 console=tty0";
24e781633bSKonrad Dybcio
25e781633bSKonrad Dybcio		#address-cells = <2>;
26e781633bSKonrad Dybcio		#size-cells = <2>;
27e781633bSKonrad Dybcio		ranges;
28e781633bSKonrad Dybcio
29e781633bSKonrad Dybcio		stdout-path = "framebuffer0";
30e781633bSKonrad Dybcio
31e781633bSKonrad Dybcio		framebuffer0: framebuffer@9d400000 {
32e781633bSKonrad Dybcio			compatible = "simple-framebuffer";
33e781633bSKonrad Dybcio			reg = <0 0x9d400000 0 (1920 * 1080 * 4)>;
34e781633bSKonrad Dybcio			width = <1080>;
35e781633bSKonrad Dybcio			height = <1920>;
36e781633bSKonrad Dybcio			stride = <(1080 * 4)>;
37e781633bSKonrad Dybcio			format = "a8r8g8b8";
38e781633bSKonrad Dybcio			status= "okay";
39e781633bSKonrad Dybcio		};
40e781633bSKonrad Dybcio	};
41e781633bSKonrad Dybcio
428b36c824SAngeloGioacchino Del Regno	board_vbat: vbat-regulator {
438b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
448b36c824SAngeloGioacchino Del Regno		regulator-name = "VBAT";
458b36c824SAngeloGioacchino Del Regno
468b36c824SAngeloGioacchino Del Regno		regulator-min-microvolt = <4000000>;
478b36c824SAngeloGioacchino Del Regno		regulator-max-microvolt = <4000000>;
488b36c824SAngeloGioacchino Del Regno		regulator-always-on;
498b36c824SAngeloGioacchino Del Regno		regulator-boot-on;
508b36c824SAngeloGioacchino Del Regno	};
518b36c824SAngeloGioacchino Del Regno
528b36c824SAngeloGioacchino Del Regno	vph_pwr: vph-pwr-regulator {
538b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
548b36c824SAngeloGioacchino Del Regno		regulator-name = "vph_pwr";
558b36c824SAngeloGioacchino Del Regno
568b36c824SAngeloGioacchino Del Regno		regulator-always-on;
578b36c824SAngeloGioacchino Del Regno		regulator-boot-on;
588b36c824SAngeloGioacchino Del Regno	};
598b36c824SAngeloGioacchino Del Regno
608b36c824SAngeloGioacchino Del Regno	cam_vdig_imx300_219_vreg: cam_vdig_imx300_219_vreg {
618b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
628b36c824SAngeloGioacchino Del Regno		regulator-name = "cam_vdig_imx300_219_vreg";
638b36c824SAngeloGioacchino Del Regno		startup-delay-us = <0>;
648b36c824SAngeloGioacchino Del Regno		enable-active-high;
658b36c824SAngeloGioacchino Del Regno		gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
668b36c824SAngeloGioacchino Del Regno		pinctrl-names = "default";
678b36c824SAngeloGioacchino Del Regno		pinctrl-0 = <&cam_vdig_default>;
688b36c824SAngeloGioacchino Del Regno	};
698b36c824SAngeloGioacchino Del Regno
708b36c824SAngeloGioacchino Del Regno	cam_vana_front_vreg: cam_vana_front_vreg {
718b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
728b36c824SAngeloGioacchino Del Regno		regulator-name = "cam_vana_front_vreg";
738b36c824SAngeloGioacchino Del Regno		startup-delay-us = <0>;
748b36c824SAngeloGioacchino Del Regno		enable-active-high;
758b36c824SAngeloGioacchino Del Regno		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
768b36c824SAngeloGioacchino Del Regno		pinctrl-names = "default";
778b36c824SAngeloGioacchino Del Regno		pinctrl-0 = <&imx219_vana_default>;
788b36c824SAngeloGioacchino Del Regno	};
798b36c824SAngeloGioacchino Del Regno
808b36c824SAngeloGioacchino Del Regno	cam_vana_rear_vreg: cam_vana_rear_vreg {
818b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
828b36c824SAngeloGioacchino Del Regno		regulator-name = "cam_vana_rear_vreg";
838b36c824SAngeloGioacchino Del Regno		startup-delay-us = <0>;
848b36c824SAngeloGioacchino Del Regno		enable-active-high;
858b36c824SAngeloGioacchino Del Regno		gpio = <&tlmm 50 GPIO_ACTIVE_HIGH>;
868b36c824SAngeloGioacchino Del Regno		regulator-always-on;
878b36c824SAngeloGioacchino Del Regno		pinctrl-names = "default";
888b36c824SAngeloGioacchino Del Regno		pinctrl-0 = <&imx300_vana_default>;
898b36c824SAngeloGioacchino Del Regno	};
908b36c824SAngeloGioacchino Del Regno
91e781633bSKonrad Dybcio	gpio_keys {
92e781633bSKonrad Dybcio		status = "okay";
93e781633bSKonrad Dybcio		compatible = "gpio-keys";
94e781633bSKonrad Dybcio		input-name = "gpio-keys";
95e781633bSKonrad Dybcio		#address-cells = <1>;
96e781633bSKonrad Dybcio		#size-cells = <0>;
97e781633bSKonrad Dybcio		autorepeat;
98e781633bSKonrad Dybcio
99e781633bSKonrad Dybcio		camera_focus {
100e781633bSKonrad Dybcio			label = "Camera Focus";
101e781633bSKonrad Dybcio			gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
102e781633bSKonrad Dybcio			linux,input-type = <1>;
103e781633bSKonrad Dybcio			linux,code = <KEY_CAMERA_FOCUS>;
104e781633bSKonrad Dybcio			debounce-interval = <15>;
105e781633bSKonrad Dybcio		};
106e781633bSKonrad Dybcio
107e781633bSKonrad Dybcio		camera_snapshot {
108e781633bSKonrad Dybcio			label = "Camera Snapshot";
109e781633bSKonrad Dybcio			gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
110e781633bSKonrad Dybcio			linux,input-type = <1>;
111e781633bSKonrad Dybcio			linux,code = <KEY_CAMERA>;
112e781633bSKonrad Dybcio			debounce-interval = <15>;
113e781633bSKonrad Dybcio		};
114e781633bSKonrad Dybcio
115e781633bSKonrad Dybcio		vol_down {
116e781633bSKonrad Dybcio			label = "Volume Down";
117e781633bSKonrad Dybcio			gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
118e781633bSKonrad Dybcio			linux,input-type = <1>;
119e781633bSKonrad Dybcio			linux,code = <KEY_VOLUMEDOWN>;
120e781633bSKonrad Dybcio			gpio-key,wakeup;
121e781633bSKonrad Dybcio			debounce-interval = <15>;
122e781633bSKonrad Dybcio		};
123e781633bSKonrad Dybcio	};
124e781633bSKonrad Dybcio
125e781633bSKonrad Dybcio	reserved-memory {
126e781633bSKonrad Dybcio		#address-cells = <2>;
127e781633bSKonrad Dybcio		#size-cells = <2>;
128e781633bSKonrad Dybcio		ranges;
129e781633bSKonrad Dybcio
130e781633bSKonrad Dybcio		ramoops@ffc00000 {
131e781633bSKonrad Dybcio			compatible = "ramoops";
132e781633bSKonrad Dybcio			reg = <0x0 0xffc00000 0x0 0x100000>;
133e781633bSKonrad Dybcio			record-size = <0x10000>;
134e781633bSKonrad Dybcio			console-size = <0x60000>;
135e781633bSKonrad Dybcio			ftrace-size = <0x10000>;
136e781633bSKonrad Dybcio			pmsg-size = <0x20000>;
137e781633bSKonrad Dybcio			ecc-size = <16>;
138e781633bSKonrad Dybcio			status = "okay";
139e781633bSKonrad Dybcio		};
140e781633bSKonrad Dybcio
141e781633bSKonrad Dybcio		debug_region@ffb00000 {
142e781633bSKonrad Dybcio			reg = <0x00 0xffb00000 0x00 0x100000>;
143e781633bSKonrad Dybcio			no-map;
144e781633bSKonrad Dybcio		};
145e781633bSKonrad Dybcio
146e781633bSKonrad Dybcio		removed_region@85800000 {
147e781633bSKonrad Dybcio			reg = <0x00 0x85800000 0x00 0x3700000>;
148e781633bSKonrad Dybcio			no-map;
149e781633bSKonrad Dybcio		};
150e781633bSKonrad Dybcio	};
151e781633bSKonrad Dybcio};
152e781633bSKonrad Dybcio
153*158f80a6SKonrad Dybcio&blsp_i2c1 {
154e781633bSKonrad Dybcio	status = "okay";
155e781633bSKonrad Dybcio
156e781633bSKonrad Dybcio	/* Synaptics touchscreen */
157e781633bSKonrad Dybcio};
158e781633bSKonrad Dybcio
159*158f80a6SKonrad Dybcio&blsp_i2c2 {
160e781633bSKonrad Dybcio	status = "okay";
161e781633bSKonrad Dybcio
162e781633bSKonrad Dybcio	/* SMB1351 charger */
163e781633bSKonrad Dybcio};
164e781633bSKonrad Dybcio
165e781633bSKonrad Dybcio/* I2C3, 4, 5, 7 and 8 are disabled on this board. */
166e781633bSKonrad Dybcio
167*158f80a6SKonrad Dybcio&blsp_i2c6 {
168e781633bSKonrad Dybcio	status = "okay";
169e781633bSKonrad Dybcio
170e781633bSKonrad Dybcio	/* NXP NFC */
171e781633bSKonrad Dybcio};
172*158f80a6SKonrad Dybcio
173*158f80a6SKonrad Dybcio&blsp1_uart2 {
174*158f80a6SKonrad Dybcio	status = "okay";
175*158f80a6SKonrad Dybcio
176*158f80a6SKonrad Dybcio	/* MSM serial console */
177e781633bSKonrad Dybcio};
178*158f80a6SKonrad Dybcio
179*158f80a6SKonrad Dybcio&blsp2_uart1 {
180*158f80a6SKonrad Dybcio	status = "okay";
181*158f80a6SKonrad Dybcio
182*158f80a6SKonrad Dybcio	/* HCI Bluetooth */
183e781633bSKonrad Dybcio};
1848b36c824SAngeloGioacchino Del Regno
1858b36c824SAngeloGioacchino Del Regno&rpm_requests {
1868b36c824SAngeloGioacchino Del Regno	pm660l-regulators {
1878b36c824SAngeloGioacchino Del Regno		compatible = "qcom,rpm-pm660l-regulators";
1888b36c824SAngeloGioacchino Del Regno
1898b36c824SAngeloGioacchino Del Regno		vdd_s1-supply = <&vph_pwr>;
1908b36c824SAngeloGioacchino Del Regno		vdd_s2-supply = <&vph_pwr>;
1918b36c824SAngeloGioacchino Del Regno		vdd_s3_s4-supply = <&vph_pwr>;
1928b36c824SAngeloGioacchino Del Regno		vdd_s5-supply = <&vph_pwr>;
1938b36c824SAngeloGioacchino Del Regno		vdd_s6-supply = <&vph_pwr>;
1948b36c824SAngeloGioacchino Del Regno
1958b36c824SAngeloGioacchino Del Regno		vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
1968b36c824SAngeloGioacchino Del Regno		vdd_l2-supply = <&vreg_bob>;
1978b36c824SAngeloGioacchino Del Regno		vdd_l3_l5_l7_l8-supply = <&vreg_bob>;
1988b36c824SAngeloGioacchino Del Regno		vdd_l4_l6-supply = <&vreg_bob>;
1998b36c824SAngeloGioacchino Del Regno		vdd_bob-supply = <&vph_pwr>;
2008b36c824SAngeloGioacchino Del Regno
2018b36c824SAngeloGioacchino Del Regno		vreg_s1b_1p125: s1 {
2028b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1125000>;
2038b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1125000>;
2048b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
2058b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2068b36c824SAngeloGioacchino Del Regno		};
2078b36c824SAngeloGioacchino Del Regno
2088b36c824SAngeloGioacchino Del Regno		vreg_s2b_1p05: s2 {
2098b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1050000>;
2108b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1050000>;
2118b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
2128b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2138b36c824SAngeloGioacchino Del Regno		};
2148b36c824SAngeloGioacchino Del Regno
2158b36c824SAngeloGioacchino Del Regno		/*
2168b36c824SAngeloGioacchino Del Regno		 * At least on Nile's configuration, S3B/S4B (VDD_CX) and
2178b36c824SAngeloGioacchino Del Regno		 * S5B (VDD_MX) are managed only through RPM Power Domains.
2188b36c824SAngeloGioacchino Del Regno		 * Trying to set a voltage on the main supply will create
2198b36c824SAngeloGioacchino Del Regno		 * havoc and freeze the SoC.
2208b36c824SAngeloGioacchino Del Regno		 * In any case, reference voltages for these regulators are:
2218b36c824SAngeloGioacchino Del Regno		 * S3B/S4B: 0.870V
2228b36c824SAngeloGioacchino Del Regno		 * S5B: 0.915V
2238b36c824SAngeloGioacchino Del Regno		 */
2248b36c824SAngeloGioacchino Del Regno
2258b36c824SAngeloGioacchino Del Regno		/* LDOs */
2268b36c824SAngeloGioacchino Del Regno		vreg_l1b_0p925: l1 {
2278b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <920000>;
2288b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <928000>;
2298b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2308b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2318b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2328b36c824SAngeloGioacchino Del Regno		};
2338b36c824SAngeloGioacchino Del Regno
2348b36c824SAngeloGioacchino Del Regno		vreg_l2b_2p95: l2 {
2358b36c824SAngeloGioacchino Del Regno			/*
2368b36c824SAngeloGioacchino Del Regno			 * This regulator supports 1.648 - 3.104V on this board
2378b36c824SAngeloGioacchino Del Regno			 * but we set a max voltage of anything less than 2.7V
2388b36c824SAngeloGioacchino Del Regno			 * to satisfy a condition in sdhci.c that will disable
2398b36c824SAngeloGioacchino Del Regno			 * 3.3V SDHCI signaling, which happens to be not really
2408b36c824SAngeloGioacchino Del Regno			 * supported on the Xperia Nile/Ganges platform.
2418b36c824SAngeloGioacchino Del Regno			 */
2428b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
2438b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2696000>;
2448b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2458b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2468b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2478b36c824SAngeloGioacchino Del Regno		};
2488b36c824SAngeloGioacchino Del Regno
2498b36c824SAngeloGioacchino Del Regno		vreg_l3b_3p0: l3 {
2508b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2800000>;
2518b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2800000>;
2528b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2538b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2548b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
2558b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <600000>;
2568b36c824SAngeloGioacchino Del Regno			regulator-system-load = <100000>;
2578b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2588b36c824SAngeloGioacchino Del Regno		};
2598b36c824SAngeloGioacchino Del Regno
2608b36c824SAngeloGioacchino Del Regno		vreg_l4b_29p5: l4 {
2618b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2944000>;
2628b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
2638b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2648b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2658b36c824SAngeloGioacchino Del Regno
2668b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
2678b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <600000>;
2688b36c824SAngeloGioacchino Del Regno			regulator-system-load = <570000>;
2698b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2708b36c824SAngeloGioacchino Del Regno		};
2718b36c824SAngeloGioacchino Del Regno
2728b36c824SAngeloGioacchino Del Regno		/*
2738b36c824SAngeloGioacchino Del Regno		 * Downstream specifies a range of 1721-3600mV,
2748b36c824SAngeloGioacchino Del Regno		 * but the only assigned consumers are SDHCI2 VMMC
2758b36c824SAngeloGioacchino Del Regno		 * and Coresight QPDI that both request pinned 2.95V.
2768b36c824SAngeloGioacchino Del Regno		 * Tighten the range to 1.8-3.328 (closest to 3.3) to
2778b36c824SAngeloGioacchino Del Regno		 * make the mmc driver happy.
2788b36c824SAngeloGioacchino Del Regno		 */
2798b36c824SAngeloGioacchino Del Regno		vreg_l5b_29p5: l5 {
2808b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
2818b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3328000>;
2828b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2838b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2848b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2858b36c824SAngeloGioacchino Del Regno		};
2868b36c824SAngeloGioacchino Del Regno
2878b36c824SAngeloGioacchino Del Regno		vreg_l6b_3p3: l6 {
2888b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1704000>;
2898b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3312000>;
2908b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2918b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2928b36c824SAngeloGioacchino Del Regno		};
2938b36c824SAngeloGioacchino Del Regno
2948b36c824SAngeloGioacchino Del Regno		vreg_l7b_3p125: l7 {
2958b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2704000>;
2968b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3128000>;
2978b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2988b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2998b36c824SAngeloGioacchino Del Regno		};
3008b36c824SAngeloGioacchino Del Regno
3018b36c824SAngeloGioacchino Del Regno		vreg_l8b_3p3: l8 {
3028b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2800000>;
3038b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3400000>;
3048b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3058b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3068b36c824SAngeloGioacchino Del Regno		};
3078b36c824SAngeloGioacchino Del Regno
3088b36c824SAngeloGioacchino Del Regno		/* L9B (870mV) is currently unused */
3098b36c824SAngeloGioacchino Del Regno		/* L10B (915mV) is currently unused */
3108b36c824SAngeloGioacchino Del Regno
3118b36c824SAngeloGioacchino Del Regno		vreg_bob: bob {
3128b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <3304000>;
3138b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3624000>;
3148b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <500>;
3158b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3168b36c824SAngeloGioacchino Del Regno		};
3178b36c824SAngeloGioacchino Del Regno	};
3188b36c824SAngeloGioacchino Del Regno
3198b36c824SAngeloGioacchino Del Regno	pm660-regulators {
3208b36c824SAngeloGioacchino Del Regno		compatible = "qcom,rpm-pm660-regulators";
3218b36c824SAngeloGioacchino Del Regno
3228b36c824SAngeloGioacchino Del Regno		vdd_s1-supply = <&vph_pwr>;
3238b36c824SAngeloGioacchino Del Regno		vdd_s2-supply = <&vph_pwr>;
3248b36c824SAngeloGioacchino Del Regno		vdd_s3-supply = <&vph_pwr>;
3258b36c824SAngeloGioacchino Del Regno		vdd_s4-supply = <&vph_pwr>;
3268b36c824SAngeloGioacchino Del Regno		vdd_s5-supply = <&vph_pwr>;
3278b36c824SAngeloGioacchino Del Regno		vdd_s6-supply = <&vph_pwr>;
3288b36c824SAngeloGioacchino Del Regno
3298b36c824SAngeloGioacchino Del Regno		vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>;
3308b36c824SAngeloGioacchino Del Regno		vdd_l2_l3-supply = <&vreg_s2b_1p05>;
3318b36c824SAngeloGioacchino Del Regno		vdd_l5-supply = <&vreg_s2b_1p05>;
3328b36c824SAngeloGioacchino Del Regno		vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>;
3338b36c824SAngeloGioacchino Del Regno		vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>;
3348b36c824SAngeloGioacchino Del Regno
3358b36c824SAngeloGioacchino Del Regno		/*
3368b36c824SAngeloGioacchino Del Regno		 * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed
3378b36c824SAngeloGioacchino Del Regno		 * by the Core Power Reduction hardened (CPRh) and the
3388b36c824SAngeloGioacchino Del Regno		 * Operating State Manager (OSM) HW automatically.
3398b36c824SAngeloGioacchino Del Regno		 */
3408b36c824SAngeloGioacchino Del Regno
3418b36c824SAngeloGioacchino Del Regno		vreg_s4a_2p04: s4 {
3428b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2040000>;
3438b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2040000>;
3448b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
3458b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3468b36c824SAngeloGioacchino Del Regno			regulator-always-on;
3478b36c824SAngeloGioacchino Del Regno		};
3488b36c824SAngeloGioacchino Del Regno
3498b36c824SAngeloGioacchino Del Regno		vreg_s5a_1p35: s5 {
3508b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1224000>;
3518b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1350000>;
3528b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
3538b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3548b36c824SAngeloGioacchino Del Regno		};
3558b36c824SAngeloGioacchino Del Regno
3568b36c824SAngeloGioacchino Del Regno		vreg_s6a_0p87: s6 {
3578b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <504000>;
3588b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <992000>;
3598b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <150>;
3608b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3618b36c824SAngeloGioacchino Del Regno		};
3628b36c824SAngeloGioacchino Del Regno
3638b36c824SAngeloGioacchino Del Regno		/* LDOs */
3648b36c824SAngeloGioacchino Del Regno		vreg_l1a_1p225: l1 {
3658b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1226000>;
3668b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1250000>;
3678b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3688b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3698b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
3708b36c824SAngeloGioacchino Del Regno		};
3718b36c824SAngeloGioacchino Del Regno
3728b36c824SAngeloGioacchino Del Regno		vreg_l2a_1p0: l2 {
3738b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <944000>;
3748b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1008000>;
3758b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3768b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3778b36c824SAngeloGioacchino Del Regno		};
3788b36c824SAngeloGioacchino Del Regno
3798b36c824SAngeloGioacchino Del Regno		vreg_l3a_1p0: l3 {
3808b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <944000>;
3818b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1008000>;
3828b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3838b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3848b36c824SAngeloGioacchino Del Regno		};
3858b36c824SAngeloGioacchino Del Regno
3868b36c824SAngeloGioacchino Del Regno		vreg_l5a_0p848: l5 {
3878b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <800000>;
3888b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <952000>;
3898b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3908b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3918b36c824SAngeloGioacchino Del Regno		};
3928b36c824SAngeloGioacchino Del Regno
3938b36c824SAngeloGioacchino Del Regno		vreg_l6a_1p3: l6 {
3948b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1304000>;
3958b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1368000>;
3968b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
3978b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3988b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3998b36c824SAngeloGioacchino Del Regno		};
4008b36c824SAngeloGioacchino Del Regno
4018b36c824SAngeloGioacchino Del Regno		vreg_l7a_1p2: l7 {
4028b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1200000>;
4038b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1200000>;
4048b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4058b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4068b36c824SAngeloGioacchino Del Regno		};
4078b36c824SAngeloGioacchino Del Regno
4088b36c824SAngeloGioacchino Del Regno		vreg_l8a_1p8: l8 {
4098b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4108b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1800000>;
4118b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4128b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4138b36c824SAngeloGioacchino Del Regno			regulator-system-load = <325000>;
4148b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4158b36c824SAngeloGioacchino Del Regno		};
4168b36c824SAngeloGioacchino Del Regno
4178b36c824SAngeloGioacchino Del Regno		vreg_l9a_1p8: l9 {
4188b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1804000>;
4198b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1896000>;
4208b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4218b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4228b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4238b36c824SAngeloGioacchino Del Regno		};
4248b36c824SAngeloGioacchino Del Regno
4258b36c824SAngeloGioacchino Del Regno		vreg_l10a_1p8: l10 {
4268b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4278b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4288b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4298b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4308b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4318b36c824SAngeloGioacchino Del Regno		};
4328b36c824SAngeloGioacchino Del Regno
4338b36c824SAngeloGioacchino Del Regno		vreg_l11a_1p8: l11 {
4348b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1784000>;
4358b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4368b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4378b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4388b36c824SAngeloGioacchino Del Regno		};
4398b36c824SAngeloGioacchino Del Regno
4408b36c824SAngeloGioacchino Del Regno		vreg_l12a_1p8: l12 {
4418b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4428b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4438b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4448b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4458b36c824SAngeloGioacchino Del Regno		};
4468b36c824SAngeloGioacchino Del Regno
4478b36c824SAngeloGioacchino Del Regno		/* This gives power to the LPDDR4: never turn it off! */
4488b36c824SAngeloGioacchino Del Regno		vreg_l13a_1p8: l13 {
4498b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4508b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4518b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4528b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4538b36c824SAngeloGioacchino Del Regno			regulator-boot-on;
4548b36c824SAngeloGioacchino Del Regno			regulator-always-on;
4558b36c824SAngeloGioacchino Del Regno		};
4568b36c824SAngeloGioacchino Del Regno
4578b36c824SAngeloGioacchino Del Regno		vreg_l14a_1p8: l14 {
4588b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1710000>;
4598b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1904000>;
4608b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4618b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4628b36c824SAngeloGioacchino Del Regno		};
4638b36c824SAngeloGioacchino Del Regno
4648b36c824SAngeloGioacchino Del Regno		vreg_l15a_1p8: l15 {
4658b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
4668b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
4678b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4688b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4698b36c824SAngeloGioacchino Del Regno		};
4708b36c824SAngeloGioacchino Del Regno
4718b36c824SAngeloGioacchino Del Regno		/* L16A (2.70V) is unused */
4728b36c824SAngeloGioacchino Del Regno
4738b36c824SAngeloGioacchino Del Regno		vreg_l17a_1p8: l17 {
4748b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
4758b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
4768b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4778b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4788b36c824SAngeloGioacchino Del Regno		};
4798b36c824SAngeloGioacchino Del Regno
4808b36c824SAngeloGioacchino Del Regno		vreg_l18a_1v8: l18 {
4818b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4828b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1800000>;
4838b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4848b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <10>;
4858b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
4868b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <50000>;
4878b36c824SAngeloGioacchino Del Regno			regulator-system-load = <10000>;
4888b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4898b36c824SAngeloGioacchino Del Regno		};
4908b36c824SAngeloGioacchino Del Regno
4918b36c824SAngeloGioacchino Del Regno		vreg_l19a_3p3: l19 {
4928b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <3312000>;
4938b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3400000>;
4948b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4958b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4968b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4978b36c824SAngeloGioacchino Del Regno		};
4988b36c824SAngeloGioacchino Del Regno	};
4998b36c824SAngeloGioacchino Del Regno};
5008b36c824SAngeloGioacchino Del Regno
501*158f80a6SKonrad Dybcio&sdhc_1 {
502*158f80a6SKonrad Dybcio	status = "okay";
503*158f80a6SKonrad Dybcio	supports-cqe;
504*158f80a6SKonrad Dybcio
505*158f80a6SKonrad Dybcio	/* SoMC Nile platform's eMMC doesn't support HS200 mode */
506*158f80a6SKonrad Dybcio	mmc-ddr-1_8v;
507*158f80a6SKonrad Dybcio	mmc-hs400-1_8v;
508*158f80a6SKonrad Dybcio	mmc-hs400-enhanced-strobe;
509*158f80a6SKonrad Dybcio
510*158f80a6SKonrad Dybcio	vmmc-supply = <&vreg_l4b_29p5>;
511*158f80a6SKonrad Dybcio	vqmmc-supply = <&vreg_l8a_1p8>;
512*158f80a6SKonrad Dybcio};
513*158f80a6SKonrad Dybcio
5148b36c824SAngeloGioacchino Del Regno&tlmm {
5158b36c824SAngeloGioacchino Del Regno	gpio-reserved-ranges = <8 4>;
5168b36c824SAngeloGioacchino Del Regno
5178b36c824SAngeloGioacchino Del Regno	imx300_vana_default: imx300-vana-default {
5188b36c824SAngeloGioacchino Del Regno		pins = "gpio50";
5198b36c824SAngeloGioacchino Del Regno		function = "gpio";
5208b36c824SAngeloGioacchino Del Regno		bias-disable;
5218b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5228b36c824SAngeloGioacchino Del Regno	};
5238b36c824SAngeloGioacchino Del Regno
5248b36c824SAngeloGioacchino Del Regno	imx219_vana_default: imx219-vana-default {
5258b36c824SAngeloGioacchino Del Regno		pins = "gpio51";
5268b36c824SAngeloGioacchino Del Regno		function = "gpio";
5278b36c824SAngeloGioacchino Del Regno		bias-disable;
5288b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5298b36c824SAngeloGioacchino Del Regno	};
5308b36c824SAngeloGioacchino Del Regno
5318b36c824SAngeloGioacchino Del Regno	cam_vdig_default: cam-vdig-default {
5328b36c824SAngeloGioacchino Del Regno		pins = "gpio52";
5338b36c824SAngeloGioacchino Del Regno		function = "gpio";
5348b36c824SAngeloGioacchino Del Regno		bias-disable;
5358b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5368b36c824SAngeloGioacchino Del Regno	};
5378b36c824SAngeloGioacchino Del Regno};
538