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