xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/sm8250-xiaomi-pipa.dts (revision 1260ed77798502de9c98020040d2995008de10cc)
1264beb3cSLuka Panio// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2264beb3cSLuka Panio/*
3264beb3cSLuka Panio * Copyright (c) 2023 Luka Panio <lukapanio@gmail.com>
4264beb3cSLuka Panio */
5264beb3cSLuka Panio
6264beb3cSLuka Panio/dts-v1/;
7264beb3cSLuka Panio
8264beb3cSLuka Panio#include <dt-bindings/arm/qcom,ids.h>
9264beb3cSLuka Panio#include <dt-bindings/phy/phy.h>
10264beb3cSLuka Panio#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11264beb3cSLuka Panio#include "sm8250.dtsi"
12264beb3cSLuka Panio#include "pm8150.dtsi"
13264beb3cSLuka Panio#include "pm8150b.dtsi"
14264beb3cSLuka Panio#include "pm8150l.dtsi"
15264beb3cSLuka Panio#include "pm8009.dtsi"
16264beb3cSLuka Panio
17264beb3cSLuka Panio/*
18264beb3cSLuka Panio * Delete following upstream (sm8250.dtsi) reserved
19264beb3cSLuka Panio * memory mappings which are different on this device.
20264beb3cSLuka Panio */
21264beb3cSLuka Panio/delete-node/ &adsp_mem;
22264beb3cSLuka Panio/delete-node/ &cdsp_secure_heap;
23264beb3cSLuka Panio/delete-node/ &slpi_mem;
24264beb3cSLuka Panio/delete-node/ &spss_mem;
25264beb3cSLuka Panio/delete-node/ &xbl_aop_mem;
26264beb3cSLuka Panio
27264beb3cSLuka Panio/ {
28264beb3cSLuka Panio
29264beb3cSLuka Panio	model = "Xiaomi Pad 6";
30264beb3cSLuka Panio	compatible = "xiaomi,pipa", "qcom,sm8250";
31264beb3cSLuka Panio
32264beb3cSLuka Panio	chassis-type = "tablet";
33264beb3cSLuka Panio
34264beb3cSLuka Panio	/* required for bootloader to select correct board */
35264beb3cSLuka Panio	qcom,msm-id = <QCOM_ID_SM8250 0x20001>; /* SM8250 v2.1 */
36264beb3cSLuka Panio	qcom,board-id = <0x34 0>;
37264beb3cSLuka Panio
38264beb3cSLuka Panio	chosen {
39264beb3cSLuka Panio		#address-cells = <2>;
40264beb3cSLuka Panio		#size-cells = <2>;
41264beb3cSLuka Panio		ranges;
42264beb3cSLuka Panio
43264beb3cSLuka Panio		framebuffer: framebuffer@9c000000 {
44264beb3cSLuka Panio			compatible = "simple-framebuffer";
45264beb3cSLuka Panio			reg = <0x0 0x9c000000 0x0 0x2300000>;
46264beb3cSLuka Panio			width = <1800>;
47264beb3cSLuka Panio			height = <2880>;
48264beb3cSLuka Panio			stride = <(1800 * 4)>;
49264beb3cSLuka Panio			format = "a8r8g8b8";
50264beb3cSLuka Panio		};
51264beb3cSLuka Panio	};
52264beb3cSLuka Panio
53264beb3cSLuka Panio	battery_l: battery-l {
54264beb3cSLuka Panio		compatible = "simple-battery";
55264beb3cSLuka Panio		voltage-min-design-microvolt = <3870000>;
56264beb3cSLuka Panio		energy-full-design-microwatt-hours = <16700000>;
57264beb3cSLuka Panio		charge-full-design-microamp-hours = <4420000>;
58264beb3cSLuka Panio	};
59264beb3cSLuka Panio
60264beb3cSLuka Panio	battery_r: battery-r {
61264beb3cSLuka Panio		compatible = "simple-battery";
62264beb3cSLuka Panio		voltage-min-design-microvolt = <3870000>;
63264beb3cSLuka Panio		energy-full-design-microwatt-hours = <16700000>;
64264beb3cSLuka Panio		charge-full-design-microamp-hours = <4420000>;
65264beb3cSLuka Panio	};
66264beb3cSLuka Panio
67264beb3cSLuka Panio	bl_vddpos_5p5: bl-vddpos-regulator {
68264beb3cSLuka Panio		compatible = "regulator-fixed";
69264beb3cSLuka Panio		regulator-name = "bl_vddpos_5p5";
70264beb3cSLuka Panio		regulator-min-microvolt = <5500000>;
71264beb3cSLuka Panio		regulator-max-microvolt = <5500000>;
72264beb3cSLuka Panio		regulator-enable-ramp-delay = <233>;
73264beb3cSLuka Panio		gpio = <&tlmm 130 GPIO_ACTIVE_HIGH>;
74264beb3cSLuka Panio		enable-active-high;
75264beb3cSLuka Panio		regulator-boot-on;
76264beb3cSLuka Panio	};
77264beb3cSLuka Panio
78264beb3cSLuka Panio	bl_vddneg_5p5: bl-vddneg-regulator {
79264beb3cSLuka Panio		compatible = "regulator-fixed";
80264beb3cSLuka Panio		regulator-name = "bl_vddneg_5p5";
81264beb3cSLuka Panio		regulator-min-microvolt = <5500000>;
82264beb3cSLuka Panio		regulator-max-microvolt = <5500000>;
83264beb3cSLuka Panio		regulator-enable-ramp-delay = <233>;
84264beb3cSLuka Panio		gpio = <&tlmm 131 GPIO_ACTIVE_HIGH>;
85264beb3cSLuka Panio		enable-active-high;
86264beb3cSLuka Panio		regulator-boot-on;
87264beb3cSLuka Panio	};
88264beb3cSLuka Panio
89264beb3cSLuka Panio	gpio_keys: gpio-keys {
90264beb3cSLuka Panio		compatible = "gpio-keys";
91264beb3cSLuka Panio
92264beb3cSLuka Panio		pinctrl-0 = <&vol_up_n>;
93264beb3cSLuka Panio		pinctrl-names = "default";
94264beb3cSLuka Panio
95264beb3cSLuka Panio		key-vol-up {
96264beb3cSLuka Panio			label = "Volume Up";
97264beb3cSLuka Panio			gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
98264beb3cSLuka Panio			linux,code = <KEY_VOLUMEUP>;
99264beb3cSLuka Panio			debounce-interval = <15>;
100264beb3cSLuka Panio			linux,can-disable;
101264beb3cSLuka Panio			wakeup-source;
102264beb3cSLuka Panio		};
103264beb3cSLuka Panio	};
104264beb3cSLuka Panio
105264beb3cSLuka Panio	vph_pwr: vph-pwr-regulator {
106264beb3cSLuka Panio		compatible = "regulator-fixed";
107264beb3cSLuka Panio		regulator-name = "vph_pwr";
108264beb3cSLuka Panio		regulator-min-microvolt = <3700000>;
109264beb3cSLuka Panio		regulator-max-microvolt = <3700000>;
110264beb3cSLuka Panio	};
111264beb3cSLuka Panio
112264beb3cSLuka Panio	/* S6c is really ebi.lvl but it's there for supply map completeness sake. */
113264beb3cSLuka Panio	vreg_s6c_0p88: smpc6-regulator {
114264beb3cSLuka Panio		compatible = "regulator-fixed";
115264beb3cSLuka Panio		regulator-name = "vreg_s6c_0p88";
116264beb3cSLuka Panio		regulator-min-microvolt = <880000>;
117264beb3cSLuka Panio		regulator-max-microvolt = <880000>;
118264beb3cSLuka Panio		regulator-always-on;
119264beb3cSLuka Panio		vin-supply = <&vph_pwr>;
120264beb3cSLuka Panio	};
121264beb3cSLuka Panio
122264beb3cSLuka Panio	reserved-memory {
123264beb3cSLuka Panio		xbl_aop_mem: xbl-aop@80700000 {
124264beb3cSLuka Panio			reg = <0x0 0x80600000 0x0 0x260000>;
125264beb3cSLuka Panio			no-map;
126264beb3cSLuka Panio		};
127264beb3cSLuka Panio
128264beb3cSLuka Panio		slpi_mem: slpi@88c00000 {
129264beb3cSLuka Panio			reg = <0x0 0x88c00000 0x0 0x2f00000>;
130264beb3cSLuka Panio			no-map;
131264beb3cSLuka Panio		};
132264beb3cSLuka Panio
133264beb3cSLuka Panio		adsp_mem: adsp@8bb00000 {
134264beb3cSLuka Panio			reg = <0x0 0x8bb00000 0x0 0x2500000>;
135264beb3cSLuka Panio			no-map;
136264beb3cSLuka Panio		};
137264beb3cSLuka Panio
138264beb3cSLuka Panio		spss_mem: spss@8e000000 {
139264beb3cSLuka Panio			reg = <0x0 0x8e000000 0x0 0x100000>;
140264beb3cSLuka Panio			no-map;
141264beb3cSLuka Panio		};
142264beb3cSLuka Panio
143264beb3cSLuka Panio		cdsp_secure_heap: cdsp-secure-heap@8e100000 {
144264beb3cSLuka Panio			reg = <0x0 0x8e100000 0x0 0x4600000>;
145264beb3cSLuka Panio			no-map;
146264beb3cSLuka Panio		};
147264beb3cSLuka Panio
148264beb3cSLuka Panio		cont_splash_mem: cont-splash@9c000000 {
149264beb3cSLuka Panio			reg = <0x0 0x9c000000 0x0 0x2300000>;
150264beb3cSLuka Panio			no-map;
151264beb3cSLuka Panio		};
152264beb3cSLuka Panio
153264beb3cSLuka Panio		ramoops@b0000000 {
154264beb3cSLuka Panio			compatible = "ramoops";
155264beb3cSLuka Panio			reg = <0x0 0xb0000000 0x0 0x400000>;
156264beb3cSLuka Panio			record-size = <0x1000>;
157264beb3cSLuka Panio			console-size = <0x200000>;
158264beb3cSLuka Panio			ecc-size = <16>;
159264beb3cSLuka Panio			no-map;
160264beb3cSLuka Panio		};
161264beb3cSLuka Panio	};
162264beb3cSLuka Panio};
163264beb3cSLuka Panio
164264beb3cSLuka Panio&adsp {
165264beb3cSLuka Panio	firmware-name = "qcom/sm8250/xiaomi/pipa/adsp.mbn";
166264beb3cSLuka Panio	status = "okay";
167264beb3cSLuka Panio};
168264beb3cSLuka Panio
169264beb3cSLuka Panio&apps_rsc {
170264beb3cSLuka Panio	regulators-0 {
171264beb3cSLuka Panio		compatible = "qcom,pm8150-rpmh-regulators";
172264beb3cSLuka Panio		qcom,pmic-id = "a";
173264beb3cSLuka Panio
174264beb3cSLuka Panio		vdd-s1-supply = <&vph_pwr>;
175264beb3cSLuka Panio		vdd-s2-supply = <&vph_pwr>;
176264beb3cSLuka Panio		vdd-s3-supply = <&vph_pwr>;
177264beb3cSLuka Panio		vdd-s4-supply = <&vph_pwr>;
178264beb3cSLuka Panio		vdd-s5-supply = <&vph_pwr>;
179264beb3cSLuka Panio		vdd-s6-supply = <&vph_pwr>;
180264beb3cSLuka Panio		vdd-s7-supply = <&vph_pwr>;
181264beb3cSLuka Panio		vdd-s8-supply = <&vph_pwr>;
182264beb3cSLuka Panio		vdd-s9-supply = <&vph_pwr>;
183264beb3cSLuka Panio		vdd-s10-supply = <&vph_pwr>;
184264beb3cSLuka Panio		vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
185264beb3cSLuka Panio		vdd-l2-l10-supply = <&vreg_bob>;
186264beb3cSLuka Panio		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
187264beb3cSLuka Panio		vdd-l6-l9-supply = <&vreg_s8c_1p35>;
188264beb3cSLuka Panio		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
189264beb3cSLuka Panio		vdd-l13-l16-l17-supply = <&vreg_bob>;
190264beb3cSLuka Panio
191264beb3cSLuka Panio		/* (S1+S2+S3) - cx.lvl (ARC) */
192264beb3cSLuka Panio
193264beb3cSLuka Panio		vreg_s4a_1p8: smps4 {
194264beb3cSLuka Panio			regulator-name = "vreg_s4a_1p8";
195264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
196264beb3cSLuka Panio			regulator-max-microvolt = <1920000>;
197264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
198264beb3cSLuka Panio			regulator-allow-set-load;
199264beb3cSLuka Panio			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
200264beb3cSLuka Panio						   RPMH_REGULATOR_MODE_HPM>;
201264beb3cSLuka Panio		};
202264beb3cSLuka Panio
203264beb3cSLuka Panio		vreg_s5a_1p9: smps5 {
204264beb3cSLuka Panio			regulator-name = "vreg_s5a_1p9";
205264beb3cSLuka Panio			regulator-min-microvolt = <1900000>;
206264beb3cSLuka Panio			regulator-max-microvolt = <2040000>;
207264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
208264beb3cSLuka Panio		};
209264beb3cSLuka Panio
210264beb3cSLuka Panio		vreg_s6a_0p95: smps6 {
211264beb3cSLuka Panio			regulator-name = "vreg_s6a_0p95";
212264beb3cSLuka Panio			regulator-min-microvolt = <600000>;
213264beb3cSLuka Panio			regulator-max-microvolt = <1128000>;
214264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215264beb3cSLuka Panio		};
216264beb3cSLuka Panio
217264beb3cSLuka Panio		vreg_l2a_3p1: ldo2 {
218264beb3cSLuka Panio			regulator-name = "vreg_l2a_3p1";
219264beb3cSLuka Panio			regulator-min-microvolt = <3072000>;
220264beb3cSLuka Panio			regulator-max-microvolt = <3072000>;
221264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
222264beb3cSLuka Panio		};
223264beb3cSLuka Panio
224264beb3cSLuka Panio		vreg_l3a_0p9: ldo3 {
225264beb3cSLuka Panio			regulator-name = "vreg_l3a_0p9";
226264beb3cSLuka Panio			regulator-min-microvolt = <928000>;
227264beb3cSLuka Panio			regulator-max-microvolt = <932000>;
228264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
229264beb3cSLuka Panio		};
230264beb3cSLuka Panio
231264beb3cSLuka Panio		/* L4 - lmx.lvl (ARC) */
232264beb3cSLuka Panio
233264beb3cSLuka Panio		vreg_l5a_0p88: ldo5 {
234264beb3cSLuka Panio			regulator-name = "vreg_l5a_0p88";
235264beb3cSLuka Panio			regulator-min-microvolt = <880000>;
236264beb3cSLuka Panio			regulator-max-microvolt = <880000>;
237264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
238264beb3cSLuka Panio		};
239264beb3cSLuka Panio
240264beb3cSLuka Panio		vreg_l6a_1p2: ldo6 {
241264beb3cSLuka Panio			regulator-name = "vreg_l6a_1p2";
242264beb3cSLuka Panio			regulator-min-microvolt = <1200000>;
243264beb3cSLuka Panio			regulator-max-microvolt = <1200000>;
244264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
245264beb3cSLuka Panio			regulator-allow-set-load;
246264beb3cSLuka Panio			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
247264beb3cSLuka Panio						   RPMH_REGULATOR_MODE_HPM>;
248264beb3cSLuka Panio		};
249264beb3cSLuka Panio
250264beb3cSLuka Panio		/* L7 is unused. */
251264beb3cSLuka Panio
252264beb3cSLuka Panio		vreg_l9a_1p2: ldo9 {
253264beb3cSLuka Panio			regulator-name = "vreg_l9a_1p2";
254264beb3cSLuka Panio			regulator-min-microvolt = <1200000>;
255264beb3cSLuka Panio			regulator-max-microvolt = <1200000>;
256264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
257264beb3cSLuka Panio		};
258264beb3cSLuka Panio
259264beb3cSLuka Panio		/* L10 is unused, L11 - lcx.lvl (ARC) */
260264beb3cSLuka Panio
261264beb3cSLuka Panio		vreg_l12a_1p8: ldo12 {
262264beb3cSLuka Panio			regulator-name = "vreg_l12a_1p8";
263264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
264264beb3cSLuka Panio			regulator-max-microvolt = <1800000>;
265264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266264beb3cSLuka Panio		};
267264beb3cSLuka Panio
268264beb3cSLuka Panio		/* L13 is unused. */
269264beb3cSLuka Panio
270264beb3cSLuka Panio		vreg_l14a_1p88: ldo14 {
271264beb3cSLuka Panio			regulator-name = "vreg_l14a_1p88";
272264beb3cSLuka Panio			regulator-min-microvolt = <1880000>;
273264beb3cSLuka Panio			regulator-max-microvolt = <1880000>;
274264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275264beb3cSLuka Panio		};
276264beb3cSLuka Panio
277264beb3cSLuka Panio		/* L15 & L16 are unused. */
278264beb3cSLuka Panio
279264beb3cSLuka Panio		vreg_l17a_3p0: ldo17 {
280264beb3cSLuka Panio			regulator-name = "vreg_l17a_3p0";
281264beb3cSLuka Panio			regulator-min-microvolt = <2496000>;
282264beb3cSLuka Panio			regulator-max-microvolt = <3008000>;
283264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
284264beb3cSLuka Panio			regulator-allow-set-load;
285264beb3cSLuka Panio			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
286264beb3cSLuka Panio						   RPMH_REGULATOR_MODE_HPM>;
287264beb3cSLuka Panio		};
288264beb3cSLuka Panio
289264beb3cSLuka Panio		vreg_l18a_0p9: ldo18 {
290264beb3cSLuka Panio			regulator-name = "vreg_l18a_0p9";
291264beb3cSLuka Panio			regulator-min-microvolt = <800000>;
292264beb3cSLuka Panio			regulator-max-microvolt = <920000>;
293264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294264beb3cSLuka Panio		};
295264beb3cSLuka Panio	};
296264beb3cSLuka Panio
297264beb3cSLuka Panio	regulators-1 {
298264beb3cSLuka Panio		compatible = "qcom,pm8150l-rpmh-regulators";
299264beb3cSLuka Panio		qcom,pmic-id = "c";
300264beb3cSLuka Panio
301264beb3cSLuka Panio		vdd-s1-supply = <&vph_pwr>;
302264beb3cSLuka Panio		vdd-s2-supply = <&vph_pwr>;
303264beb3cSLuka Panio		vdd-s3-supply = <&vph_pwr>;
304264beb3cSLuka Panio		vdd-s4-supply = <&vph_pwr>;
305264beb3cSLuka Panio		vdd-s5-supply = <&vph_pwr>;
306264beb3cSLuka Panio		vdd-s6-supply = <&vph_pwr>;
307264beb3cSLuka Panio		vdd-s7-supply = <&vph_pwr>;
308264beb3cSLuka Panio		vdd-s8-supply = <&vph_pwr>;
309264beb3cSLuka Panio		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
310264beb3cSLuka Panio		vdd-l2-l3-supply = <&vreg_s8c_1p35>;
311264beb3cSLuka Panio		vdd-l4-l5-l6-supply = <&vreg_bob>;
312264beb3cSLuka Panio		vdd-l7-l11-supply = <&vreg_bob>;
313264beb3cSLuka Panio		vdd-l9-l10-supply = <&vreg_bob>;
314264beb3cSLuka Panio		vdd-bob-supply = <&vph_pwr>;
315264beb3cSLuka Panio
316264beb3cSLuka Panio		vreg_bob: bob {
317264beb3cSLuka Panio			regulator-name = "vreg_bob";
318264beb3cSLuka Panio			regulator-min-microvolt = <3350000>;
319264beb3cSLuka Panio			regulator-max-microvolt = <3960000>;
320264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
321264beb3cSLuka Panio		};
322264beb3cSLuka Panio
323264beb3cSLuka Panio		/*
324264beb3cSLuka Panio		 * S1-S6 are ARCs:
325264beb3cSLuka Panio		 * (S1+S2) - gfx.lvl,
326264beb3cSLuka Panio		 * S3 - mx.lvl,
327264beb3cSLuka Panio		 * (S4+S5) - mmcx.lvl,
328264beb3cSLuka Panio		 * S6 - ebi.lvl
329264beb3cSLuka Panio		 */
330264beb3cSLuka Panio
331264beb3cSLuka Panio		vreg_s7c_0p35: smps7 {
332264beb3cSLuka Panio			regulator-name = "vreg_s7c_0p35";
333264beb3cSLuka Panio			regulator-min-microvolt = <348000>;
334264beb3cSLuka Panio			regulator-max-microvolt = <1000000>;
335264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
336264beb3cSLuka Panio		};
337264beb3cSLuka Panio
338264beb3cSLuka Panio		vreg_s8c_1p35: smps8 {
339264beb3cSLuka Panio			regulator-name = "vreg_s8c_1p35";
340264beb3cSLuka Panio			regulator-min-microvolt = <1200000>;
341264beb3cSLuka Panio			regulator-max-microvolt = <1400000>;
342264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
343264beb3cSLuka Panio		};
344264beb3cSLuka Panio
345264beb3cSLuka Panio		vreg_l1c_1p8: ldo1 {
346264beb3cSLuka Panio			regulator-name = "vreg_l1c_1p8";
347264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
348264beb3cSLuka Panio			regulator-max-microvolt = <1800000>;
349264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
350264beb3cSLuka Panio		};
351264beb3cSLuka Panio
352264beb3cSLuka Panio		/* L2-4 are unused. */
353264beb3cSLuka Panio
354264beb3cSLuka Panio		vreg_l5c_1p8: ldo5 {
355264beb3cSLuka Panio			regulator-name = "vreg_l5c_1p8";
356264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
357264beb3cSLuka Panio			regulator-max-microvolt = <2800000>;
358264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
359264beb3cSLuka Panio		};
360264beb3cSLuka Panio
361264beb3cSLuka Panio		vreg_l6c_2p9: ldo6 {
362264beb3cSLuka Panio			regulator-name = "vreg_l6c_2p9";
363264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
364264beb3cSLuka Panio			regulator-max-microvolt = <2960000>;
365264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
366264beb3cSLuka Panio			regulator-allow-set-load;
367264beb3cSLuka Panio			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
368264beb3cSLuka Panio						   RPMH_REGULATOR_MODE_HPM>;
369264beb3cSLuka Panio		};
370264beb3cSLuka Panio
371264beb3cSLuka Panio		vreg_l7c_2p85: ldo7 {
372264beb3cSLuka Panio			regulator-name = "vreg_l7c_2p85";
373264beb3cSLuka Panio			regulator-min-microvolt = <2856000>;
374264beb3cSLuka Panio			regulator-max-microvolt = <3104000>;
375264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376264beb3cSLuka Panio		};
377264beb3cSLuka Panio
378264beb3cSLuka Panio		vreg_l8c_1p8: ldo8 {
379264beb3cSLuka Panio			regulator-name = "vreg_l8c_1p8";
380264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
381264beb3cSLuka Panio			regulator-max-microvolt = <1800000>;
382264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383264beb3cSLuka Panio		};
384264beb3cSLuka Panio
385264beb3cSLuka Panio		vreg_l9c_2p9: ldo9 {
386264beb3cSLuka Panio			regulator-name = "vreg_l9c_2p9";
387264beb3cSLuka Panio			regulator-min-microvolt = <2704000>;
388264beb3cSLuka Panio			regulator-max-microvolt = <2960000>;
389264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
390264beb3cSLuka Panio			regulator-allow-set-load;
391264beb3cSLuka Panio			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
392264beb3cSLuka Panio						   RPMH_REGULATOR_MODE_HPM>;
393264beb3cSLuka Panio		};
394264beb3cSLuka Panio
395264beb3cSLuka Panio		vreg_l10c_3p3: ldo10 {
396264beb3cSLuka Panio			regulator-name = "vreg_l10c_3p3";
397264beb3cSLuka Panio			regulator-min-microvolt = <3000000>;
398264beb3cSLuka Panio			regulator-max-microvolt = <3312000>;
399264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
400264beb3cSLuka Panio		};
401264beb3cSLuka Panio
402264beb3cSLuka Panio		vreg_l11c_3p0: ldo11 {
403264beb3cSLuka Panio			regulator-name = "vreg_l11c_3p0";
404264beb3cSLuka Panio			regulator-min-microvolt = <3104000>;
405264beb3cSLuka Panio			regulator-max-microvolt = <3304000>;
406264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
407264beb3cSLuka Panio		};
408264beb3cSLuka Panio	};
409264beb3cSLuka Panio
410264beb3cSLuka Panio	regulators-2 {
411264beb3cSLuka Panio		compatible = "qcom,pm8009-rpmh-regulators";
412264beb3cSLuka Panio		qcom,pmic-id = "f";
413264beb3cSLuka Panio
414264beb3cSLuka Panio		vdd-s1-supply = <&vph_pwr>;
415264beb3cSLuka Panio		vdd-s2-supply = <&vreg_bob>;
416264beb3cSLuka Panio		vdd-l2-supply = <&vreg_s8c_1p35>;
417264beb3cSLuka Panio		vdd-l5-l6-supply = <&vreg_bob>;
418264beb3cSLuka Panio		vdd-l7-supply = <&vreg_s4a_1p8>;
419264beb3cSLuka Panio
420264beb3cSLuka Panio		vreg_s1f_1p2: smps1 {
421264beb3cSLuka Panio			regulator-name = "vreg_s1f_1p2";
422264beb3cSLuka Panio			regulator-min-microvolt = <1200000>;
423264beb3cSLuka Panio			regulator-max-microvolt = <1300000>;
424264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
425264beb3cSLuka Panio		};
426264beb3cSLuka Panio
427264beb3cSLuka Panio		vreg_s2f_0p5: smps2 {
428264beb3cSLuka Panio			regulator-name = "vreg_s2f_0p5";
429264beb3cSLuka Panio			regulator-min-microvolt = <512000>;
430264beb3cSLuka Panio			regulator-max-microvolt = <1100000>;
431264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
432264beb3cSLuka Panio		};
433264beb3cSLuka Panio
434264beb3cSLuka Panio		/* L1 is unused. */
435264beb3cSLuka Panio
436264beb3cSLuka Panio		vreg_l2f_1p3: ldo2 {
437264beb3cSLuka Panio			regulator-name = "vreg_l2f_1p3";
438264beb3cSLuka Panio			regulator-min-microvolt = <1056000>;
439264beb3cSLuka Panio			regulator-max-microvolt = <1200000>;
440264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
441264beb3cSLuka Panio		};
442264beb3cSLuka Panio
443264beb3cSLuka Panio		/* L3 & L4 are unused. */
444264beb3cSLuka Panio
445264beb3cSLuka Panio		vreg_l5f_2p8: ldo5 {
446264beb3cSLuka Panio			regulator-name = "vreg_l5f_2p85";
447264beb3cSLuka Panio			regulator-min-microvolt = <2800000>;
448264beb3cSLuka Panio			regulator-max-microvolt = <3000000>;
449264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
450264beb3cSLuka Panio		};
451264beb3cSLuka Panio
452264beb3cSLuka Panio		vreg_l6f_2p8: ldo6 {
453264beb3cSLuka Panio			regulator-name = "vreg_l6f_2p8";
454264beb3cSLuka Panio			regulator-min-microvolt = <2800000>;
455264beb3cSLuka Panio			regulator-max-microvolt = <3000000>;
456264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
457264beb3cSLuka Panio		};
458264beb3cSLuka Panio
459264beb3cSLuka Panio		vreg_l7f_1p8: ldo7 {
460264beb3cSLuka Panio			regulator-name = "vreg_l7f_1p8";
461264beb3cSLuka Panio			regulator-min-microvolt = <1800000>;
462264beb3cSLuka Panio			regulator-max-microvolt = <1800000>;
463264beb3cSLuka Panio			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
464264beb3cSLuka Panio		};
465264beb3cSLuka Panio	};
466264beb3cSLuka Panio};
467264beb3cSLuka Panio
468264beb3cSLuka Panio&cdsp {
469264beb3cSLuka Panio	firmware-name = "qcom/sm8250/xiaomi/pipa/cdsp.mbn";
470264beb3cSLuka Panio	status = "okay";
471264beb3cSLuka Panio};
472264beb3cSLuka Panio
473264beb3cSLuka Panio&gmu {
474264beb3cSLuka Panio	status = "okay";
475264beb3cSLuka Panio};
476264beb3cSLuka Panio
477264beb3cSLuka Panio&gpi_dma0 {
478264beb3cSLuka Panio	status = "okay";
479264beb3cSLuka Panio};
480264beb3cSLuka Panio
481264beb3cSLuka Panio&gpi_dma1 {
482264beb3cSLuka Panio	status = "okay";
483264beb3cSLuka Panio};
484264beb3cSLuka Panio
485264beb3cSLuka Panio&gpi_dma2 {
486264beb3cSLuka Panio	status = "okay";
487264beb3cSLuka Panio};
488264beb3cSLuka Panio
489264beb3cSLuka Panio&gpu {
490264beb3cSLuka Panio	status = "okay";
491264beb3cSLuka Panio
492264beb3cSLuka Panio	zap-shader {
493264beb3cSLuka Panio		memory-region = <&gpu_mem>;
494264beb3cSLuka Panio		firmware-name = "qcom/sm8250/xiaomi/pipa/a650_zap.mbn";
495264beb3cSLuka Panio	};
496264beb3cSLuka Panio};
497264beb3cSLuka Panio
498264beb3cSLuka Panio&i2c0 {
499264beb3cSLuka Panio	clock-frequency = <400000>;
500264beb3cSLuka Panio	status = "okay";
501264beb3cSLuka Panio
502264beb3cSLuka Panio	fuel-gauge@55 {
503264beb3cSLuka Panio		compatible = "ti,bq27z561";
504264beb3cSLuka Panio		reg = <0x55>;
505264beb3cSLuka Panio		monitored-battery = <&battery_r>;
506264beb3cSLuka Panio	};
507264beb3cSLuka Panio};
508264beb3cSLuka Panio
509264beb3cSLuka Panio&i2c11 {
510264beb3cSLuka Panio	clock-frequency = <400000>;
511264beb3cSLuka Panio	status = "okay";
512264beb3cSLuka Panio
513264beb3cSLuka Panio	backlight: backlight@11 {
514264beb3cSLuka Panio		compatible = "kinetic,ktz8866";
515264beb3cSLuka Panio		reg = <0x11>;
516264beb3cSLuka Panio		vddpos-supply = <&bl_vddpos_5p5>;
517264beb3cSLuka Panio		vddneg-supply = <&bl_vddneg_5p5>;
518264beb3cSLuka Panio		enable-gpios = <&tlmm 139 GPIO_ACTIVE_HIGH>;
519264beb3cSLuka Panio		current-num-sinks = <5>;
520264beb3cSLuka Panio		kinetic,current-ramp-delay-ms = <128>;
521264beb3cSLuka Panio		kinetic,led-enable-ramp-delay-ms = <1>;
522264beb3cSLuka Panio		kinetic,enable-lcd-bias;
523264beb3cSLuka Panio	};
524264beb3cSLuka Panio};
525264beb3cSLuka Panio
526264beb3cSLuka Panio&i2c13 {
527264beb3cSLuka Panio	clock-frequency = <400000>;
528264beb3cSLuka Panio	status = "okay";
529264beb3cSLuka Panio
530264beb3cSLuka Panio	fuel-gauge@55 {
531264beb3cSLuka Panio		compatible = "ti,bq27z561";
532264beb3cSLuka Panio		reg = <0x55>;
533264beb3cSLuka Panio		monitored-battery = <&battery_l>;
534264beb3cSLuka Panio	};
535264beb3cSLuka Panio};
536264beb3cSLuka Panio
537264beb3cSLuka Panio&pcie0 {
538264beb3cSLuka Panio	status = "okay";
539264beb3cSLuka Panio};
540264beb3cSLuka Panio
541264beb3cSLuka Panio&pcie0_phy {
542264beb3cSLuka Panio	vdda-phy-supply = <&vreg_l5a_0p88>;
543264beb3cSLuka Panio	vdda-pll-supply = <&vreg_l9a_1p2>;
544264beb3cSLuka Panio	status = "okay";
545264beb3cSLuka Panio};
546264beb3cSLuka Panio
547264beb3cSLuka Panio&pm8150_gpios {
548264beb3cSLuka Panio	vol_up_n: vol-up-n-state {
549264beb3cSLuka Panio		pins = "gpio6";
550264beb3cSLuka Panio		function = "normal";
551264beb3cSLuka Panio		power-source = <1>;
552264beb3cSLuka Panio		input-enable;
553264beb3cSLuka Panio		bias-pull-up;
554264beb3cSLuka Panio	};
555264beb3cSLuka Panio};
556264beb3cSLuka Panio
557*87ca44abSTingguo Cheng&pon {
558*87ca44abSTingguo Cheng	mode-bootloader = <0x2>;
559*87ca44abSTingguo Cheng	mode-recovery = <0x1>;
560*87ca44abSTingguo Cheng};
561*87ca44abSTingguo Cheng
562264beb3cSLuka Panio&pon_pwrkey {
563264beb3cSLuka Panio	status = "okay";
564264beb3cSLuka Panio};
565264beb3cSLuka Panio
566264beb3cSLuka Panio&pon_resin {
567264beb3cSLuka Panio	linux,code = <KEY_VOLUMEDOWN>;
568264beb3cSLuka Panio	status = "okay";
569264beb3cSLuka Panio};
570264beb3cSLuka Panio
571264beb3cSLuka Panio&qupv3_id_0 {
572264beb3cSLuka Panio	status = "okay";
573264beb3cSLuka Panio};
574264beb3cSLuka Panio
575264beb3cSLuka Panio&qupv3_id_1 {
576264beb3cSLuka Panio	status = "okay";
577264beb3cSLuka Panio};
578264beb3cSLuka Panio
579264beb3cSLuka Panio&qupv3_id_2 {
580264beb3cSLuka Panio	status = "okay";
581264beb3cSLuka Panio};
582264beb3cSLuka Panio
583264beb3cSLuka Panio&slpi {
584264beb3cSLuka Panio	firmware-name = "qcom/sm8250/xiaomi/pipa/slpi.mbn";
585264beb3cSLuka Panio	status = "okay";
586264beb3cSLuka Panio};
587264beb3cSLuka Panio
588264beb3cSLuka Panio&usb_1 {
589264beb3cSLuka Panio	status = "okay";
590264beb3cSLuka Panio};
591264beb3cSLuka Panio
592264beb3cSLuka Panio&usb_1_dwc3 {
593264beb3cSLuka Panio	dr_mode = "peripheral";
594264beb3cSLuka Panio};
595264beb3cSLuka Panio
596264beb3cSLuka Panio&usb_1_hsphy {
597264beb3cSLuka Panio	vdda-pll-supply = <&vreg_l5a_0p88>;
598264beb3cSLuka Panio	vdda18-supply = <&vreg_l12a_1p8>;
599264beb3cSLuka Panio	vdda33-supply = <&vreg_l2a_3p1>;
600264beb3cSLuka Panio	status = "okay";
601264beb3cSLuka Panio};
602264beb3cSLuka Panio
603264beb3cSLuka Panio&usb_1_qmpphy {
604264beb3cSLuka Panio	status = "okay";
605264beb3cSLuka Panio	vdda-phy-supply = <&vreg_l9a_1p2>;
606264beb3cSLuka Panio	vdda-pll-supply = <&vreg_l18a_0p9>;
607264beb3cSLuka Panio};
608264beb3cSLuka Panio
609264beb3cSLuka Panio&ufs_mem_hc {
610264beb3cSLuka Panio	vcc-supply = <&vreg_l17a_3p0>;
611264beb3cSLuka Panio	vcc-max-microamp = <800000>;
612264beb3cSLuka Panio	vccq-supply = <&vreg_l6a_1p2>;
613264beb3cSLuka Panio	vccq-max-microamp = <800000>;
614264beb3cSLuka Panio	vccq2-supply = <&vreg_s4a_1p8>;
615264beb3cSLuka Panio	vccq2-max-microamp = <800000>;
616264beb3cSLuka Panio	status = "okay";
617264beb3cSLuka Panio};
618264beb3cSLuka Panio
619264beb3cSLuka Panio&ufs_mem_phy {
620264beb3cSLuka Panio	vdda-phy-supply = <&vreg_l5a_0p88>;
621264beb3cSLuka Panio	vdda-pll-supply = <&vreg_l9a_1p2>;
622264beb3cSLuka Panio	status = "okay";
623264beb3cSLuka Panio};
624264beb3cSLuka Panio
625264beb3cSLuka Panio&venus {
626264beb3cSLuka Panio	firmware-name = "qcom/sm8250/xiaomi/pipa/venus.mbn";
627264beb3cSLuka Panio	status = "okay";
628264beb3cSLuka Panio};
629