1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include "sm8350.dtsi"
11#include "pm8350.dtsi"
12#include "pm8350b.dtsi"
13#include "pm8350c.dtsi"
14#include "pmk8350.dtsi"
15#include "pmr735a.dtsi"
16#include "pmr735b.dtsi"
17
18/ {
19	model = "Qualcomm Technologies, Inc. sm8350 MTP";
20	compatible = "qcom,sm8350-mtp", "qcom,sm8350";
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/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/cdsp.mbn";
282};
283
284&mpss {
285	status = "okay";
286	firmware-name = "qcom/sm8350/modem.mbn";
287};
288
289&qupv3_id_0 {
290	status = "okay";
291};
292
293&slpi {
294	status = "okay";
295	firmware-name = "qcom/sm8350/slpi.mbn";
296};
297
298&tlmm {
299	gpio-reserved-ranges = <52 8>;
300};
301
302&uart2 {
303	status = "okay";
304};
305
306&ufs_mem_hc {
307	status = "okay";
308
309	reset-gpios = <&tlmm 203 GPIO_ACTIVE_LOW>;
310
311	vcc-supply = <&vreg_l7b_2p96>;
312	vcc-max-microamp = <800000>;
313	vccq-supply = <&vreg_l9b_1p2>;
314	vccq-max-microamp = <900000>;
315};
316
317&ufs_mem_phy {
318	status = "okay";
319
320	vdda-phy-supply = <&vreg_l5b_0p88>;
321	vdda-max-microamp = <91600>;
322	vdda-pll-supply = <&vreg_l6b_1p2>;
323	vdda-pll-max-microamp = <19000>;
324};
325
326&usb_1 {
327	status = "okay";
328};
329
330&usb_1_dwc3 {
331	dr_mode = "peripheral";
332};
333
334&usb_1_hsphy {
335	status = "okay";
336
337	vdda-pll-supply = <&vreg_l5b_0p88>;
338	vdda18-supply = <&vreg_l1c_1p8>;
339	vdda33-supply = <&vreg_l2b_3p07>;
340};
341
342&usb_1_qmpphy {
343	status = "okay";
344
345	vdda-phy-supply = <&vreg_l6b_1p2>;
346	vdda-pll-supply = <&vreg_l1b_0p88>;
347};
348
349&usb_2 {
350	status = "okay";
351};
352
353&usb_2_hsphy {
354	status = "okay";
355
356	vdda-pll-supply = <&vreg_l5b_0p88>;
357	vdda18-supply = <&vreg_l1c_1p8>;
358	vdda33-supply = <&vreg_l2b_3p07>;
359};
360
361&usb_2_qmpphy {
362	status = "okay";
363
364	vdda-phy-supply = <&vreg_l6b_1p2>;
365	vdda-pll-supply = <&vreg_l5b_0p88>;
366};
367
368&ipa {
369	status = "okay";
370
371	memory-region = <&pil_ipa_fw_mem>;
372};
373