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