xref: /linux/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1551969adSKonrad Dybcio// SPDX-License-Identifier: BSD-3-Clause
2551969adSKonrad Dybcio/*
354b1511eSKonrad Dybcio * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org>
4551969adSKonrad Dybcio */
5551969adSKonrad Dybcio
6551969adSKonrad Dybcio#include "msm8994.dtsi"
7551969adSKonrad Dybcio#include "pm8994.dtsi"
8551969adSKonrad Dybcio#include "pmi8994.dtsi"
9551969adSKonrad Dybcio#include <dt-bindings/gpio/gpio.h>
10551969adSKonrad Dybcio#include <dt-bindings/input/gpio-keys.h>
11551969adSKonrad Dybcio
12551969adSKonrad Dybcio/ {
13551969adSKonrad Dybcio	/* required for bootloader to select correct board */
1472b31241SKonrad Dybcio
1572b31241SKonrad Dybcio	/*
1672b31241SKonrad Dybcio	 * We support MSM8994 v2 (0x20000) and v2.1 (0x20001).
1772b31241SKonrad Dybcio	 * The V1 chip (0x0 and 0x10000) is significantly different
1872b31241SKonrad Dybcio	 * and requires driver-side changes (including CPR, be warned!!).
1972b31241SKonrad Dybcio	 * Besides that, it's very rare.
2072b31241SKonrad Dybcio	 */
2172b31241SKonrad Dybcio	qcom,msm-id = <207 0x20000>, <207 0x20001>;
2272b31241SKonrad Dybcio	/* We only use pm8994+pmi8994. */
23551969adSKonrad Dybcio	qcom,pmic-id = <0x10009 0x1000a 0x00 0x00>;
2472b31241SKonrad Dybcio	/* This property is shared across all kitakami devices. */
25551969adSKonrad Dybcio	qcom,board-id = <8 0>;
26551969adSKonrad Dybcio
27551969adSKonrad Dybcio	/* Kitakami firmware doesn't support PSCI */
28551969adSKonrad Dybcio	/delete-node/ psci;
29551969adSKonrad Dybcio
30b08f5cbdSKrzysztof Kozlowski	gpio-keys {
31551969adSKonrad Dybcio		compatible = "gpio-keys";
32551969adSKonrad Dybcio		autorepeat;
33551969adSKonrad Dybcio
345a4b0b85SKrzysztof Kozlowski		button-0 {
35551969adSKonrad Dybcio			label = "Volume Down";
36551969adSKonrad Dybcio			gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
37551969adSKonrad Dybcio			linux,input-type = <1>;
38551969adSKonrad Dybcio			linux,code = <KEY_VOLUMEDOWN>;
39551969adSKonrad Dybcio			wakeup-source;
40551969adSKonrad Dybcio			debounce-interval = <15>;
41551969adSKonrad Dybcio		};
42551969adSKonrad Dybcio
435a4b0b85SKrzysztof Kozlowski		button-1 {
44551969adSKonrad Dybcio			label = "Volume Up";
45551969adSKonrad Dybcio			gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>;
46551969adSKonrad Dybcio			linux,input-type = <1>;
47551969adSKonrad Dybcio			linux,code = <KEY_VOLUMEUP>;
48551969adSKonrad Dybcio			wakeup-source;
49551969adSKonrad Dybcio			debounce-interval = <15>;
50551969adSKonrad Dybcio		};
51551969adSKonrad Dybcio
525a4b0b85SKrzysztof Kozlowski		button-2 {
53551969adSKonrad Dybcio			label = "Camera Snapshot";
54551969adSKonrad Dybcio			gpios = <&pm8994_gpios 4 GPIO_ACTIVE_LOW>;
55551969adSKonrad Dybcio			linux,input-type = <1>;
56551969adSKonrad Dybcio			linux,code = <KEY_CAMERA>;
57551969adSKonrad Dybcio			wakeup-source;
58551969adSKonrad Dybcio			debounce-interval = <15>;
59551969adSKonrad Dybcio		};
60551969adSKonrad Dybcio
615a4b0b85SKrzysztof Kozlowski		button-3 {
62551969adSKonrad Dybcio			label = "Camera Focus";
63551969adSKonrad Dybcio			gpios = <&pm8994_gpios 5 GPIO_ACTIVE_LOW>;
64551969adSKonrad Dybcio			linux,input-type = <1>;
65551969adSKonrad Dybcio			linux,code = <KEY_VOLUMEUP>;
66551969adSKonrad Dybcio			wakeup-source;
67551969adSKonrad Dybcio			debounce-interval = <15>;
68551969adSKonrad Dybcio		};
69551969adSKonrad Dybcio	};
70551969adSKonrad Dybcio
71551969adSKonrad Dybcio	reserved-memory {
72551969adSKonrad Dybcio		/* This is for getting crash logs using Android downstream kernels */
73551969adSKonrad Dybcio		ramoops@1fe00000 {
74551969adSKonrad Dybcio			compatible = "ramoops";
7574d6d0a1SKonrad Dybcio			reg = <0 0x1fe00000 0 0x200000>;
76551969adSKonrad Dybcio			console-size = <0x100000>;
77551969adSKonrad Dybcio			record-size = <0x10000>;
78551969adSKonrad Dybcio			ftrace-size = <0x10000>;
79551969adSKonrad Dybcio			pmsg-size = <0x80000>;
80551969adSKonrad Dybcio		};
81551969adSKonrad Dybcio
82*408e1776SKrzysztof Kozlowski		fb_region: fb@40000000 {
8374d6d0a1SKonrad Dybcio			reg = <0 0x40000000 0 0x1000000>;
8474d6d0a1SKonrad Dybcio			no-map;
8574d6d0a1SKonrad Dybcio		};
8674d6d0a1SKonrad Dybcio
8774d6d0a1SKonrad Dybcio		tzapp: memory@c7800000 {
8874d6d0a1SKonrad Dybcio			reg = <0 0xc7800000 0 0x1900000>;
89551969adSKonrad Dybcio			no-map;
90551969adSKonrad Dybcio		};
91551969adSKonrad Dybcio	};
92551969adSKonrad Dybcio};
93551969adSKonrad Dybcio
94e093d1a2SGustave Monce&blsp1_spi1 {
95551969adSKonrad Dybcio	status = "okay";
96551969adSKonrad Dybcio
97551969adSKonrad Dybcio	/* FPC fingerprint reader */
98551969adSKonrad Dybcio};
99551969adSKonrad Dybcio
100551969adSKonrad Dybcio/* I2C1 is disabled on this board */
101551969adSKonrad Dybcio
102e093d1a2SGustave Monce&blsp1_i2c2 {
103551969adSKonrad Dybcio	status = "okay";
104e093d1a2SGustave Monce	clock-frequency = <355000>;
105551969adSKonrad Dybcio
10672b31241SKonrad Dybcio	/* NXP PN547 NFC */
107551969adSKonrad Dybcio};
108551969adSKonrad Dybcio
109e093d1a2SGustave Monce&blsp1_i2c6 {
110551969adSKonrad Dybcio	status = "okay";
111e093d1a2SGustave Monce	clock-frequency = <355000>;
112551969adSKonrad Dybcio
113e8528157SKonrad Dybcio	touchscreen: rmi4-i2c-dev@2c {
114e8528157SKonrad Dybcio		compatible = "syna,rmi4-i2c";
115e8528157SKonrad Dybcio		reg = <0x2c>;
116e8528157SKonrad Dybcio		#address-cells = <1>;
117e8528157SKonrad Dybcio		#size-cells = <0>;
118e8528157SKonrad Dybcio
119e8528157SKonrad Dybcio		interrupt-parent = <&tlmm>;
120e8528157SKonrad Dybcio		interrupts = <42 IRQ_TYPE_EDGE_FALLING>;
121e8528157SKonrad Dybcio
122e8528157SKonrad Dybcio		pinctrl-names = "default";
123e8528157SKonrad Dybcio		pinctrl-0 = <&ts_int_active &ts_reset_active>;
124e8528157SKonrad Dybcio
125e8528157SKonrad Dybcio		vdd-supply = <&pm8994_l22>;
126e8528157SKonrad Dybcio		vio-supply = <&pm8994_s4>;
127e8528157SKonrad Dybcio
128e8528157SKonrad Dybcio		syna,reset-delay-ms = <220>;
129e8528157SKonrad Dybcio		syna,startup-delay-ms = <220>;
130e8528157SKonrad Dybcio
131e8528157SKonrad Dybcio		rmi4-f01@1 {
132e8528157SKonrad Dybcio			reg = <0x01>;
133e8528157SKonrad Dybcio			syna,nosleep-mode = <1>;
134e8528157SKonrad Dybcio		};
135e8528157SKonrad Dybcio
136e8528157SKonrad Dybcio		rmi4-f11@11 {
137e8528157SKonrad Dybcio			reg = <0x11>;
138e8528157SKonrad Dybcio			syna,sensor-type = <1>;
139e8528157SKonrad Dybcio		};
140e8528157SKonrad Dybcio	};
141551969adSKonrad Dybcio};
142551969adSKonrad Dybcio
143551969adSKonrad Dybcio&blsp1_uart2 {
144551969adSKonrad Dybcio	status = "okay";
145551969adSKonrad Dybcio};
146551969adSKonrad Dybcio
147e093d1a2SGustave Monce&blsp2_i2c5 {
148e093d1a2SGustave Monce	status = "okay";
149e093d1a2SGustave Monce	clock-frequency = <355000>;
150e093d1a2SGustave Monce
151e093d1a2SGustave Monce	/* sii8620 HDMI/MHL bridge */
152e093d1a2SGustave Monce};
153e093d1a2SGustave Monce
154551969adSKonrad Dybcio&blsp2_uart2 {
155551969adSKonrad Dybcio	status = "okay";
156551969adSKonrad Dybcio};
157551969adSKonrad Dybcio
15874d6d0a1SKonrad Dybcio/*
15974d6d0a1SKonrad Dybcio * Kitakami bootloader only turns cont_splash on when it detects
16074d6d0a1SKonrad Dybcio * specific downstream MDSS/backlight nodes in the active DTB.
16174d6d0a1SKonrad Dybcio * One way to use that framebuffer is to load a secondary instance of
16274d6d0a1SKonrad Dybcio * LK with the downstream DTB appended and then, only from there, load
16374d6d0a1SKonrad Dybcio * mainline Linux.
16474d6d0a1SKonrad Dybcio */
16574d6d0a1SKonrad Dybcio&cont_splash_mem {
166690e8993SKonrad Dybcio	reg = <0 0x03401000 0 0x2200000>;
16774d6d0a1SKonrad Dybcio};
16874d6d0a1SKonrad Dybcio
169e9783584SKonrad Dybcio&pmi8994_spmi_regulators {
170e9783584SKonrad Dybcio	/*
171e9783584SKonrad Dybcio	 * Yeah, this one *is* managed by RPMPD, but also needs
172e9783584SKonrad Dybcio	 * to be hacked up as a-o due to the GPU device only accepting a single
173e9783584SKonrad Dybcio	 * power domain.. which still isn't enough and forces us to bind
174e9783584SKonrad Dybcio	 * OXILI_CX and OXILI_GX together!
175e9783584SKonrad Dybcio	 */
1763555dd52SKrzysztof Kozlowski	vdd_gfx: s2 {
177e9783584SKonrad Dybcio		regulator-name = "VDD_GFX";
178e9783584SKonrad Dybcio		regulator-min-microvolt = <980000>;
179e9783584SKonrad Dybcio		regulator-max-microvolt = <980000>;
180e9783584SKonrad Dybcio
181e9783584SKonrad Dybcio		/* hack until we rig up the gpu consumer */
182e9783584SKonrad Dybcio		regulator-always-on;
183e9783584SKonrad Dybcio	};
184e9783584SKonrad Dybcio};
185e9783584SKonrad Dybcio
186551969adSKonrad Dybcio&rpm_requests {
187410e1619SKonrad Dybcio	/* PMI8994 should probe first, because pmi8994_bby supplies some of PM8994's regulators */
188372698e8SKrzysztof Kozlowski	pmi8994_regulators: regulators-0 {
189410e1619SKonrad Dybcio		compatible = "qcom,rpm-pmi8994-regulators";
190410e1619SKonrad Dybcio
191410e1619SKonrad Dybcio		vdd_s1-supply = <&vph_pwr>;
192410e1619SKonrad Dybcio		vdd_bst_byp-supply = <&vph_pwr>;
193410e1619SKonrad Dybcio
194410e1619SKonrad Dybcio		pmi8994_s1: s1 {
195410e1619SKonrad Dybcio			regulator-min-microvolt = <1025000>;
196410e1619SKonrad Dybcio			regulator-max-microvolt = <1025000>;
197410e1619SKonrad Dybcio		};
198410e1619SKonrad Dybcio
199410e1619SKonrad Dybcio		/* S2 & S3 - VDD_GFX */
200410e1619SKonrad Dybcio
201410e1619SKonrad Dybcio		pmi8994_bby: boost-bypass {
202410e1619SKonrad Dybcio			regulator-min-microvolt = <3150000>;
203410e1619SKonrad Dybcio			regulator-max-microvolt = <3600000>;
204410e1619SKonrad Dybcio		};
205410e1619SKonrad Dybcio	};
206410e1619SKonrad Dybcio
207372698e8SKrzysztof Kozlowski	pm8994_regulators: regulators-1 {
208551969adSKonrad Dybcio		compatible = "qcom,rpm-pm8994-regulators";
209551969adSKonrad Dybcio
210676b61b4SKonrad Dybcio		vdd_s3-supply = <&vph_pwr>;
211676b61b4SKonrad Dybcio		vdd_s4-supply = <&vph_pwr>;
212676b61b4SKonrad Dybcio		vdd_s5-supply = <&vph_pwr>;
213676b61b4SKonrad Dybcio		vdd_s6-supply = <&vph_pwr>;
214676b61b4SKonrad Dybcio		vdd_s7-supply = <&vph_pwr>;
215676b61b4SKonrad Dybcio		vdd_l1-supply = <&pmi8994_s1>;
216676b61b4SKonrad Dybcio		vdd_l2_l26_l28-supply = <&pm8994_s3>;
217676b61b4SKonrad Dybcio		vdd_l3_l11-supply = <&pm8994_s3>;
218676b61b4SKonrad Dybcio		vdd_l4_l27_l31-supply = <&pm8994_s3>;
219676b61b4SKonrad Dybcio		vdd_l6_l12_l32-supply = <&pm8994_s5>;
220676b61b4SKonrad Dybcio		vdd_l8_l16_l30-supply = <&vph_pwr>;
221676b61b4SKonrad Dybcio		vdd_l9_l10_l18_l22-supply = <&pmi8994_bby>;
222676b61b4SKonrad Dybcio		vdd_l13_l19_l23_l24-supply = <&pmi8994_bby>;
223676b61b4SKonrad Dybcio		vdd_l14_l15-supply = <&pm8994_s5>;
224676b61b4SKonrad Dybcio		vdd_l17_l29-supply = <&pmi8994_bby>;
225676b61b4SKonrad Dybcio		vdd_l20_l21-supply = <&pmi8994_bby>;
226676b61b4SKonrad Dybcio		vdd_l25-supply = <&pm8994_s3>;
227227ee158SDmitry Baryshkov		vdd_lvs1_2-supply = <&pm8994_s4>;
228551969adSKonrad Dybcio
229676b61b4SKonrad Dybcio		/* S1, S2, S6 and S12 are managed by RPMPD */
230676b61b4SKonrad Dybcio
231676b61b4SKonrad Dybcio		pm8994_s3: s3 {
232676b61b4SKonrad Dybcio			regulator-min-microvolt = <1300000>;
233676b61b4SKonrad Dybcio			regulator-max-microvolt = <1300000>;
234676b61b4SKonrad Dybcio		};
235676b61b4SKonrad Dybcio
236676b61b4SKonrad Dybcio		pm8994_s4: s4 {
237676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
238676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
239410e1619SKonrad Dybcio			regulator-system-load = <325000>;
240676b61b4SKonrad Dybcio			regulator-allow-set-load;
241676b61b4SKonrad Dybcio			regulator-always-on;
242676b61b4SKonrad Dybcio		};
243676b61b4SKonrad Dybcio
244676b61b4SKonrad Dybcio		pm8994_s5: s5 {
245676b61b4SKonrad Dybcio			regulator-min-microvolt = <2150000>;
246676b61b4SKonrad Dybcio			regulator-max-microvolt = <2150000>;
247676b61b4SKonrad Dybcio		};
248676b61b4SKonrad Dybcio
249676b61b4SKonrad Dybcio		pm8994_s7: s7 {
250676b61b4SKonrad Dybcio			regulator-min-microvolt = <1000000>;
251676b61b4SKonrad Dybcio			regulator-max-microvolt = <1000000>;
252676b61b4SKonrad Dybcio		};
253676b61b4SKonrad Dybcio
254676b61b4SKonrad Dybcio		/*
255676b61b4SKonrad Dybcio		 * S8 - SPMI-managed VDD_APC0
256676b61b4SKonrad Dybcio		 * S9, S10 and S11 (the main one) - SPMI-managed VDD_APC1
257676b61b4SKonrad Dybcio		 */
258676b61b4SKonrad Dybcio
259676b61b4SKonrad Dybcio		pm8994_l1: l1 {
260676b61b4SKonrad Dybcio			regulator-min-microvolt = <1000000>;
261676b61b4SKonrad Dybcio			regulator-max-microvolt = <1000000>;
262676b61b4SKonrad Dybcio		};
263676b61b4SKonrad Dybcio
264676b61b4SKonrad Dybcio		pm8994_l2: l2 {
265676b61b4SKonrad Dybcio			regulator-min-microvolt = <1250000>;
266676b61b4SKonrad Dybcio			regulator-max-microvolt = <1250000>;
267676b61b4SKonrad Dybcio			regulator-system-load = <10000>;
268410e1619SKonrad Dybcio			regulator-allow-set-load;
269676b61b4SKonrad Dybcio		};
270676b61b4SKonrad Dybcio
271676b61b4SKonrad Dybcio		pm8994_l3: l3 {
272676b61b4SKonrad Dybcio			regulator-min-microvolt = <1100000>;
273676b61b4SKonrad Dybcio			regulator-max-microvolt = <1100000>;
274410e1619SKonrad Dybcio			regulator-boot-on;
275676b61b4SKonrad Dybcio		};
276676b61b4SKonrad Dybcio
277676b61b4SKonrad Dybcio		pm8994_l4: l4 {
278676b61b4SKonrad Dybcio			regulator-min-microvolt = <1225000>;
279676b61b4SKonrad Dybcio			regulator-max-microvolt = <1225000>;
280676b61b4SKonrad Dybcio		};
281676b61b4SKonrad Dybcio
282676b61b4SKonrad Dybcio		/* L5 is inaccessible from RPM */
283676b61b4SKonrad Dybcio
284676b61b4SKonrad Dybcio		pm8994_l6: l6 {
285676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
286676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
287676b61b4SKonrad Dybcio		};
288676b61b4SKonrad Dybcio
289676b61b4SKonrad Dybcio		/* L7 is inaccessible from RPM */
290676b61b4SKonrad Dybcio
291676b61b4SKonrad Dybcio		pm8994_l8: l8 {
292676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
293676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
294676b61b4SKonrad Dybcio		};
295676b61b4SKonrad Dybcio
296676b61b4SKonrad Dybcio		pm8994_l9: l9 {
297676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
298676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
299676b61b4SKonrad Dybcio		};
300676b61b4SKonrad Dybcio
301676b61b4SKonrad Dybcio		pm8994_l10: l10 {
302676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
303676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
304676b61b4SKonrad Dybcio		};
305676b61b4SKonrad Dybcio
306676b61b4SKonrad Dybcio		pm8994_l11: l11 {
307676b61b4SKonrad Dybcio			regulator-min-microvolt = <1200000>;
308676b61b4SKonrad Dybcio			regulator-max-microvolt = <1200000>;
309676b61b4SKonrad Dybcio		};
310676b61b4SKonrad Dybcio
311676b61b4SKonrad Dybcio		pm8994_l12: l12 {
312676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
313676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
314676b61b4SKonrad Dybcio			regulator-system-load = <10000>;
315410e1619SKonrad Dybcio			regulator-allow-set-load;
316676b61b4SKonrad Dybcio		};
317676b61b4SKonrad Dybcio
318676b61b4SKonrad Dybcio		pm8994_l13: l13 {
319676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
320676b61b4SKonrad Dybcio			regulator-max-microvolt = <2950000>;
321676b61b4SKonrad Dybcio		};
322676b61b4SKonrad Dybcio
323676b61b4SKonrad Dybcio		pm8994_l14: l14 {
324676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
325676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
326676b61b4SKonrad Dybcio			regulator-system-load = <10000>;
327410e1619SKonrad Dybcio			regulator-allow-set-load;
328410e1619SKonrad Dybcio			regulator-boot-on;
329676b61b4SKonrad Dybcio		};
330676b61b4SKonrad Dybcio
331676b61b4SKonrad Dybcio		pm8994_l15: l15 {
332676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
333676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
334676b61b4SKonrad Dybcio		};
335676b61b4SKonrad Dybcio
336676b61b4SKonrad Dybcio		pm8994_l16: l16 {
337676b61b4SKonrad Dybcio			regulator-min-microvolt = <2700000>;
338676b61b4SKonrad Dybcio			regulator-max-microvolt = <2700000>;
339676b61b4SKonrad Dybcio		};
340676b61b4SKonrad Dybcio
341676b61b4SKonrad Dybcio		pm8994_l17: l17 {
342676b61b4SKonrad Dybcio			regulator-min-microvolt = <2200000>;
343676b61b4SKonrad Dybcio			regulator-max-microvolt = <2200000>;
344410e1619SKonrad Dybcio			regulator-boot-on;
345676b61b4SKonrad Dybcio		};
346676b61b4SKonrad Dybcio
347676b61b4SKonrad Dybcio		pm8994_l18: l18 {
348676b61b4SKonrad Dybcio			regulator-min-microvolt = <2850000>;
349676b61b4SKonrad Dybcio			regulator-max-microvolt = <2850000>;
350676b61b4SKonrad Dybcio			regulator-always-on;
351410e1619SKonrad Dybcio			regulator-boot-on;
352676b61b4SKonrad Dybcio		};
353676b61b4SKonrad Dybcio
354676b61b4SKonrad Dybcio		pm8994_l19: l19 {
355676b61b4SKonrad Dybcio			regulator-min-microvolt = <2850000>;
356676b61b4SKonrad Dybcio			regulator-max-microvolt = <2850000>;
357410e1619SKonrad Dybcio			regulator-boot-on;
358676b61b4SKonrad Dybcio		};
359676b61b4SKonrad Dybcio
360676b61b4SKonrad Dybcio		pm8994_l20: l20 {
361676b61b4SKonrad Dybcio			regulator-min-microvolt = <2950000>;
362676b61b4SKonrad Dybcio			regulator-max-microvolt = <2950000>;
363676b61b4SKonrad Dybcio			regulator-system-load = <570000>;
364410e1619SKonrad Dybcio			regulator-allow-set-load;
365676b61b4SKonrad Dybcio		};
366676b61b4SKonrad Dybcio
367676b61b4SKonrad Dybcio		pm8994_l21: l21 {
368676b61b4SKonrad Dybcio			regulator-min-microvolt = <2950000>;
369676b61b4SKonrad Dybcio			regulator-max-microvolt = <2950000>;
370ab8e4a85SKonrad Dybcio			regulator-system-load = <800000>;
371410e1619SKonrad Dybcio			regulator-allow-set-load;
372676b61b4SKonrad Dybcio		};
373676b61b4SKonrad Dybcio
374676b61b4SKonrad Dybcio		pm8994_l22: l22 {
375676b61b4SKonrad Dybcio			regulator-min-microvolt = <3000000>;
376676b61b4SKonrad Dybcio			regulator-max-microvolt = <3000000>;
377410e1619SKonrad Dybcio			regulator-boot-on;
378676b61b4SKonrad Dybcio		};
379676b61b4SKonrad Dybcio
380676b61b4SKonrad Dybcio		pm8994_l23: l23 {
381676b61b4SKonrad Dybcio			regulator-min-microvolt = <2800000>;
382676b61b4SKonrad Dybcio			regulator-max-microvolt = <2800000>;
383410e1619SKonrad Dybcio			regulator-always-on;
384410e1619SKonrad Dybcio			regulator-boot-on;
385676b61b4SKonrad Dybcio		};
386676b61b4SKonrad Dybcio
387676b61b4SKonrad Dybcio		pm8994_l24: l24 {
388676b61b4SKonrad Dybcio			regulator-min-microvolt = <3075000>;
389676b61b4SKonrad Dybcio			regulator-max-microvolt = <3150000>;
390676b61b4SKonrad Dybcio		};
391676b61b4SKonrad Dybcio
392676b61b4SKonrad Dybcio		pm8994_l25: l25 {
393676b61b4SKonrad Dybcio			regulator-min-microvolt = <1000000>;
394676b61b4SKonrad Dybcio			regulator-max-microvolt = <1000000>;
395410e1619SKonrad Dybcio			regulator-boot-on;
396676b61b4SKonrad Dybcio		};
397676b61b4SKonrad Dybcio
398676b61b4SKonrad Dybcio		pm8994_l26: l26 {
399676b61b4SKonrad Dybcio			regulator-min-microvolt = <987500>;
400676b61b4SKonrad Dybcio			regulator-max-microvolt = <987500>;
401676b61b4SKonrad Dybcio		};
402676b61b4SKonrad Dybcio
403676b61b4SKonrad Dybcio		pm8994_l27: l27 {
404676b61b4SKonrad Dybcio			regulator-min-microvolt = <1200000>;
405676b61b4SKonrad Dybcio			regulator-max-microvolt = <1200000>;
406410e1619SKonrad Dybcio			regulator-boot-on;
407676b61b4SKonrad Dybcio		};
408676b61b4SKonrad Dybcio
409676b61b4SKonrad Dybcio		pm8994_l28: l28 {
410676b61b4SKonrad Dybcio			regulator-min-microvolt = <1000000>;
411676b61b4SKonrad Dybcio			regulator-max-microvolt = <1000000>;
412676b61b4SKonrad Dybcio			regulator-system-load = <10000>;
413410e1619SKonrad Dybcio			regulator-allow-set-load;
414676b61b4SKonrad Dybcio		};
415676b61b4SKonrad Dybcio
416676b61b4SKonrad Dybcio		pm8994_l29: l29 {
417676b61b4SKonrad Dybcio			regulator-min-microvolt = <2700000>;
418676b61b4SKonrad Dybcio			regulator-max-microvolt = <2700000>;
419410e1619SKonrad Dybcio			regulator-boot-on;
420676b61b4SKonrad Dybcio		};
421676b61b4SKonrad Dybcio
422676b61b4SKonrad Dybcio		pm8994_l30: l30 {
423676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
424676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
425410e1619SKonrad Dybcio			regulator-boot-on;
426676b61b4SKonrad Dybcio		};
427676b61b4SKonrad Dybcio
428676b61b4SKonrad Dybcio		pm8994_l31: l31 {
429676b61b4SKonrad Dybcio			regulator-min-microvolt = <1200000>;
430676b61b4SKonrad Dybcio			regulator-max-microvolt = <1200000>;
431676b61b4SKonrad Dybcio			regulator-system-load = <10000>;
432410e1619SKonrad Dybcio			regulator-allow-set-load;
433676b61b4SKonrad Dybcio		};
434676b61b4SKonrad Dybcio
435676b61b4SKonrad Dybcio		pm8994_l32: l32 {
436676b61b4SKonrad Dybcio			regulator-min-microvolt = <1800000>;
437676b61b4SKonrad Dybcio			regulator-max-microvolt = <1800000>;
438676b61b4SKonrad Dybcio		};
439551969adSKonrad Dybcio
440410e1619SKonrad Dybcio		pm8994_lvs1: lvs1 {
441410e1619SKonrad Dybcio			regulator-boot-on;
442551969adSKonrad Dybcio		};
443410e1619SKonrad Dybcio		pm8994_lvs2: lvs2 {
444410e1619SKonrad Dybcio			regulator-boot-on;
445676b61b4SKonrad Dybcio		};
446551969adSKonrad Dybcio	};
447551969adSKonrad Dybcio};
448551969adSKonrad Dybcio
449551969adSKonrad Dybcio&sdhc1 {
450676b61b4SKonrad Dybcio	/*
451676b61b4SKonrad Dybcio	 * There is an issue with the eMMC causing permanent
452e884fb6cSKonrad Dybcio	 * damage to the card if a quirk isn't addressed.
453e884fb6cSKonrad Dybcio	 * Until it's fixed, disable the MMC so as not to brick
454e884fb6cSKonrad Dybcio	 * devices.
455e884fb6cSKonrad Dybcio	 */
456e884fb6cSKonrad Dybcio	status = "disabled";
457551969adSKonrad Dybcio
458676b61b4SKonrad Dybcio	/*
459676b61b4SKonrad Dybcio	 * Downstream pushes 2.95V to the sdhci device,
460551969adSKonrad Dybcio	 * but upstream driver REALLY wants to make vmmc 1.8v
461551969adSKonrad Dybcio	 * cause of the hs400-1_8v mode. MMC works fine without
462551969adSKonrad Dybcio	 * that regulator, so let's not use it for now.
463551969adSKonrad Dybcio	 * vqmmc is also disabled cause driver stll complains.
464551969adSKonrad Dybcio	 *
465551969adSKonrad Dybcio	 * vmmc-supply = <&pm8994_l20>;
466551969adSKonrad Dybcio	 * vqmmc-supply = <&pm8994_s4>;
467551969adSKonrad Dybcio	 */
468551969adSKonrad Dybcio};
469e8528157SKonrad Dybcio
470ab8e4a85SKonrad Dybcio&sdhc2 {
471ab8e4a85SKonrad Dybcio	status = "okay";
472ab8e4a85SKonrad Dybcio
47336c9d012SKrzysztof Kozlowski	cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
474ab8e4a85SKonrad Dybcio	vmmc-supply = <&pm8994_l21>;
475ab8e4a85SKonrad Dybcio	vqmmc-supply = <&pm8994_l13>;
476ab8e4a85SKonrad Dybcio};
477ab8e4a85SKonrad Dybcio
478e8528157SKonrad Dybcio&tlmm {
4799d7d01daSKrzysztof Kozlowski	ts_int_active: ts-int-active-state {
480e8528157SKonrad Dybcio		pins = "gpio42";
4819d7d01daSKrzysztof Kozlowski		function = "gpio";
482e8528157SKonrad Dybcio		drive-strength = <2>;
483e8528157SKonrad Dybcio		bias-disable;
484e8528157SKonrad Dybcio	};
485e8528157SKonrad Dybcio
4869d7d01daSKrzysztof Kozlowski	ts_reset_active: ts-reset-active-state {
487e8528157SKonrad Dybcio		pins = "gpio109";
4889d7d01daSKrzysztof Kozlowski		function = "gpio";
489e8528157SKonrad Dybcio		drive-strength = <2>;
490e8528157SKonrad Dybcio		bias-disable;
491e8528157SKonrad Dybcio		output-low;
492e8528157SKonrad Dybcio	};
493e8528157SKonrad Dybcio};
494