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