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	};
1512c616239SKonrad Dybcio
1522c616239SKonrad Dybcio	/*
1532c616239SKonrad Dybcio	 * Until we hook up type-c detection, we
1542c616239SKonrad Dybcio	 * have to stick with this. But it works.
1552c616239SKonrad Dybcio	 */
1562c616239SKonrad Dybcio	extcon_usb: extcon-usb {
1572c616239SKonrad Dybcio		compatible = "linux,extcon-usb-gpio";
1582c616239SKonrad Dybcio		id-gpio = <&tlmm 58 GPIO_ACTIVE_HIGH>;
1592c616239SKonrad Dybcio	};
160e781633bSKonrad Dybcio};
161e781633bSKonrad Dybcio
162158f80a6SKonrad Dybcio&blsp_i2c1 {
163e781633bSKonrad Dybcio	status = "okay";
164e781633bSKonrad Dybcio
165e781633bSKonrad Dybcio	/* Synaptics touchscreen */
166e781633bSKonrad Dybcio};
167e781633bSKonrad Dybcio
168158f80a6SKonrad Dybcio&blsp_i2c2 {
169e781633bSKonrad Dybcio	status = "okay";
170e781633bSKonrad Dybcio
171e781633bSKonrad Dybcio	/* SMB1351 charger */
172e781633bSKonrad Dybcio};
173e781633bSKonrad Dybcio
174e781633bSKonrad Dybcio/* I2C3, 4, 5, 7 and 8 are disabled on this board. */
175e781633bSKonrad Dybcio
176158f80a6SKonrad Dybcio&blsp_i2c6 {
177e781633bSKonrad Dybcio	status = "okay";
178e781633bSKonrad Dybcio
179e781633bSKonrad Dybcio	/* NXP NFC */
180e781633bSKonrad Dybcio};
181158f80a6SKonrad Dybcio
182158f80a6SKonrad Dybcio&blsp1_uart2 {
183158f80a6SKonrad Dybcio	status = "okay";
184158f80a6SKonrad Dybcio
185158f80a6SKonrad Dybcio	/* MSM serial console */
186e781633bSKonrad Dybcio};
187158f80a6SKonrad Dybcio
188158f80a6SKonrad Dybcio&blsp2_uart1 {
189158f80a6SKonrad Dybcio	status = "okay";
190158f80a6SKonrad Dybcio
191158f80a6SKonrad Dybcio	/* HCI Bluetooth */
192e781633bSKonrad Dybcio};
1938b36c824SAngeloGioacchino Del Regno
194*fcbcd062SKonrad Dybcio&pon {
195*fcbcd062SKonrad Dybcio	volup {
196*fcbcd062SKonrad Dybcio		compatible = "qcom,pm8941-resin";
197*fcbcd062SKonrad Dybcio		interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
198*fcbcd062SKonrad Dybcio		debounce = <15625>;
199*fcbcd062SKonrad Dybcio		bias-pull-up;
200*fcbcd062SKonrad Dybcio		linux,code = <KEY_VOLUMEUP>;
201*fcbcd062SKonrad Dybcio	};
202*fcbcd062SKonrad Dybcio};
203*fcbcd062SKonrad Dybcio
2042c616239SKonrad Dybcio&qusb2phy {
2052c616239SKonrad Dybcio	status = "okay";
2062c616239SKonrad Dybcio
2072c616239SKonrad Dybcio	vdd-supply = <&vreg_l1b_0p925>;
2082c616239SKonrad Dybcio	vdda-pll-supply = <&vreg_l10a_1p8>;
2092c616239SKonrad Dybcio	vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
2102c616239SKonrad Dybcio};
2112c616239SKonrad Dybcio
2128b36c824SAngeloGioacchino Del Regno&rpm_requests {
2138b36c824SAngeloGioacchino Del Regno	pm660l-regulators {
2148b36c824SAngeloGioacchino Del Regno		compatible = "qcom,rpm-pm660l-regulators";
2158b36c824SAngeloGioacchino Del Regno
2168b36c824SAngeloGioacchino Del Regno		vdd_s1-supply = <&vph_pwr>;
2178b36c824SAngeloGioacchino Del Regno		vdd_s2-supply = <&vph_pwr>;
2188b36c824SAngeloGioacchino Del Regno		vdd_s3_s4-supply = <&vph_pwr>;
2198b36c824SAngeloGioacchino Del Regno		vdd_s5-supply = <&vph_pwr>;
2208b36c824SAngeloGioacchino Del Regno		vdd_s6-supply = <&vph_pwr>;
2218b36c824SAngeloGioacchino Del Regno
2228b36c824SAngeloGioacchino Del Regno		vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
2238b36c824SAngeloGioacchino Del Regno		vdd_l2-supply = <&vreg_bob>;
2248b36c824SAngeloGioacchino Del Regno		vdd_l3_l5_l7_l8-supply = <&vreg_bob>;
2258b36c824SAngeloGioacchino Del Regno		vdd_l4_l6-supply = <&vreg_bob>;
2268b36c824SAngeloGioacchino Del Regno		vdd_bob-supply = <&vph_pwr>;
2278b36c824SAngeloGioacchino Del Regno
2288b36c824SAngeloGioacchino Del Regno		vreg_s1b_1p125: s1 {
2298b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1125000>;
2308b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1125000>;
2318b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
2328b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2338b36c824SAngeloGioacchino Del Regno		};
2348b36c824SAngeloGioacchino Del Regno
2358b36c824SAngeloGioacchino Del Regno		vreg_s2b_1p05: s2 {
2368b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1050000>;
2378b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1050000>;
2388b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
2398b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2408b36c824SAngeloGioacchino Del Regno		};
2418b36c824SAngeloGioacchino Del Regno
2428b36c824SAngeloGioacchino Del Regno		/*
2438b36c824SAngeloGioacchino Del Regno		 * At least on Nile's configuration, S3B/S4B (VDD_CX) and
2448b36c824SAngeloGioacchino Del Regno		 * S5B (VDD_MX) are managed only through RPM Power Domains.
2458b36c824SAngeloGioacchino Del Regno		 * Trying to set a voltage on the main supply will create
2468b36c824SAngeloGioacchino Del Regno		 * havoc and freeze the SoC.
2478b36c824SAngeloGioacchino Del Regno		 * In any case, reference voltages for these regulators are:
2488b36c824SAngeloGioacchino Del Regno		 * S3B/S4B: 0.870V
2498b36c824SAngeloGioacchino Del Regno		 * S5B: 0.915V
2508b36c824SAngeloGioacchino Del Regno		 */
2518b36c824SAngeloGioacchino Del Regno
2528b36c824SAngeloGioacchino Del Regno		/* LDOs */
2538b36c824SAngeloGioacchino Del Regno		vreg_l1b_0p925: l1 {
2548b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <920000>;
2558b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <928000>;
2568b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2578b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2588b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2598b36c824SAngeloGioacchino Del Regno		};
2608b36c824SAngeloGioacchino Del Regno
2618b36c824SAngeloGioacchino Del Regno		vreg_l2b_2p95: l2 {
2628b36c824SAngeloGioacchino Del Regno			/*
2638b36c824SAngeloGioacchino Del Regno			 * This regulator supports 1.648 - 3.104V on this board
2648b36c824SAngeloGioacchino Del Regno			 * but we set a max voltage of anything less than 2.7V
2658b36c824SAngeloGioacchino Del Regno			 * to satisfy a condition in sdhci.c that will disable
2668b36c824SAngeloGioacchino Del Regno			 * 3.3V SDHCI signaling, which happens to be not really
2678b36c824SAngeloGioacchino Del Regno			 * supported on the Xperia Nile/Ganges platform.
2688b36c824SAngeloGioacchino Del Regno			 */
2698b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
2708b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2696000>;
2718b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2728b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2738b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2748b36c824SAngeloGioacchino Del Regno		};
2758b36c824SAngeloGioacchino Del Regno
2768b36c824SAngeloGioacchino Del Regno		vreg_l3b_3p0: l3 {
2778b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2800000>;
2788b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2800000>;
2798b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2808b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2818b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
2828b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <600000>;
2838b36c824SAngeloGioacchino Del Regno			regulator-system-load = <100000>;
2848b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2858b36c824SAngeloGioacchino Del Regno		};
2868b36c824SAngeloGioacchino Del Regno
2878b36c824SAngeloGioacchino Del Regno		vreg_l4b_29p5: l4 {
2888b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2944000>;
2898b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
2908b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2918b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2928b36c824SAngeloGioacchino Del Regno
2938b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
2948b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <600000>;
2958b36c824SAngeloGioacchino Del Regno			regulator-system-load = <570000>;
2968b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2978b36c824SAngeloGioacchino Del Regno		};
2988b36c824SAngeloGioacchino Del Regno
2998b36c824SAngeloGioacchino Del Regno		/*
3008b36c824SAngeloGioacchino Del Regno		 * Downstream specifies a range of 1721-3600mV,
3018b36c824SAngeloGioacchino Del Regno		 * but the only assigned consumers are SDHCI2 VMMC
3028b36c824SAngeloGioacchino Del Regno		 * and Coresight QPDI that both request pinned 2.95V.
3038b36c824SAngeloGioacchino Del Regno		 * Tighten the range to 1.8-3.328 (closest to 3.3) to
3048b36c824SAngeloGioacchino Del Regno		 * make the mmc driver happy.
3058b36c824SAngeloGioacchino Del Regno		 */
3068b36c824SAngeloGioacchino Del Regno		vreg_l5b_29p5: l5 {
3078b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
3088b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3328000>;
3098b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3108b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3118b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
3128b36c824SAngeloGioacchino Del Regno		};
3138b36c824SAngeloGioacchino Del Regno
3148b36c824SAngeloGioacchino Del Regno		vreg_l6b_3p3: l6 {
3158b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1704000>;
3168b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3312000>;
3178b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3188b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3198b36c824SAngeloGioacchino Del Regno		};
3208b36c824SAngeloGioacchino Del Regno
3218b36c824SAngeloGioacchino Del Regno		vreg_l7b_3p125: l7 {
3228b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2704000>;
3238b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3128000>;
3248b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3258b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3268b36c824SAngeloGioacchino Del Regno		};
3278b36c824SAngeloGioacchino Del Regno
3288b36c824SAngeloGioacchino Del Regno		vreg_l8b_3p3: l8 {
3298b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2800000>;
3308b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3400000>;
3318b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3328b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3338b36c824SAngeloGioacchino Del Regno		};
3348b36c824SAngeloGioacchino Del Regno
3358b36c824SAngeloGioacchino Del Regno		/* L9B (870mV) is currently unused */
3368b36c824SAngeloGioacchino Del Regno		/* L10B (915mV) is currently unused */
3378b36c824SAngeloGioacchino Del Regno
3388b36c824SAngeloGioacchino Del Regno		vreg_bob: bob {
3398b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <3304000>;
3408b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3624000>;
3418b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <500>;
3428b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3438b36c824SAngeloGioacchino Del Regno		};
3448b36c824SAngeloGioacchino Del Regno	};
3458b36c824SAngeloGioacchino Del Regno
3468b36c824SAngeloGioacchino Del Regno	pm660-regulators {
3478b36c824SAngeloGioacchino Del Regno		compatible = "qcom,rpm-pm660-regulators";
3488b36c824SAngeloGioacchino Del Regno
3498b36c824SAngeloGioacchino Del Regno		vdd_s1-supply = <&vph_pwr>;
3508b36c824SAngeloGioacchino Del Regno		vdd_s2-supply = <&vph_pwr>;
3518b36c824SAngeloGioacchino Del Regno		vdd_s3-supply = <&vph_pwr>;
3528b36c824SAngeloGioacchino Del Regno		vdd_s4-supply = <&vph_pwr>;
3538b36c824SAngeloGioacchino Del Regno		vdd_s5-supply = <&vph_pwr>;
3548b36c824SAngeloGioacchino Del Regno		vdd_s6-supply = <&vph_pwr>;
3558b36c824SAngeloGioacchino Del Regno
3568b36c824SAngeloGioacchino Del Regno		vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>;
3578b36c824SAngeloGioacchino Del Regno		vdd_l2_l3-supply = <&vreg_s2b_1p05>;
3588b36c824SAngeloGioacchino Del Regno		vdd_l5-supply = <&vreg_s2b_1p05>;
3598b36c824SAngeloGioacchino Del Regno		vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>;
3608b36c824SAngeloGioacchino Del Regno		vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>;
3618b36c824SAngeloGioacchino Del Regno
3628b36c824SAngeloGioacchino Del Regno		/*
3638b36c824SAngeloGioacchino Del Regno		 * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed
3648b36c824SAngeloGioacchino Del Regno		 * by the Core Power Reduction hardened (CPRh) and the
3658b36c824SAngeloGioacchino Del Regno		 * Operating State Manager (OSM) HW automatically.
3668b36c824SAngeloGioacchino Del Regno		 */
3678b36c824SAngeloGioacchino Del Regno
3688b36c824SAngeloGioacchino Del Regno		vreg_s4a_2p04: s4 {
3698b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2040000>;
3708b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2040000>;
3718b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
3728b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3738b36c824SAngeloGioacchino Del Regno			regulator-always-on;
3748b36c824SAngeloGioacchino Del Regno		};
3758b36c824SAngeloGioacchino Del Regno
3768b36c824SAngeloGioacchino Del Regno		vreg_s5a_1p35: s5 {
3778b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1224000>;
3788b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1350000>;
3798b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
3808b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3818b36c824SAngeloGioacchino Del Regno		};
3828b36c824SAngeloGioacchino Del Regno
3838b36c824SAngeloGioacchino Del Regno		vreg_s6a_0p87: s6 {
3848b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <504000>;
3858b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <992000>;
3868b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <150>;
3878b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3888b36c824SAngeloGioacchino Del Regno		};
3898b36c824SAngeloGioacchino Del Regno
3908b36c824SAngeloGioacchino Del Regno		/* LDOs */
3918b36c824SAngeloGioacchino Del Regno		vreg_l1a_1p225: l1 {
3928b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1226000>;
3938b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1250000>;
3948b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3958b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3968b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
3978b36c824SAngeloGioacchino Del Regno		};
3988b36c824SAngeloGioacchino Del Regno
3998b36c824SAngeloGioacchino Del Regno		vreg_l2a_1p0: l2 {
4008b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <944000>;
4018b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1008000>;
4028b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4038b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4048b36c824SAngeloGioacchino Del Regno		};
4058b36c824SAngeloGioacchino Del Regno
4068b36c824SAngeloGioacchino Del Regno		vreg_l3a_1p0: l3 {
4078b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <944000>;
4088b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1008000>;
4098b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4108b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4118b36c824SAngeloGioacchino Del Regno		};
4128b36c824SAngeloGioacchino Del Regno
4138b36c824SAngeloGioacchino Del Regno		vreg_l5a_0p848: l5 {
4148b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <800000>;
4158b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <952000>;
4168b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4178b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4188b36c824SAngeloGioacchino Del Regno		};
4198b36c824SAngeloGioacchino Del Regno
4208b36c824SAngeloGioacchino Del Regno		vreg_l6a_1p3: l6 {
4218b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1304000>;
4228b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1368000>;
4238b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4248b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4258b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4268b36c824SAngeloGioacchino Del Regno		};
4278b36c824SAngeloGioacchino Del Regno
4288b36c824SAngeloGioacchino Del Regno		vreg_l7a_1p2: l7 {
4298b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1200000>;
4308b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1200000>;
4318b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4328b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4338b36c824SAngeloGioacchino Del Regno		};
4348b36c824SAngeloGioacchino Del Regno
4358b36c824SAngeloGioacchino Del Regno		vreg_l8a_1p8: l8 {
4368b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4378b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1800000>;
4388b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4398b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4408b36c824SAngeloGioacchino Del Regno			regulator-system-load = <325000>;
4418b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4428b36c824SAngeloGioacchino Del Regno		};
4438b36c824SAngeloGioacchino Del Regno
4448b36c824SAngeloGioacchino Del Regno		vreg_l9a_1p8: l9 {
4458b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1804000>;
4468b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1896000>;
4478b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4488b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4498b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4508b36c824SAngeloGioacchino Del Regno		};
4518b36c824SAngeloGioacchino Del Regno
4528b36c824SAngeloGioacchino Del Regno		vreg_l10a_1p8: l10 {
4538b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4548b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4558b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4568b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4578b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4588b36c824SAngeloGioacchino Del Regno		};
4598b36c824SAngeloGioacchino Del Regno
4608b36c824SAngeloGioacchino Del Regno		vreg_l11a_1p8: l11 {
4618b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1784000>;
4628b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4638b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4648b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4658b36c824SAngeloGioacchino Del Regno		};
4668b36c824SAngeloGioacchino Del Regno
4678b36c824SAngeloGioacchino Del Regno		vreg_l12a_1p8: l12 {
4688b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4698b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4708b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4718b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4728b36c824SAngeloGioacchino Del Regno		};
4738b36c824SAngeloGioacchino Del Regno
4748b36c824SAngeloGioacchino Del Regno		/* This gives power to the LPDDR4: never turn it off! */
4758b36c824SAngeloGioacchino Del Regno		vreg_l13a_1p8: l13 {
4768b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4778b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4788b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4798b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4808b36c824SAngeloGioacchino Del Regno			regulator-boot-on;
4818b36c824SAngeloGioacchino Del Regno			regulator-always-on;
4828b36c824SAngeloGioacchino Del Regno		};
4838b36c824SAngeloGioacchino Del Regno
4848b36c824SAngeloGioacchino Del Regno		vreg_l14a_1p8: l14 {
4858b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1710000>;
4868b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1904000>;
4878b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4888b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4898b36c824SAngeloGioacchino Del Regno		};
4908b36c824SAngeloGioacchino Del Regno
4918b36c824SAngeloGioacchino Del Regno		vreg_l15a_1p8: l15 {
4928b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
4938b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
4948b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4958b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4968b36c824SAngeloGioacchino Del Regno		};
4978b36c824SAngeloGioacchino Del Regno
4988b36c824SAngeloGioacchino Del Regno		/* L16A (2.70V) is unused */
4998b36c824SAngeloGioacchino Del Regno
5008b36c824SAngeloGioacchino Del Regno		vreg_l17a_1p8: l17 {
5018b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
5028b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
5038b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5048b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5058b36c824SAngeloGioacchino Del Regno		};
5068b36c824SAngeloGioacchino Del Regno
5078b36c824SAngeloGioacchino Del Regno		vreg_l18a_1v8: l18 {
5088b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
5098b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1800000>;
5108b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5118b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <10>;
5128b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
5138b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <50000>;
5148b36c824SAngeloGioacchino Del Regno			regulator-system-load = <10000>;
5158b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
5168b36c824SAngeloGioacchino Del Regno		};
5178b36c824SAngeloGioacchino Del Regno
5188b36c824SAngeloGioacchino Del Regno		vreg_l19a_3p3: l19 {
5198b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <3312000>;
5208b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3400000>;
5218b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5228b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5238b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
5248b36c824SAngeloGioacchino Del Regno		};
5258b36c824SAngeloGioacchino Del Regno	};
5268b36c824SAngeloGioacchino Del Regno};
5278b36c824SAngeloGioacchino Del Regno
528158f80a6SKonrad Dybcio&sdhc_1 {
529158f80a6SKonrad Dybcio	status = "okay";
530158f80a6SKonrad Dybcio	supports-cqe;
531158f80a6SKonrad Dybcio
532158f80a6SKonrad Dybcio	/* SoMC Nile platform's eMMC doesn't support HS200 mode */
533158f80a6SKonrad Dybcio	mmc-ddr-1_8v;
534158f80a6SKonrad Dybcio	mmc-hs400-1_8v;
535158f80a6SKonrad Dybcio	mmc-hs400-enhanced-strobe;
536158f80a6SKonrad Dybcio
537158f80a6SKonrad Dybcio	vmmc-supply = <&vreg_l4b_29p5>;
538158f80a6SKonrad Dybcio	vqmmc-supply = <&vreg_l8a_1p8>;
539158f80a6SKonrad Dybcio};
540158f80a6SKonrad Dybcio
5418b36c824SAngeloGioacchino Del Regno&tlmm {
5428b36c824SAngeloGioacchino Del Regno	gpio-reserved-ranges = <8 4>;
5438b36c824SAngeloGioacchino Del Regno
5448b36c824SAngeloGioacchino Del Regno	imx300_vana_default: imx300-vana-default {
5458b36c824SAngeloGioacchino Del Regno		pins = "gpio50";
5468b36c824SAngeloGioacchino Del Regno		function = "gpio";
5478b36c824SAngeloGioacchino Del Regno		bias-disable;
5488b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5498b36c824SAngeloGioacchino Del Regno	};
5508b36c824SAngeloGioacchino Del Regno
5518b36c824SAngeloGioacchino Del Regno	imx219_vana_default: imx219-vana-default {
5528b36c824SAngeloGioacchino Del Regno		pins = "gpio51";
5538b36c824SAngeloGioacchino Del Regno		function = "gpio";
5548b36c824SAngeloGioacchino Del Regno		bias-disable;
5558b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5568b36c824SAngeloGioacchino Del Regno	};
5578b36c824SAngeloGioacchino Del Regno
5588b36c824SAngeloGioacchino Del Regno	cam_vdig_default: cam-vdig-default {
5598b36c824SAngeloGioacchino Del Regno		pins = "gpio52";
5608b36c824SAngeloGioacchino Del Regno		function = "gpio";
5618b36c824SAngeloGioacchino Del Regno		bias-disable;
5628b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5638b36c824SAngeloGioacchino Del Regno	};
5648b36c824SAngeloGioacchino Del Regno};
5652c616239SKonrad Dybcio
5662c616239SKonrad Dybcio&usb3 {
5672c616239SKonrad Dybcio	status = "okay";
5682c616239SKonrad Dybcio};
5692c616239SKonrad Dybcio
5702c616239SKonrad Dybcio&usb3_dwc3 {
5712c616239SKonrad Dybcio	dr_mode = "peripheral";
5722c616239SKonrad Dybcio	extcon = <&extcon_usb>;
5732c616239SKonrad Dybcio};
574