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 "pm660.dtsi"
9e781633bSKonrad Dybcio#include "pm660l.dtsi"
10e781633bSKonrad Dybcio#include <dt-bindings/gpio/gpio.h>
11e781633bSKonrad Dybcio#include <dt-bindings/input/input.h>
12e781633bSKonrad Dybcio#include <dt-bindings/input/gpio-keys.h>
13e781633bSKonrad Dybcio
14e781633bSKonrad Dybcio/ {
15e781633bSKonrad Dybcio	/* required for bootloader to select correct board */
16e781633bSKonrad Dybcio	qcom,msm-id = <318 0>;
17e781633bSKonrad Dybcio	qcom,board-id = <8 1>;
18e781633bSKonrad Dybcio	qcom,pmic-id = <0x1001b 0x101011a 0x00 0x00 0x1001b 0x201011a 0x00 0x00>;
19e781633bSKonrad Dybcio
20e781633bSKonrad Dybcio	/* This part enables graphical output via bootloader-enabled display */
21e781633bSKonrad Dybcio	chosen {
22e781633bSKonrad Dybcio		bootargs = "earlycon=tty0 console=tty0";
23e781633bSKonrad Dybcio
24e781633bSKonrad Dybcio		#address-cells = <2>;
25e781633bSKonrad Dybcio		#size-cells = <2>;
26e781633bSKonrad Dybcio		ranges;
27e781633bSKonrad Dybcio
28e781633bSKonrad Dybcio		stdout-path = "framebuffer0";
29e781633bSKonrad Dybcio
30e781633bSKonrad Dybcio		framebuffer0: framebuffer@9d400000 {
31e781633bSKonrad Dybcio			compatible = "simple-framebuffer";
32e781633bSKonrad Dybcio			reg = <0 0x9d400000 0 (1920 * 1080 * 4)>;
33e781633bSKonrad Dybcio			width = <1080>;
34e781633bSKonrad Dybcio			height = <1920>;
35e781633bSKonrad Dybcio			stride = <(1080 * 4)>;
36e781633bSKonrad Dybcio			format = "a8r8g8b8";
37e781633bSKonrad Dybcio			status= "okay";
38e781633bSKonrad Dybcio		};
39e781633bSKonrad Dybcio	};
40e781633bSKonrad Dybcio
418b36c824SAngeloGioacchino Del Regno	board_vbat: vbat-regulator {
428b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
438b36c824SAngeloGioacchino Del Regno		regulator-name = "VBAT";
448b36c824SAngeloGioacchino Del Regno
458b36c824SAngeloGioacchino Del Regno		regulator-min-microvolt = <4000000>;
468b36c824SAngeloGioacchino Del Regno		regulator-max-microvolt = <4000000>;
478b36c824SAngeloGioacchino Del Regno		regulator-always-on;
488b36c824SAngeloGioacchino Del Regno		regulator-boot-on;
498b36c824SAngeloGioacchino Del Regno	};
508b36c824SAngeloGioacchino Del Regno
518b36c824SAngeloGioacchino Del Regno	vph_pwr: vph-pwr-regulator {
528b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
538b36c824SAngeloGioacchino Del Regno		regulator-name = "vph_pwr";
548b36c824SAngeloGioacchino Del Regno
558b36c824SAngeloGioacchino Del Regno		regulator-always-on;
568b36c824SAngeloGioacchino Del Regno		regulator-boot-on;
578b36c824SAngeloGioacchino Del Regno	};
588b36c824SAngeloGioacchino Del Regno
598b36c824SAngeloGioacchino Del Regno	cam_vdig_imx300_219_vreg: cam_vdig_imx300_219_vreg {
608b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
618b36c824SAngeloGioacchino Del Regno		regulator-name = "cam_vdig_imx300_219_vreg";
628b36c824SAngeloGioacchino Del Regno		startup-delay-us = <0>;
638b36c824SAngeloGioacchino Del Regno		enable-active-high;
648b36c824SAngeloGioacchino Del Regno		gpio = <&tlmm 52 GPIO_ACTIVE_HIGH>;
658b36c824SAngeloGioacchino Del Regno		pinctrl-names = "default";
668b36c824SAngeloGioacchino Del Regno		pinctrl-0 = <&cam_vdig_default>;
678b36c824SAngeloGioacchino Del Regno	};
688b36c824SAngeloGioacchino Del Regno
698b36c824SAngeloGioacchino Del Regno	cam_vana_front_vreg: cam_vana_front_vreg {
708b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
718b36c824SAngeloGioacchino Del Regno		regulator-name = "cam_vana_front_vreg";
728b36c824SAngeloGioacchino Del Regno		startup-delay-us = <0>;
738b36c824SAngeloGioacchino Del Regno		enable-active-high;
748b36c824SAngeloGioacchino Del Regno		gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
758b36c824SAngeloGioacchino Del Regno		pinctrl-names = "default";
768b36c824SAngeloGioacchino Del Regno		pinctrl-0 = <&imx219_vana_default>;
778b36c824SAngeloGioacchino Del Regno	};
788b36c824SAngeloGioacchino Del Regno
798b36c824SAngeloGioacchino Del Regno	cam_vana_rear_vreg: cam_vana_rear_vreg {
808b36c824SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
818b36c824SAngeloGioacchino Del Regno		regulator-name = "cam_vana_rear_vreg";
828b36c824SAngeloGioacchino Del Regno		startup-delay-us = <0>;
838b36c824SAngeloGioacchino Del Regno		enable-active-high;
848b36c824SAngeloGioacchino Del Regno		gpio = <&tlmm 50 GPIO_ACTIVE_HIGH>;
858b36c824SAngeloGioacchino Del Regno		regulator-always-on;
868b36c824SAngeloGioacchino Del Regno		pinctrl-names = "default";
878b36c824SAngeloGioacchino Del Regno		pinctrl-0 = <&imx300_vana_default>;
888b36c824SAngeloGioacchino Del Regno	};
898b36c824SAngeloGioacchino Del Regno
90e781633bSKonrad Dybcio	gpio_keys {
91e781633bSKonrad Dybcio		status = "okay";
92e781633bSKonrad Dybcio		compatible = "gpio-keys";
93e781633bSKonrad Dybcio		#address-cells = <1>;
94e781633bSKonrad Dybcio		#size-cells = <0>;
95e781633bSKonrad Dybcio
96e781633bSKonrad Dybcio		camera_focus {
97e781633bSKonrad Dybcio			label = "Camera Focus";
98e781633bSKonrad Dybcio			gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
99e781633bSKonrad Dybcio			linux,input-type = <1>;
100e781633bSKonrad Dybcio			linux,code = <KEY_CAMERA_FOCUS>;
101e781633bSKonrad Dybcio			debounce-interval = <15>;
102e781633bSKonrad Dybcio		};
103e781633bSKonrad Dybcio
104e781633bSKonrad Dybcio		camera_snapshot {
105e781633bSKonrad Dybcio			label = "Camera Snapshot";
106e781633bSKonrad Dybcio			gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
107e781633bSKonrad Dybcio			linux,input-type = <1>;
108e781633bSKonrad Dybcio			linux,code = <KEY_CAMERA>;
109e781633bSKonrad Dybcio			debounce-interval = <15>;
110e781633bSKonrad Dybcio		};
111e781633bSKonrad Dybcio
112e781633bSKonrad Dybcio		vol_down {
113e781633bSKonrad Dybcio			label = "Volume Down";
114e781633bSKonrad Dybcio			gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
115e781633bSKonrad Dybcio			linux,input-type = <1>;
116e781633bSKonrad Dybcio			linux,code = <KEY_VOLUMEDOWN>;
117e781633bSKonrad Dybcio			gpio-key,wakeup;
118e781633bSKonrad Dybcio			debounce-interval = <15>;
119e781633bSKonrad Dybcio		};
120e781633bSKonrad Dybcio	};
121e781633bSKonrad Dybcio
122e781633bSKonrad Dybcio	reserved-memory {
123e781633bSKonrad Dybcio		#address-cells = <2>;
124e781633bSKonrad Dybcio		#size-cells = <2>;
125e781633bSKonrad Dybcio		ranges;
126e781633bSKonrad Dybcio
127e781633bSKonrad Dybcio		ramoops@ffc00000 {
128e781633bSKonrad Dybcio			compatible = "ramoops";
129e781633bSKonrad Dybcio			reg = <0x0 0xffc00000 0x0 0x100000>;
130e781633bSKonrad Dybcio			record-size = <0x10000>;
131e781633bSKonrad Dybcio			console-size = <0x60000>;
132e781633bSKonrad Dybcio			ftrace-size = <0x10000>;
133e781633bSKonrad Dybcio			pmsg-size = <0x20000>;
134e781633bSKonrad Dybcio			ecc-size = <16>;
135e781633bSKonrad Dybcio			status = "okay";
136e781633bSKonrad Dybcio		};
137e781633bSKonrad Dybcio
138e781633bSKonrad Dybcio		debug_region@ffb00000 {
139e781633bSKonrad Dybcio			reg = <0x00 0xffb00000 0x00 0x100000>;
140e781633bSKonrad Dybcio			no-map;
141e781633bSKonrad Dybcio		};
142e781633bSKonrad Dybcio
143e781633bSKonrad Dybcio		removed_region@85800000 {
144e781633bSKonrad Dybcio			reg = <0x00 0x85800000 0x00 0x3700000>;
145e781633bSKonrad Dybcio			no-map;
146e781633bSKonrad Dybcio		};
147e781633bSKonrad Dybcio	};
1482c616239SKonrad Dybcio
1492c616239SKonrad Dybcio	/*
1502c616239SKonrad Dybcio	 * Until we hook up type-c detection, we
1512c616239SKonrad Dybcio	 * have to stick with this. But it works.
1522c616239SKonrad Dybcio	 */
1532c616239SKonrad Dybcio	extcon_usb: extcon-usb {
1542c616239SKonrad Dybcio		compatible = "linux,extcon-usb-gpio";
1552c616239SKonrad Dybcio		id-gpio = <&tlmm 58 GPIO_ACTIVE_HIGH>;
1562c616239SKonrad Dybcio	};
157e781633bSKonrad Dybcio};
158e781633bSKonrad Dybcio
159bc81940dSKonrad Dybcio&adsp_pil {
160bc81940dSKonrad Dybcio	firmware-name = "adsp.mdt";
161bc81940dSKonrad Dybcio};
162bc81940dSKonrad Dybcio
163158f80a6SKonrad Dybcio&blsp_i2c1 {
164e781633bSKonrad Dybcio	status = "okay";
165e781633bSKonrad Dybcio
166f8fc1c43SKonrad Dybcio	touchscreen: synaptics-rmi4-i2c@70 {
167f8fc1c43SKonrad Dybcio		compatible = "syna,rmi4-i2c";
168f8fc1c43SKonrad Dybcio		reg = <0x70>;
169f8fc1c43SKonrad Dybcio		#address-cells = <1>;
170f8fc1c43SKonrad Dybcio		#size-cells = <0>;
171f8fc1c43SKonrad Dybcio		interrupts-extended = <&tlmm 45 0x2008>;
172f8fc1c43SKonrad Dybcio
173f8fc1c43SKonrad Dybcio		pinctrl-names = "default";
174f8fc1c43SKonrad Dybcio		pinctrl-0 = <&ts_int_active &ts_lcd_id_active>;
175f8fc1c43SKonrad Dybcio
176f8fc1c43SKonrad Dybcio		syna,reset-delay-ms = <200>;
177f8fc1c43SKonrad Dybcio		syna,startup-delay-ms = <220>;
178f8fc1c43SKonrad Dybcio
179f8fc1c43SKonrad Dybcio		rmi4-f01@1 {
180f8fc1c43SKonrad Dybcio			reg = <0x01>;
181f8fc1c43SKonrad Dybcio			syna,nosleep-mode = <1>;
182f8fc1c43SKonrad Dybcio		};
183f8fc1c43SKonrad Dybcio
184f8fc1c43SKonrad Dybcio		rmi4-f11@11 {
185f8fc1c43SKonrad Dybcio			reg = <0x11>;
186f8fc1c43SKonrad Dybcio			syna,sensor-type = <1>;
187f8fc1c43SKonrad Dybcio		};
188f8fc1c43SKonrad Dybcio	};
189e781633bSKonrad Dybcio};
190e781633bSKonrad Dybcio
191158f80a6SKonrad Dybcio&blsp_i2c2 {
192e781633bSKonrad Dybcio	status = "okay";
193e781633bSKonrad Dybcio
194e781633bSKonrad Dybcio	/* SMB1351 charger */
195e781633bSKonrad Dybcio};
196e781633bSKonrad Dybcio
197e781633bSKonrad Dybcio/* I2C3, 4, 5, 7 and 8 are disabled on this board. */
198e781633bSKonrad Dybcio
199158f80a6SKonrad Dybcio&blsp_i2c6 {
200e781633bSKonrad Dybcio	status = "okay";
201e781633bSKonrad Dybcio
202e781633bSKonrad Dybcio	/* NXP NFC */
203e781633bSKonrad Dybcio};
204158f80a6SKonrad Dybcio
205158f80a6SKonrad Dybcio&blsp1_uart2 {
206158f80a6SKonrad Dybcio	status = "okay";
207158f80a6SKonrad Dybcio
208158f80a6SKonrad Dybcio	/* MSM serial console */
209e781633bSKonrad Dybcio};
210158f80a6SKonrad Dybcio
211158f80a6SKonrad Dybcio&blsp2_uart1 {
212158f80a6SKonrad Dybcio	status = "okay";
213158f80a6SKonrad Dybcio
214158f80a6SKonrad Dybcio	/* HCI Bluetooth */
215e781633bSKonrad Dybcio};
2168b36c824SAngeloGioacchino Del Regno
2179f6cbe37SDang Huynh&pon_pwrkey {
2189f6cbe37SDang Huynh	status = "okay";
219fcbcd062SKonrad Dybcio};
2209f6cbe37SDang Huynh
2219f6cbe37SDang Huynh&pon_resin {
2229f6cbe37SDang Huynh	status = "okay";
2239f6cbe37SDang Huynh
2249f6cbe37SDang Huynh	linux,code = <KEY_VOLUMEUP>;
225fcbcd062SKonrad Dybcio};
226fcbcd062SKonrad Dybcio
227*696dea7eSDmitry Baryshkov&qusb2phy0 {
2282c616239SKonrad Dybcio	status = "okay";
2292c616239SKonrad Dybcio
2302c616239SKonrad Dybcio	vdd-supply = <&vreg_l1b_0p925>;
2312c616239SKonrad Dybcio	vdda-pll-supply = <&vreg_l10a_1p8>;
2322c616239SKonrad Dybcio	vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
2332c616239SKonrad Dybcio};
2342c616239SKonrad Dybcio
2358b36c824SAngeloGioacchino Del Regno&rpm_requests {
2368b36c824SAngeloGioacchino Del Regno	pm660l-regulators {
2378b36c824SAngeloGioacchino Del Regno		compatible = "qcom,rpm-pm660l-regulators";
2388b36c824SAngeloGioacchino Del Regno
2398b36c824SAngeloGioacchino Del Regno		vdd_s1-supply = <&vph_pwr>;
2408b36c824SAngeloGioacchino Del Regno		vdd_s2-supply = <&vph_pwr>;
2418b36c824SAngeloGioacchino Del Regno		vdd_s3_s4-supply = <&vph_pwr>;
2428b36c824SAngeloGioacchino Del Regno		vdd_s5-supply = <&vph_pwr>;
2438b36c824SAngeloGioacchino Del Regno		vdd_s6-supply = <&vph_pwr>;
2448b36c824SAngeloGioacchino Del Regno
2458b36c824SAngeloGioacchino Del Regno		vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
2468b36c824SAngeloGioacchino Del Regno		vdd_l2-supply = <&vreg_bob>;
2478b36c824SAngeloGioacchino Del Regno		vdd_l3_l5_l7_l8-supply = <&vreg_bob>;
2488b36c824SAngeloGioacchino Del Regno		vdd_l4_l6-supply = <&vreg_bob>;
2498b36c824SAngeloGioacchino Del Regno		vdd_bob-supply = <&vph_pwr>;
2508b36c824SAngeloGioacchino Del Regno
2518b36c824SAngeloGioacchino Del Regno		vreg_s1b_1p125: s1 {
2528b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1125000>;
2538b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1125000>;
2548b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
2558b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2568b36c824SAngeloGioacchino Del Regno		};
2578b36c824SAngeloGioacchino Del Regno
2588b36c824SAngeloGioacchino Del Regno		vreg_s2b_1p05: s2 {
2598b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1050000>;
2608b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1050000>;
2618b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
2628b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2638b36c824SAngeloGioacchino Del Regno		};
2648b36c824SAngeloGioacchino Del Regno
2658b36c824SAngeloGioacchino Del Regno		/*
2668b36c824SAngeloGioacchino Del Regno		 * At least on Nile's configuration, S3B/S4B (VDD_CX) and
2678b36c824SAngeloGioacchino Del Regno		 * S5B (VDD_MX) are managed only through RPM Power Domains.
2688b36c824SAngeloGioacchino Del Regno		 * Trying to set a voltage on the main supply will create
2698b36c824SAngeloGioacchino Del Regno		 * havoc and freeze the SoC.
2708b36c824SAngeloGioacchino Del Regno		 * In any case, reference voltages for these regulators are:
2718b36c824SAngeloGioacchino Del Regno		 * S3B/S4B: 0.870V
2728b36c824SAngeloGioacchino Del Regno		 * S5B: 0.915V
2738b36c824SAngeloGioacchino Del Regno		 */
2748b36c824SAngeloGioacchino Del Regno
2758b36c824SAngeloGioacchino Del Regno		/* LDOs */
2768b36c824SAngeloGioacchino Del Regno		vreg_l1b_0p925: l1 {
2778b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <920000>;
2788b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <928000>;
2798b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2808b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2818b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2828b36c824SAngeloGioacchino Del Regno		};
2838b36c824SAngeloGioacchino Del Regno
2848b36c824SAngeloGioacchino Del Regno		vreg_l2b_2p95: l2 {
2858b36c824SAngeloGioacchino Del Regno			/*
2868b36c824SAngeloGioacchino Del Regno			 * This regulator supports 1.648 - 3.104V on this board
2878b36c824SAngeloGioacchino Del Regno			 * but we set a max voltage of anything less than 2.7V
2888b36c824SAngeloGioacchino Del Regno			 * to satisfy a condition in sdhci.c that will disable
2898b36c824SAngeloGioacchino Del Regno			 * 3.3V SDHCI signaling, which happens to be not really
2908b36c824SAngeloGioacchino Del Regno			 * supported on the Xperia Nile/Ganges platform.
2918b36c824SAngeloGioacchino Del Regno			 */
2928b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
2938b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2696000>;
2948b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
2958b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
2968b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
2978b36c824SAngeloGioacchino Del Regno		};
2988b36c824SAngeloGioacchino Del Regno
2998b36c824SAngeloGioacchino Del Regno		vreg_l3b_3p0: l3 {
3008b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2800000>;
3018b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2800000>;
3028b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3038b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3048b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
3058b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <600000>;
3068b36c824SAngeloGioacchino Del Regno			regulator-system-load = <100000>;
3078b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
3088b36c824SAngeloGioacchino Del Regno		};
3098b36c824SAngeloGioacchino Del Regno
310c22441a7SShawn Guo		vreg_l4b_2p95: l4 {
3118b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2944000>;
3128b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
3138b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3148b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3158b36c824SAngeloGioacchino Del Regno
3168b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
3178b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <600000>;
3188b36c824SAngeloGioacchino Del Regno			regulator-system-load = <570000>;
3198b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
3208b36c824SAngeloGioacchino Del Regno		};
3218b36c824SAngeloGioacchino Del Regno
3228b36c824SAngeloGioacchino Del Regno		/*
3238b36c824SAngeloGioacchino Del Regno		 * Downstream specifies a range of 1721-3600mV,
3248b36c824SAngeloGioacchino Del Regno		 * but the only assigned consumers are SDHCI2 VMMC
3258b36c824SAngeloGioacchino Del Regno		 * and Coresight QPDI that both request pinned 2.95V.
3268b36c824SAngeloGioacchino Del Regno		 * Tighten the range to 1.8-3.328 (closest to 3.3) to
3278b36c824SAngeloGioacchino Del Regno		 * make the mmc driver happy.
3288b36c824SAngeloGioacchino Del Regno		 */
329c22441a7SShawn Guo		vreg_l5b_2p95: l5 {
3308b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
3318b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3328000>;
3328b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3338b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3348b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
335e634d819SKonrad Dybcio			regulator-system-load = <800000>;
3368b36c824SAngeloGioacchino Del Regno		};
3378b36c824SAngeloGioacchino Del Regno
3388b36c824SAngeloGioacchino Del Regno		vreg_l6b_3p3: l6 {
3398b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1704000>;
3408b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3312000>;
3418b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3428b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3438b36c824SAngeloGioacchino Del Regno		};
3448b36c824SAngeloGioacchino Del Regno
3458b36c824SAngeloGioacchino Del Regno		vreg_l7b_3p125: l7 {
3468b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2704000>;
3478b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3128000>;
3488b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3498b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3508b36c824SAngeloGioacchino Del Regno		};
3518b36c824SAngeloGioacchino Del Regno
3528b36c824SAngeloGioacchino Del Regno		vreg_l8b_3p3: l8 {
3538b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2800000>;
3548b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3400000>;
3558b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
3568b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3578b36c824SAngeloGioacchino Del Regno		};
3588b36c824SAngeloGioacchino Del Regno
3598b36c824SAngeloGioacchino Del Regno		/* L9B (870mV) is currently unused */
3608b36c824SAngeloGioacchino Del Regno		/* L10B (915mV) is currently unused */
3618b36c824SAngeloGioacchino Del Regno
3628b36c824SAngeloGioacchino Del Regno		vreg_bob: bob {
3638b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <3304000>;
3648b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3624000>;
3658b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <500>;
3668b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3678b36c824SAngeloGioacchino Del Regno		};
3688b36c824SAngeloGioacchino Del Regno	};
3698b36c824SAngeloGioacchino Del Regno
3708b36c824SAngeloGioacchino Del Regno	pm660-regulators {
3718b36c824SAngeloGioacchino Del Regno		compatible = "qcom,rpm-pm660-regulators";
3728b36c824SAngeloGioacchino Del Regno
3738b36c824SAngeloGioacchino Del Regno		vdd_s1-supply = <&vph_pwr>;
3748b36c824SAngeloGioacchino Del Regno		vdd_s2-supply = <&vph_pwr>;
3758b36c824SAngeloGioacchino Del Regno		vdd_s3-supply = <&vph_pwr>;
3768b36c824SAngeloGioacchino Del Regno		vdd_s4-supply = <&vph_pwr>;
3778b36c824SAngeloGioacchino Del Regno		vdd_s5-supply = <&vph_pwr>;
3788b36c824SAngeloGioacchino Del Regno		vdd_s6-supply = <&vph_pwr>;
3798b36c824SAngeloGioacchino Del Regno
3808b36c824SAngeloGioacchino Del Regno		vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>;
3818b36c824SAngeloGioacchino Del Regno		vdd_l2_l3-supply = <&vreg_s2b_1p05>;
3828b36c824SAngeloGioacchino Del Regno		vdd_l5-supply = <&vreg_s2b_1p05>;
3838b36c824SAngeloGioacchino Del Regno		vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>;
3848b36c824SAngeloGioacchino Del Regno		vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>;
3858b36c824SAngeloGioacchino Del Regno
3868b36c824SAngeloGioacchino Del Regno		/*
3878b36c824SAngeloGioacchino Del Regno		 * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed
3888b36c824SAngeloGioacchino Del Regno		 * by the Core Power Reduction hardened (CPRh) and the
3898b36c824SAngeloGioacchino Del Regno		 * Operating State Manager (OSM) HW automatically.
3908b36c824SAngeloGioacchino Del Regno		 */
3918b36c824SAngeloGioacchino Del Regno
3928b36c824SAngeloGioacchino Del Regno		vreg_s4a_2p04: s4 {
3938b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <2040000>;
3948b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2040000>;
3958b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
3968b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
3978b36c824SAngeloGioacchino Del Regno			regulator-always-on;
3988b36c824SAngeloGioacchino Del Regno		};
3998b36c824SAngeloGioacchino Del Regno
4008b36c824SAngeloGioacchino Del Regno		vreg_s5a_1p35: s5 {
4018b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1224000>;
4028b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1350000>;
4038b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <200>;
4048b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4058b36c824SAngeloGioacchino Del Regno		};
4068b36c824SAngeloGioacchino Del Regno
4078b36c824SAngeloGioacchino Del Regno		vreg_s6a_0p87: s6 {
4088b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <504000>;
4098b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <992000>;
4108b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <150>;
4118b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4128b36c824SAngeloGioacchino Del Regno		};
4138b36c824SAngeloGioacchino Del Regno
4148b36c824SAngeloGioacchino Del Regno		/* LDOs */
4158b36c824SAngeloGioacchino Del Regno		vreg_l1a_1p225: l1 {
4168b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1226000>;
4178b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1250000>;
4188b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4198b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4208b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4218b36c824SAngeloGioacchino Del Regno		};
4228b36c824SAngeloGioacchino Del Regno
4238b36c824SAngeloGioacchino Del Regno		vreg_l2a_1p0: l2 {
4248b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <944000>;
4258b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1008000>;
4268b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4278b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4288b36c824SAngeloGioacchino Del Regno		};
4298b36c824SAngeloGioacchino Del Regno
4308b36c824SAngeloGioacchino Del Regno		vreg_l3a_1p0: l3 {
4318b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <944000>;
4328b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1008000>;
4338b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4348b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4358b36c824SAngeloGioacchino Del Regno		};
4368b36c824SAngeloGioacchino Del Regno
4378b36c824SAngeloGioacchino Del Regno		vreg_l5a_0p848: l5 {
4388b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <800000>;
4398b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <952000>;
4408b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4418b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4428b36c824SAngeloGioacchino Del Regno		};
4438b36c824SAngeloGioacchino Del Regno
4448b36c824SAngeloGioacchino Del Regno		vreg_l6a_1p3: l6 {
4458b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1304000>;
4468b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1368000>;
4478b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4488b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4498b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4508b36c824SAngeloGioacchino Del Regno		};
4518b36c824SAngeloGioacchino Del Regno
4528b36c824SAngeloGioacchino Del Regno		vreg_l7a_1p2: l7 {
4538b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1200000>;
4548b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1200000>;
4558b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4568b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4578b36c824SAngeloGioacchino Del Regno		};
4588b36c824SAngeloGioacchino Del Regno
4598b36c824SAngeloGioacchino Del Regno		vreg_l8a_1p8: l8 {
4608b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4618b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1800000>;
4628b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4638b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4648b36c824SAngeloGioacchino Del Regno			regulator-system-load = <325000>;
4658b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4668b36c824SAngeloGioacchino Del Regno		};
4678b36c824SAngeloGioacchino Del Regno
4688b36c824SAngeloGioacchino Del Regno		vreg_l9a_1p8: l9 {
4698b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1804000>;
4708b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1896000>;
4718b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4728b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4738b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4748b36c824SAngeloGioacchino Del Regno		};
4758b36c824SAngeloGioacchino Del Regno
4768b36c824SAngeloGioacchino Del Regno		vreg_l10a_1p8: l10 {
4778b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4788b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4798b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4808b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4818b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
4828b36c824SAngeloGioacchino Del Regno		};
4838b36c824SAngeloGioacchino Del Regno
4848b36c824SAngeloGioacchino Del Regno		vreg_l11a_1p8: l11 {
4858b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1784000>;
4868b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
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_l12a_1p8: l12 {
4928b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
4938b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
4948b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
4958b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
4968b36c824SAngeloGioacchino Del Regno		};
4978b36c824SAngeloGioacchino Del Regno
4988b36c824SAngeloGioacchino Del Regno		/* This gives power to the LPDDR4: never turn it off! */
4998b36c824SAngeloGioacchino Del Regno		vreg_l13a_1p8: l13 {
5008b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
5018b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1944000>;
5028b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5038b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5048b36c824SAngeloGioacchino Del Regno			regulator-boot-on;
5058b36c824SAngeloGioacchino Del Regno			regulator-always-on;
5068b36c824SAngeloGioacchino Del Regno		};
5078b36c824SAngeloGioacchino Del Regno
5088b36c824SAngeloGioacchino Del Regno		vreg_l14a_1p8: l14 {
5098b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1710000>;
5108b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1904000>;
5118b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5128b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5138b36c824SAngeloGioacchino Del Regno		};
5148b36c824SAngeloGioacchino Del Regno
5158b36c824SAngeloGioacchino Del Regno		vreg_l15a_1p8: l15 {
5168b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
5178b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
5188b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5198b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5208b36c824SAngeloGioacchino Del Regno		};
5218b36c824SAngeloGioacchino Del Regno
5228b36c824SAngeloGioacchino Del Regno		/* L16A (2.70V) is unused */
5238b36c824SAngeloGioacchino Del Regno
5248b36c824SAngeloGioacchino Del Regno		vreg_l17a_1p8: l17 {
5258b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1648000>;
5268b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <2952000>;
5278b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5288b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5298b36c824SAngeloGioacchino Del Regno		};
5308b36c824SAngeloGioacchino Del Regno
5318b36c824SAngeloGioacchino Del Regno		vreg_l18a_1v8: l18 {
5328b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <1800000>;
5338b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <1800000>;
5348b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5358b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <10>;
5368b36c824SAngeloGioacchino Del Regno			regulator-min-microamp = <200>;
5378b36c824SAngeloGioacchino Del Regno			regulator-max-microamp = <50000>;
5388b36c824SAngeloGioacchino Del Regno			regulator-system-load = <10000>;
5398b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
5408b36c824SAngeloGioacchino Del Regno		};
5418b36c824SAngeloGioacchino Del Regno
5428b36c824SAngeloGioacchino Del Regno		vreg_l19a_3p3: l19 {
5438b36c824SAngeloGioacchino Del Regno			regulator-min-microvolt = <3312000>;
5448b36c824SAngeloGioacchino Del Regno			regulator-max-microvolt = <3400000>;
5458b36c824SAngeloGioacchino Del Regno			regulator-enable-ramp-delay = <250>;
5468b36c824SAngeloGioacchino Del Regno			regulator-ramp-delay = <0>;
5478b36c824SAngeloGioacchino Del Regno			regulator-allow-set-load;
5488b36c824SAngeloGioacchino Del Regno		};
5498b36c824SAngeloGioacchino Del Regno	};
5508b36c824SAngeloGioacchino Del Regno};
5518b36c824SAngeloGioacchino Del Regno
552158f80a6SKonrad Dybcio&sdhc_1 {
553158f80a6SKonrad Dybcio	status = "okay";
554158f80a6SKonrad Dybcio	supports-cqe;
555158f80a6SKonrad Dybcio
556158f80a6SKonrad Dybcio	/* SoMC Nile platform's eMMC doesn't support HS200 mode */
557158f80a6SKonrad Dybcio	mmc-ddr-1_8v;
558158f80a6SKonrad Dybcio	mmc-hs400-1_8v;
559158f80a6SKonrad Dybcio	mmc-hs400-enhanced-strobe;
560158f80a6SKonrad Dybcio
561c22441a7SShawn Guo	vmmc-supply = <&vreg_l4b_2p95>;
562158f80a6SKonrad Dybcio	vqmmc-supply = <&vreg_l8a_1p8>;
563158f80a6SKonrad Dybcio};
564158f80a6SKonrad Dybcio
565e634d819SKonrad Dybcio&sdhc_2 {
566e634d819SKonrad Dybcio	status = "okay";
567e634d819SKonrad Dybcio
568c22441a7SShawn Guo	vmmc-supply = <&vreg_l5b_2p95>;
569e634d819SKonrad Dybcio	vqmmc-supply = <&vreg_l2b_2p95>;
570e634d819SKonrad Dybcio};
571e634d819SKonrad Dybcio
5728b36c824SAngeloGioacchino Del Regno&tlmm {
5738b36c824SAngeloGioacchino Del Regno	gpio-reserved-ranges = <8 4>;
5748b36c824SAngeloGioacchino Del Regno
575f8fc1c43SKonrad Dybcio	ts_int_active: ts-int-active {
576f8fc1c43SKonrad Dybcio		pins = "gpio45";
577f8fc1c43SKonrad Dybcio		drive-strength = <8>;
578f8fc1c43SKonrad Dybcio		bias-pull-up;
579f8fc1c43SKonrad Dybcio	};
580f8fc1c43SKonrad Dybcio
581f8fc1c43SKonrad Dybcio	ts_lcd_id_active: ts-lcd-id-active {
582f8fc1c43SKonrad Dybcio		pins = "gpio56";
583f8fc1c43SKonrad Dybcio		drive-strength = <8>;
584f8fc1c43SKonrad Dybcio		bias-disable;
585f8fc1c43SKonrad Dybcio	};
586f8fc1c43SKonrad Dybcio
5878b36c824SAngeloGioacchino Del Regno	imx300_vana_default: imx300-vana-default {
5888b36c824SAngeloGioacchino Del Regno		pins = "gpio50";
5898b36c824SAngeloGioacchino Del Regno		function = "gpio";
5908b36c824SAngeloGioacchino Del Regno		bias-disable;
5918b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5928b36c824SAngeloGioacchino Del Regno	};
5938b36c824SAngeloGioacchino Del Regno
5948b36c824SAngeloGioacchino Del Regno	imx219_vana_default: imx219-vana-default {
5958b36c824SAngeloGioacchino Del Regno		pins = "gpio51";
5968b36c824SAngeloGioacchino Del Regno		function = "gpio";
5978b36c824SAngeloGioacchino Del Regno		bias-disable;
5988b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
5998b36c824SAngeloGioacchino Del Regno	};
6008b36c824SAngeloGioacchino Del Regno
6018b36c824SAngeloGioacchino Del Regno	cam_vdig_default: cam-vdig-default {
6028b36c824SAngeloGioacchino Del Regno		pins = "gpio52";
6038b36c824SAngeloGioacchino Del Regno		function = "gpio";
6048b36c824SAngeloGioacchino Del Regno		bias-disable;
6058b36c824SAngeloGioacchino Del Regno		drive-strength = <2>;
6068b36c824SAngeloGioacchino Del Regno	};
6078b36c824SAngeloGioacchino Del Regno};
6082c616239SKonrad Dybcio
6092c616239SKonrad Dybcio&usb3 {
6102c616239SKonrad Dybcio	status = "okay";
6112c616239SKonrad Dybcio};
6122c616239SKonrad Dybcio
6132c616239SKonrad Dybcio&usb3_dwc3 {
6142c616239SKonrad Dybcio	dr_mode = "peripheral";
6152c616239SKonrad Dybcio	extcon = <&extcon_usb>;
6162c616239SKonrad Dybcio};
617