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