1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2015, LGE Inc. All rights reserved.
4 * Copyright (c) 2016, The Linux Foundation. All rights reserved.
5 * Copyright (c) 2021, Petr Vorel <petr.vorel@gmail.com>
6 * Copyright (c) 2022, Dominik Kobinski <dominikkobinski314@gmail.com>
7 */
8
9/dts-v1/;
10
11#include "msm8992.dtsi"
12#include "pm8994.dtsi"
13#include "pmi8994.dtsi"
14
15/* cont_splash_mem has different memory mapping */
16/delete-node/ &cont_splash_mem;
17
18/ {
19	model = "LG Nexus 5X";
20	compatible = "lg,bullhead", "qcom,msm8992";
21	chassis-type = "handset";
22
23	qcom,msm-id = <251 0>, <252 0>;
24	qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>;
25
26	/* Bullhead firmware doesn't support PSCI */
27	/delete-node/ psci;
28
29	aliases {
30		serial0 = &blsp1_uart2;
31	};
32
33	chosen {
34		stdout-path = "serial0:115200n8";
35	};
36
37	reserved-memory {
38		#address-cells = <2>;
39		#size-cells = <2>;
40		ranges;
41
42		ramoops@1ff00000 {
43			compatible = "ramoops";
44			reg = <0x0 0x1ff00000 0x0 0x40000>;
45			console-size = <0x10000>;
46			record-size = <0x10000>;
47			ftrace-size = <0x10000>;
48			pmsg-size = <0x20000>;
49		};
50
51		cont_splash_mem: memory@3400000 {
52			reg = <0 0x03400000 0 0x1200000>;
53			no-map;
54		};
55
56		removed_region: reserved@5000000 {
57			reg = <0 0x05000000 0 0x2200000>;
58			no-map;
59		};
60	};
61};
62
63&blsp1_uart2 {
64	status = "okay";
65};
66
67&rpm_requests {
68	pm8994_regulators: regulators-0 {
69		compatible = "qcom,rpm-pm8994-regulators";
70
71		vdd_l1-supply = <&pm8994_s1>;
72		vdd_l2_26_28-supply = <&pm8994_s3>;
73		vdd_l3_11-supply = <&pm8994_s3>;
74		vdd_l4_27_31-supply = <&pm8994_s3>;
75		vdd_l5_7-supply = <&pm8994_s3>;
76		vdd_l6_12_32-supply = <&pm8994_s5>;
77		vdd_l8_16_30-supply = <&vph_pwr>;
78		vdd_l9_10_18_22-supply = <&vph_pwr>;
79		vdd_l13_19_23_24-supply = <&vph_pwr>;
80		vdd_l14_15-supply = <&pm8994_s5>;
81		vdd_l17_29-supply = <&vph_pwr>;
82		vdd_l20_21-supply = <&vph_pwr>;
83		vdd_l25-supply = <&pm8994_s5>;
84		vdd_lvs1_2-supply = <&pm8994_s4>;
85
86		/* S1, S2, S6 and S12 are managed by RPMPD */
87
88		pm8994_s1: s1 {
89			regulator-min-microvolt = <800000>;
90			regulator-max-microvolt = <800000>;
91		};
92
93		pm8994_s2: s2 {
94			/* TODO */
95		};
96
97		pm8994_s3: s3 {
98			regulator-min-microvolt = <1300000>;
99			regulator-max-microvolt = <1300000>;
100		};
101
102		pm8994_s4: s4 {
103			regulator-min-microvolt = <1800000>;
104			regulator-max-microvolt = <1800000>;
105			regulator-allow-set-load;
106			regulator-system-load = <325000>;
107		};
108
109		pm8994_s5: s5 {
110			regulator-min-microvolt = <2150000>;
111			regulator-max-microvolt = <2150000>;
112		};
113
114		pm8994_s7: s7 {
115			regulator-min-microvolt = <1000000>;
116			regulator-max-microvolt = <1000000>;
117		};
118
119		/* S8, S9, S10 and S11 - SPMI-managed VDD_APC */
120
121		pm8994_l1: l1 {
122			regulator-min-microvolt = <1000000>;
123			regulator-max-microvolt = <1000000>;
124		};
125
126		pm8994_l2: l2 {
127			regulator-min-microvolt = <1250000>;
128			regulator-max-microvolt = <1250000>;
129		};
130
131		pm8994_l3: l3 {
132			regulator-min-microvolt = <1200000>;
133			regulator-max-microvolt = <1200000>;
134		};
135
136		pm8994_l4: l4 {
137			regulator-min-microvolt = <1225000>;
138			regulator-max-microvolt = <1225000>;
139		};
140
141		/* L5 is inaccessible from RPM */
142
143		pm8994_l6: l6 {
144			regulator-min-microvolt = <1800000>;
145			regulator-max-microvolt = <1800000>;
146		};
147
148		/* L7 is inaccessible from RPM */
149
150		pm8994_l8: l8 {
151			regulator-min-microvolt = <1800000>;
152			regulator-max-microvolt = <1800000>;
153		};
154
155		pm8994_l9: l9 {
156			regulator-min-microvolt = <1800000>;
157			regulator-max-microvolt = <1800000>;
158		};
159
160		pm8994_l10: l10 {
161			regulator-min-microvolt = <1800000>;
162			regulator-max-microvolt = <1800000>;
163		};
164
165		pm8994_l11: l11 {
166			regulator-min-microvolt = <1200000>;
167			regulator-max-microvolt = <1200000>;
168		};
169
170		pm8994_l12: l12 {
171			regulator-min-microvolt = <1800000>;
172			regulator-max-microvolt = <1800000>;
173		};
174
175		pm8994_l13: l13 {
176			regulator-min-microvolt = <1800000>;
177			regulator-max-microvolt = <2950000>;
178		};
179
180		pm8994_l14: l14 {
181			regulator-min-microvolt = <1200000>;
182			regulator-max-microvolt = <1200000>;
183		};
184
185		pm8994_l15: l15 {
186			regulator-min-microvolt = <1800000>;
187			regulator-max-microvolt = <1800000>;
188		};
189
190		pm8994_l16: l16 {
191			regulator-min-microvolt = <2700000>;
192			regulator-max-microvolt = <2700000>;
193		};
194
195		pm8994_l17: l17 {
196			regulator-min-microvolt = <2700000>;
197			regulator-max-microvolt = <2700000>;
198		};
199
200		pm8994_l18: l18 {
201			regulator-min-microvolt = <3000000>;
202			regulator-max-microvolt = <3000000>;
203		};
204
205		pm8994_l19: l19 {
206			regulator-min-microvolt = <1800000>;
207			regulator-max-microvolt = <1800000>;
208		};
209
210		pm8994_l20: l20 {
211			regulator-min-microvolt = <2950000>;
212			regulator-max-microvolt = <2950000>;
213			regulator-always-on;
214			regulator-boot-on;
215			regulator-allow-set-load;
216			regulator-system-load = <570000>;
217		};
218
219		pm8994_l21: l21 {
220			regulator-min-microvolt = <1800000>;
221			regulator-max-microvolt = <1800000>;
222			regulator-always-on;
223		};
224
225		pm8994_l22: l22 {
226			regulator-min-microvolt = <3100000>;
227			regulator-max-microvolt = <3100000>;
228		};
229
230		pm8994_l23: l23 {
231			regulator-min-microvolt = <2800000>;
232			regulator-max-microvolt = <2800000>;
233		};
234
235		pm8994_l24: l24 {
236			regulator-min-microvolt = <3075000>;
237			regulator-max-microvolt = <3150000>;
238		};
239
240		pm8994_l25: l25 {
241			regulator-min-microvolt = <1800000>;
242			regulator-max-microvolt = <1800000>;
243		};
244
245		pm8994_l26: l26 {
246			/*
247			 * TODO: value from downstream
248			 * regulator-min-microvolt = <987500>;
249			 * fails to apply
250			 */
251		};
252
253		pm8994_l27: l27 {
254			regulator-min-microvolt = <1050000>;
255			regulator-max-microvolt = <1050000>;
256		};
257
258		pm8994_l28: l28 {
259			regulator-min-microvolt = <1000000>;
260			regulator-max-microvolt = <1000000>;
261		};
262
263		pm8994_l29: l29 {
264			/*
265			 * TODO: Unsupported voltage range.
266			 * regulator-min-microvolt = <2800000>;
267			 * regulator-max-microvolt = <2800000>;
268			 */
269		};
270
271		pm8994_l30: l30 {
272			/*
273			 * TODO: get this verified
274			 * regulator-min-microvolt = <1800000>;
275			 * regulator-max-microvolt = <1800000>;
276			 */
277		};
278
279		pm8994_l31: l31 {
280			regulator-min-microvolt = <1262500>;
281			regulator-max-microvolt = <1262500>;
282		};
283
284		pm8994_l32: l32 {
285			/*
286			 * TODO: get this verified
287			 * regulator-min-microvolt = <1800000>;
288			 * regulator-max-microvolt = <1800000>;
289			 */
290		};
291	};
292
293	pmi8994_regulators: regulators-1 {
294		compatible = "qcom,rpm-pmi8994-regulators";
295
296		vdd_s1-supply = <&vph_pwr>;
297		vdd_bst_byp-supply = <&vph_pwr>;
298
299		pmi8994_s1: s1 {};
300
301		/* S2 & S3 - VDD_GFX */
302
303		pmi8994_bby: boost-bypass {};
304	};
305};
306
307&sdhc1 {
308	status = "okay";
309
310	mmc-hs400-1_8v;
311};
312