blob: 3bd5e57cbcdaa3990ff445ec5a4932ea1d83abad [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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 regulators-0 {
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 regulators-1 {
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
284&i2c10 {
285 status = "okay";
286};
287
288&i2c11 {
289 status = "okay";
290};
291
292&ipa {
293 qcom,gsi-loader = "self";
294 memory-region = <&pil_ipa_fw_mem>;
295 status = "okay";
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
307&qupv3_id_1 {
308 status = "okay";
309};
310
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-pll-supply = <&vreg_l6b_1p2>;
340};
341
342&usb_1 {
343 status = "okay";
344};
345
346&usb_1_dwc3 {
347 dr_mode = "peripheral";
348};
349
350&usb_1_hsphy {
351 status = "okay";
352
353 vdda-pll-supply = <&vreg_l5b_0p88>;
354 vdda18-supply = <&vreg_l1c_1p8>;
355 vdda33-supply = <&vreg_l2b_3p07>;
356};
357
358&usb_1_qmpphy {
359 status = "okay";
360
361 vdda-phy-supply = <&vreg_l6b_1p2>;
362 vdda-pll-supply = <&vreg_l1b_0p88>;
363};
364
365&usb_2 {
366 status = "okay";
367};
368
369&usb_2_hsphy {
370 status = "okay";
371
372 vdda-pll-supply = <&vreg_l5b_0p88>;
373 vdda18-supply = <&vreg_l1c_1p8>;
374 vdda33-supply = <&vreg_l2b_3p07>;
375};
376
377&usb_2_qmpphy {
378 status = "okay";
379
380 vdda-phy-supply = <&vreg_l6b_1p2>;
381 vdda-pll-supply = <&vreg_l5b_0p88>;
382};