Commit | Line | Data |
---|---|---|
c16160cf KP |
1 | // SPDX-License-Identifier: BSD-3-Clause |
2 | /* | |
3 | * Copyright (C) 2021, Microsoft Corporation | |
4 | */ | |
5 | ||
6 | /dts-v1/; | |
7 | ||
8 | #include <dt-bindings/regulator/qcom,rpmh-regulator.h> | |
9 | #include "sm8350.dtsi" | |
10 | #include "pm8350.dtsi" | |
11 | #include "pm8350b.dtsi" | |
12 | #include "pm8350c.dtsi" | |
13 | #include "pmk8350.dtsi" | |
14 | #include "pmr735a.dtsi" | |
15 | #include "pmr735b.dtsi" | |
16 | ||
17 | / { | |
18 | model = "Microsoft Surface Duo 2"; | |
19 | compatible = "microsoft,surface-duo2", "qcom,sm8350"; | |
20 | chassis-type = "handset"; | |
21 | ||
22 | aliases { | |
23 | serial0 = &uart2; | |
24 | }; | |
25 | ||
26 | chosen { | |
27 | stdout-path = "serial0:115200n8"; | |
28 | }; | |
29 | ||
30 | vph_pwr: vph-pwr-regulator { | |
31 | compatible = "regulator-fixed"; | |
32 | regulator-name = "vph_pwr"; | |
33 | regulator-min-microvolt = <3700000>; | |
34 | regulator-max-microvolt = <3700000>; | |
35 | ||
36 | regulator-always-on; | |
37 | regulator-boot-on; | |
38 | }; | |
39 | }; | |
40 | ||
41 | &adsp { | |
42 | status = "okay"; | |
43 | firmware-name = "qcom/sm8350/microsoft/adsp.mbn"; | |
44 | }; | |
45 | ||
46 | &apps_rsc { | |
47 | pm8350-rpmh-regulators { | |
48 | compatible = "qcom,pm8350-rpmh-regulators"; | |
49 | qcom,pmic-id = "b"; | |
50 | ||
51 | vdd-s1-supply = <&vph_pwr>; | |
52 | vdd-s2-supply = <&vph_pwr>; | |
53 | vdd-s3-supply = <&vph_pwr>; | |
54 | vdd-s4-supply = <&vph_pwr>; | |
55 | vdd-s5-supply = <&vph_pwr>; | |
56 | vdd-s6-supply = <&vph_pwr>; | |
57 | vdd-s7-supply = <&vph_pwr>; | |
58 | vdd-s8-supply = <&vph_pwr>; | |
59 | vdd-s9-supply = <&vph_pwr>; | |
60 | vdd-s10-supply = <&vph_pwr>; | |
61 | vdd-s11-supply = <&vph_pwr>; | |
62 | vdd-s12-supply = <&vph_pwr>; | |
63 | ||
64 | vdd-l1-l4-supply = <&vreg_s11b_0p95>; | |
65 | vdd-l2-l7-supply = <&vreg_bob>; | |
66 | vdd-l3-l5-supply = <&vreg_bob>; | |
67 | vdd-l6-l9-l10-supply = <&vreg_s11b_0p95>; | |
68 | vdd-l8-supply = <&vreg_s2c_0p8>; | |
69 | ||
70 | vreg_s10b_1p8: smps10 { | |
71 | regulator-name = "vreg_s10b_1p8"; | |
72 | regulator-min-microvolt = <1800000>; | |
73 | regulator-max-microvolt = <1800000>; | |
74 | }; | |
75 | ||
76 | vreg_s11b_0p95: smps11 { | |
77 | regulator-name = "vreg_s11b_0p95"; | |
78 | regulator-min-microvolt = <752000>; | |
79 | regulator-max-microvolt = <1000000>; | |
80 | }; | |
81 | ||
82 | vreg_s12b_1p25: smps12 { | |
83 | regulator-name = "vreg_s12b_1p25"; | |
84 | regulator-min-microvolt = <1224000>; | |
85 | regulator-max-microvolt = <1360000>; | |
86 | }; | |
87 | ||
88 | vreg_l1b_0p88: ldo1 { | |
89 | regulator-name = "vreg_l1b_0p88"; | |
90 | regulator-min-microvolt = <912000>; | |
91 | regulator-max-microvolt = <920000>; | |
92 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
93 | }; | |
94 | ||
95 | vreg_l2b_3p07: ldo2 { | |
96 | regulator-name = "vreg_l2b_3p07"; | |
97 | regulator-min-microvolt = <3072000>; | |
98 | regulator-max-microvolt = <3072000>; | |
99 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
100 | }; | |
101 | ||
102 | vreg_l3b_0p9: ldo3 { | |
103 | regulator-name = "vreg_l3b_0p9"; | |
104 | regulator-min-microvolt = <904000>; | |
105 | regulator-max-microvolt = <904000>; | |
106 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
107 | }; | |
108 | ||
109 | vreg_l5b_0p88: ldo5 { | |
110 | regulator-name = "vreg_l3b_0p9"; | |
111 | regulator-min-microvolt = <880000>; | |
112 | regulator-max-microvolt = <888000>; | |
113 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
114 | }; | |
115 | ||
116 | vreg_l6b_1p2: ldo6 { | |
117 | regulator-name = "vreg_l6b_1p2"; | |
118 | regulator-min-microvolt = <1200000>; | |
119 | regulator-max-microvolt = <1208000>; | |
120 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
121 | }; | |
122 | ||
123 | vreg_l7b_2p96: ldo7 { | |
124 | regulator-name = "vreg_l7b_2p96"; | |
125 | regulator-min-microvolt = <2400000>; | |
126 | regulator-max-microvolt = <3008000>; | |
127 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
128 | }; | |
129 | ||
130 | vreg_l9b_1p2: ldo9 { | |
131 | regulator-name = "vreg_l9b_1p2"; | |
132 | regulator-min-microvolt = <1200000>; | |
133 | regulator-max-microvolt = <1200000>; | |
134 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
135 | }; | |
136 | }; | |
137 | ||
138 | pm8350c-rpmh-regulators { | |
139 | compatible = "qcom,pm8350c-rpmh-regulators"; | |
140 | qcom,pmic-id = "c"; | |
141 | ||
142 | vdd-s1-supply = <&vph_pwr>; | |
143 | vdd-s2-supply = <&vph_pwr>; | |
144 | vdd-s3-supply = <&vph_pwr>; | |
145 | vdd-s4-supply = <&vph_pwr>; | |
146 | vdd-s5-supply = <&vph_pwr>; | |
147 | vdd-s6-supply = <&vph_pwr>; | |
148 | vdd-s7-supply = <&vph_pwr>; | |
149 | vdd-s8-supply = <&vph_pwr>; | |
150 | vdd-s9-supply = <&vph_pwr>; | |
151 | vdd-s10-supply = <&vph_pwr>; | |
152 | ||
153 | vdd-l1-l12-supply = <&vreg_s1c_1p86>; | |
154 | vdd-l2-l8-supply = <&vreg_s1c_1p86>; | |
155 | vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>; | |
156 | vdd-l6-l9-l11-supply = <&vreg_bob>; | |
157 | vdd-l10-supply = <&vreg_s12b_1p25>; | |
158 | ||
159 | vdd-bob-supply = <&vph_pwr>; | |
160 | ||
161 | vreg_s1c_1p86: smps1 { | |
162 | regulator-name = "vreg_s1c_1p86"; | |
163 | regulator-min-microvolt = <1800000>; | |
164 | regulator-max-microvolt = <1952000>; | |
165 | }; | |
166 | ||
167 | vreg_s2c_0p8: smps2 { | |
168 | regulator-name = "vreg_s2c_0p8"; | |
169 | regulator-min-microvolt = <640000>; | |
170 | regulator-max-microvolt = <1000000>; | |
171 | }; | |
172 | ||
173 | vreg_s10c_1p05: smps10 { | |
174 | regulator-name = "vreg_s10c_1p05"; | |
175 | regulator-min-microvolt = <1048000>; | |
176 | regulator-max-microvolt = <1128000>; | |
177 | }; | |
178 | ||
179 | vreg_bob: bob { | |
180 | regulator-name = "vreg_bob"; | |
181 | regulator-min-microvolt = <3008000>; | |
182 | regulator-max-microvolt = <3960000>; | |
183 | regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; | |
184 | }; | |
185 | ||
186 | vreg_l1c_1p8: ldo1 { | |
187 | regulator-name = "vreg_l1c_1p8"; | |
188 | regulator-min-microvolt = <1800000>; | |
189 | regulator-max-microvolt = <1800000>; | |
190 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
191 | }; | |
192 | ||
193 | vreg_l2c_1p8: ldo2 { | |
194 | regulator-name = "vreg_l2c_1p8"; | |
195 | regulator-min-microvolt = <1800000>; | |
196 | regulator-max-microvolt = <1800000>; | |
197 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
198 | }; | |
199 | ||
200 | vreg_l3c_3p0: ldo3 { | |
201 | regulator-name = "vreg_l3c_3p0"; | |
202 | regulator-min-microvolt = <3008000>; | |
203 | regulator-max-microvolt = <3008000>; | |
204 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
205 | }; | |
206 | ||
207 | vreg_l4c_uim1: ldo4 { | |
208 | regulator-name = "vreg_l4c_uim1"; | |
209 | regulator-min-microvolt = <1704000>; | |
210 | regulator-max-microvolt = <3000000>; | |
211 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
212 | }; | |
213 | ||
214 | vreg_l5c_uim2: ldo5 { | |
215 | regulator-name = "vreg_l5c_uim2"; | |
216 | regulator-min-microvolt = <1704000>; | |
217 | regulator-max-microvolt = <3000000>; | |
218 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
219 | }; | |
220 | ||
221 | vreg_l6c_1p8: ldo6 { | |
222 | regulator-name = "vreg_l6c_1p8"; | |
223 | regulator-min-microvolt = <1800000>; | |
224 | regulator-max-microvolt = <2960000>; | |
225 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
226 | }; | |
227 | ||
228 | vreg_l7c_3p0: ldo7 { | |
229 | regulator-name = "vreg_l7c_3p0"; | |
230 | regulator-min-microvolt = <3008000>; | |
231 | regulator-max-microvolt = <3008000>; | |
232 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
233 | }; | |
234 | ||
235 | vreg_l8c_1p8: ldo8 { | |
236 | regulator-name = "vreg_l8c_1p8"; | |
237 | regulator-min-microvolt = <1800000>; | |
238 | regulator-max-microvolt = <1800000>; | |
239 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
240 | }; | |
241 | ||
242 | vreg_l9c_2p96: ldo9 { | |
243 | regulator-name = "vreg_l9c_2p96"; | |
244 | regulator-min-microvolt = <2960000>; | |
245 | regulator-max-microvolt = <3008000>; | |
246 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
247 | }; | |
248 | ||
249 | vreg_l10c_1p2: ldo10 { | |
250 | regulator-name = "vreg_l10c_1p2"; | |
251 | regulator-min-microvolt = <1200000>; | |
252 | regulator-max-microvolt = <1200000>; | |
253 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
254 | }; | |
255 | ||
256 | vreg_l11c_2p96: ldo11 { | |
257 | regulator-name = "vreg_l11c_2p96"; | |
258 | regulator-min-microvolt = <2400000>; | |
259 | regulator-max-microvolt = <3008000>; | |
260 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
261 | }; | |
262 | ||
263 | vreg_l12c_1p8: ldo12 { | |
264 | regulator-name = "vreg_l12c_1p8"; | |
265 | regulator-min-microvolt = <1800000>; | |
266 | regulator-max-microvolt = <2000000>; | |
267 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
268 | }; | |
269 | ||
270 | vreg_l13c_3p0: ldo13 { | |
271 | regulator-name = "vreg_l13c_3p0"; | |
272 | regulator-min-microvolt = <3000000>; | |
273 | regulator-max-microvolt = <3000000>; | |
274 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
275 | }; | |
276 | }; | |
277 | }; | |
278 | ||
279 | &cdsp { | |
280 | status = "okay"; | |
281 | firmware-name = "qcom/sm8350/microsoft/cdsp.mbn"; | |
282 | }; | |
283 | ||
aadc48f7 KP |
284 | &i2c10 { |
285 | status = "okay"; | |
286 | }; | |
287 | ||
288 | &i2c11 { | |
289 | status = "okay"; | |
290 | }; | |
291 | ||
c16160cf KP |
292 | &ipa { |
293 | status = "okay"; | |
294 | ||
295 | memory-region = <&pil_ipa_fw_mem>; | |
296 | }; | |
297 | ||
298 | &mpss { | |
299 | status = "okay"; | |
300 | firmware-name = "qcom/sm8350/microsoft/modem.mbn"; | |
301 | }; | |
302 | ||
303 | &qupv3_id_0 { | |
304 | status = "okay"; | |
305 | }; | |
306 | ||
aadc48f7 KP |
307 | &qupv3_id_1 { |
308 | status = "okay"; | |
309 | }; | |
310 | ||
c16160cf KP |
311 | &slpi { |
312 | status = "okay"; | |
313 | firmware-name = "qcom/sm8350/microsoft/slpi.mbn"; | |
314 | }; | |
315 | ||
316 | &tlmm { | |
317 | gpio-reserved-ranges = <4 4>, <12 4>, <56 4>, <76 4>; | |
318 | }; | |
319 | ||
320 | &uart2 { | |
321 | status = "okay"; | |
322 | }; | |
323 | ||
324 | &ufs_mem_hc { | |
325 | status = "okay"; | |
326 | ||
327 | reset-gpios = <&tlmm 203 GPIO_ACTIVE_LOW>; | |
328 | ||
329 | vcc-supply = <&vreg_l7b_2p96>; | |
330 | vcc-max-microamp = <800000>; | |
331 | vccq-supply = <&vreg_l9b_1p2>; | |
332 | vccq-max-microamp = <900000>; | |
333 | }; | |
334 | ||
335 | &ufs_mem_phy { | |
336 | status = "okay"; | |
337 | ||
338 | vdda-phy-supply = <&vreg_l5b_0p88>; | |
339 | vdda-max-microamp = <91600>; | |
340 | vdda-pll-supply = <&vreg_l6b_1p2>; | |
341 | vdda-pll-max-microamp = <19000>; | |
342 | }; | |
343 | ||
344 | &usb_1 { | |
345 | status = "okay"; | |
346 | dr_mode = "peripheral"; | |
347 | }; | |
348 | ||
349 | &usb_1_hsphy { | |
350 | status = "okay"; | |
351 | ||
352 | vdda-pll-supply = <&vreg_l5b_0p88>; | |
353 | vdda18-supply = <&vreg_l1c_1p8>; | |
354 | vdda33-supply = <&vreg_l2b_3p07>; | |
355 | }; | |
356 | ||
357 | &usb_1_qmpphy { | |
358 | status = "okay"; | |
359 | ||
360 | vdda-phy-supply = <&vreg_l6b_1p2>; | |
361 | vdda-pll-supply = <&vreg_l1b_0p88>; | |
362 | }; | |
363 | ||
364 | &usb_2 { | |
365 | status = "okay"; | |
366 | }; | |
367 | ||
368 | &usb_2_hsphy { | |
369 | status = "okay"; | |
370 | ||
371 | vdda-pll-supply = <&vreg_l5b_0p88>; | |
372 | vdda18-supply = <&vreg_l1c_1p8>; | |
373 | vdda33-supply = <&vreg_l2b_3p07>; | |
374 | }; | |
375 | ||
376 | &usb_2_qmpphy { | |
377 | status = "okay"; | |
378 | ||
379 | vdda-phy-supply = <&vreg_l6b_1p2>; | |
380 | vdda-pll-supply = <&vreg_l5b_0p88>; | |
381 | }; |