1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include <dt-bindings/gpio/gpio.h>
10#include "sm8150.dtsi"
11#include "pmm8155au_1.dtsi"
12#include "pmm8155au_2.dtsi"
13
14/ {
15	model = "Qualcomm Technologies, Inc. SA8155P ADP";
16	compatible = "qcom,sa8155p-adp", "qcom,sa8155p";
17
18	aliases {
19		serial0 = &uart2;
20	};
21
22	chosen {
23		stdout-path = "serial0:115200n8";
24	};
25
26	vreg_3p3: vreg_3p3_regulator {
27		compatible = "regulator-fixed";
28		regulator-name = "vreg_3p3";
29		regulator-min-microvolt = <3300000>;
30		regulator-max-microvolt = <3300000>;
31	};
32
33	/*
34	 * S4A is always on and not controllable through RPMh.
35	 * So model it as a fixed regulator.
36	 */
37	vreg_s4a_1p8: smps4 {
38		compatible = "regulator-fixed";
39		regulator-name = "vreg_s4a_1p8";
40
41		regulator-min-microvolt = <1800000>;
42		regulator-max-microvolt = <1800000>;
43
44		regulator-always-on;
45		regulator-boot-on;
46		regulator-allow-set-load;
47
48		vin-supply = <&vreg_3p3>;
49	};
50};
51
52&apps_rsc {
53	pmm8155au-1-rpmh-regulators {
54		compatible = "qcom,pmm8155au-rpmh-regulators";
55		qcom,pmic-id = "a";
56
57		vdd-s1-supply = <&vreg_3p3>;
58		vdd-s2-supply = <&vreg_3p3>;
59		vdd-s3-supply = <&vreg_3p3>;
60		vdd-s4-supply = <&vreg_3p3>;
61		vdd-s5-supply = <&vreg_3p3>;
62		vdd-s6-supply = <&vreg_3p3>;
63		vdd-s7-supply = <&vreg_3p3>;
64		vdd-s8-supply = <&vreg_3p3>;
65		vdd-s9-supply = <&vreg_3p3>;
66		vdd-s10-supply = <&vreg_3p3>;
67
68		vdd-l1-l8-l11-supply = <&vreg_s6a_0p92>;
69		vdd-l2-l10-supply = <&vreg_3p3>;
70		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p92>;
71		vdd-l6-l9-supply = <&vreg_s6a_0p92>;
72		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
73		vdd-l13-l16-l17-supply = <&vreg_3p3>;
74
75		vreg_s5a_2p04: smps5 {
76			regulator-name = "vreg_s5a_2p04";
77			regulator-min-microvolt = <1904000>;
78			regulator-max-microvolt = <2000000>;
79		};
80
81		vreg_s6a_0p92: smps6 {
82			regulator-name = "vreg_s6a_0p92";
83			regulator-min-microvolt = <920000>;
84			regulator-max-microvolt = <1128000>;
85		};
86
87		vreg_l1a_0p752: ldo1 {
88			regulator-name = "vreg_l1a_0p752";
89			regulator-min-microvolt = <752000>;
90			regulator-max-microvolt = <752000>;
91			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
92		};
93
94		vdda_usb_hs_3p1:
95		vreg_l2a_3p072: ldo2 {
96			regulator-name = "vreg_l2a_3p072";
97			regulator-min-microvolt = <3072000>;
98			regulator-max-microvolt = <3072000>;
99			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
100		};
101
102		vreg_l3a_0p8: ldo3 {
103			regulator-name = "vreg_l3a_0p8";
104			regulator-min-microvolt = <800000>;
105			regulator-max-microvolt = <800000>;
106			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
107		};
108
109		vdd_usb_hs_core:
110		vdda_usb_ss_dp_core_1:
111		vreg_l5a_0p88: ldo5 {
112			regulator-name = "vreg_l5a_0p88";
113			regulator-min-microvolt = <880000>;
114			regulator-max-microvolt = <880000>;
115			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
116			regulator-allow-set-load;
117		};
118
119		vreg_l7a_1p8: ldo7 {
120			regulator-name = "vreg_l7a_1p8";
121			regulator-min-microvolt = <1800000>;
122			regulator-max-microvolt = <1800000>;
123			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
124		};
125
126		vreg_l10a_2p96: ldo10 {
127			regulator-name = "vreg_l10a_2p96";
128			regulator-min-microvolt = <2504000>;
129			regulator-max-microvolt = <2960000>;
130			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
131			regulator-allow-set-load;
132		};
133
134		vreg_l11a_0p8: ldo11 {
135			regulator-name = "vreg_l11a_0p8";
136			regulator-min-microvolt = <800000>;
137			regulator-max-microvolt = <800000>;
138			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
139		};
140
141		vdda_usb_hs_1p8:
142		vreg_l12a_1p8: ldo12 {
143			regulator-name = "vreg_l12a_1p8";
144			regulator-min-microvolt = <1800000>;
145			regulator-max-microvolt = <1800000>;
146			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
147		};
148
149		vreg_l13a_2p7: ldo13 {
150			regulator-name = "vreg_l13a_2p7";
151			regulator-min-microvolt = <2704000>;
152			regulator-max-microvolt = <2704000>;
153			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
154		};
155
156		vreg_l15a_1p7: ldo15 {
157			regulator-name = "vreg_l15a_1p7";
158			regulator-min-microvolt = <1704000>;
159			regulator-max-microvolt = <1704000>;
160			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
161		};
162
163		vreg_l16a_2p7: ldo16 {
164			regulator-name = "vreg_l16a_2p7";
165			regulator-min-microvolt = <2704000>;
166			regulator-max-microvolt = <2960000>;
167			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168		};
169
170		vreg_l17a_2p96: ldo17 {
171			regulator-name = "vreg_l17a_2p96";
172			regulator-min-microvolt = <2504000>;
173			regulator-max-microvolt = <2960000>;
174			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
175		};
176	};
177
178	pmm8155au-2-rpmh-regulators {
179		compatible = "qcom,pmm8155au-rpmh-regulators";
180		qcom,pmic-id = "c";
181
182		vdd-s1-supply = <&vreg_3p3>;
183		vdd-s2-supply = <&vreg_3p3>;
184		vdd-s3-supply = <&vreg_3p3>;
185		vdd-s4-supply = <&vreg_3p3>;
186		vdd-s5-supply = <&vreg_3p3>;
187		vdd-s6-supply = <&vreg_3p3>;
188		vdd-s7-supply = <&vreg_3p3>;
189		vdd-s8-supply = <&vreg_3p3>;
190		vdd-s9-supply = <&vreg_3p3>;
191		vdd-s10-supply = <&vreg_3p3>;
192
193		vdd-l1-l8-l11-supply = <&vreg_s4c_1p352>;
194		vdd-l2-l10-supply = <&vreg_3p3>;
195		vdd-l3-l4-l5-l18-supply = <&vreg_s4c_1p352>;
196		vdd-l6-l9-supply = <&vreg_s6c_1p128>;
197		vdd-l7-l12-l14-l15-supply = <&vreg_s5c_2p04>;
198		vdd-l13-l16-l17-supply = <&vreg_3p3>;
199
200		vreg_s4c_1p352: smps4 {
201			regulator-name = "vreg_s4c_1p352";
202			regulator-min-microvolt = <1352000>;
203			regulator-max-microvolt = <1352000>;
204		};
205
206		vreg_s5c_2p04: smps5 {
207			regulator-name = "vreg_s5c_2p04";
208			regulator-min-microvolt = <1904000>;
209			regulator-max-microvolt = <2000000>;
210		};
211
212		vreg_s6c_1p128: smps6 {
213			regulator-name = "vreg_s6c_1p128";
214			regulator-min-microvolt = <1128000>;
215			regulator-max-microvolt = <1128000>;
216		};
217
218		vreg_l1c_1p304: ldo1 {
219			regulator-name = "vreg_l1c_1p304";
220			regulator-min-microvolt = <1304000>;
221			regulator-max-microvolt = <1304000>;
222			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
223		};
224
225		vreg_l2c_1p808: ldo2 {
226			regulator-name = "vreg_l2c_1p808";
227			regulator-min-microvolt = <1704000>;
228			regulator-max-microvolt = <2928000>;
229			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
230		};
231
232		vreg_l5c_1p2: ldo5 {
233			regulator-name = "vreg_l5c_1p2";
234			regulator-min-microvolt = <1200000>;
235			regulator-max-microvolt = <1200000>;
236			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
237			regulator-allow-set-load;
238		};
239
240		vreg_l7c_1p8: ldo7 {
241			regulator-name = "vreg_l7c_1p8";
242			regulator-min-microvolt = <1800000>;
243			regulator-max-microvolt = <1800000>;
244			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
245		};
246
247		vreg_l8c_1p2: ldo8 {
248			regulator-name = "vreg_l8c_1p2";
249			regulator-min-microvolt = <1200000>;
250			regulator-max-microvolt = <1200000>;
251			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252			regulator-allow-set-load;
253		};
254
255		vreg_l10c_3p3: ldo10 {
256			regulator-name = "vreg_l10c_3p3";
257			regulator-min-microvolt = <3000000>;
258			regulator-max-microvolt = <3312000>;
259			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
260		};
261
262		vreg_l11c_0p8: ldo11 {
263			regulator-name = "vreg_l11c_0p8";
264			regulator-min-microvolt = <800000>;
265			regulator-max-microvolt = <800000>;
266			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
267		};
268
269		vreg_l12c_1p808: ldo12 {
270			regulator-name = "vreg_l12c_1p808";
271			regulator-min-microvolt = <1704000>;
272			regulator-max-microvolt = <2928000>;
273			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274		};
275
276		vreg_l13c_2p96: ldo13 {
277			regulator-name = "vreg_l13c_2p96";
278			regulator-min-microvolt = <2504000>;
279			regulator-max-microvolt = <2960000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281		};
282
283		vreg_l15c_1p9: ldo15 {
284			regulator-name = "vreg_l15c_1p9";
285			regulator-min-microvolt = <1704000>;
286			regulator-max-microvolt = <2928000>;
287			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288		};
289
290		vreg_l16c_3p008: ldo16 {
291			regulator-name = "vreg_l16c_3p008";
292			regulator-min-microvolt = <3008000>;
293			regulator-max-microvolt = <3008000>;
294			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
295		};
296
297		vreg_l18c_0p88: ldo18 {
298			regulator-name = "vreg_l18c_0p88";
299			regulator-min-microvolt = <880000>;
300			regulator-max-microvolt = <880000>;
301			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
302		};
303	};
304};
305
306&qupv3_id_1 {
307	status = "okay";
308};
309
310&remoteproc_adsp {
311	status = "okay";
312	firmware-name = "qcom/sa8155p/adsp.mdt";
313};
314
315&remoteproc_cdsp {
316	status = "okay";
317	firmware-name = "qcom/sa8155p/cdsp.mdt";
318};
319
320&uart2 {
321	status = "okay";
322};
323
324&ufs_mem_hc {
325	status = "okay";
326
327	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
328
329	vcc-supply = <&vreg_l10a_2p96>;
330	vcc-max-microamp = <750000>;
331	vccq-supply = <&vreg_l5c_1p2>;
332	vccq-max-microamp = <700000>;
333	vccq2-supply = <&vreg_s4a_1p8>;
334	vccq2-max-microamp = <750000>;
335};
336
337&ufs_mem_phy {
338	status = "okay";
339
340	vdda-phy-supply = <&vreg_l8c_1p2>;
341	vdda-pll-supply = <&vreg_l5a_0p88>;
342};
343
344&usb_1 {
345	status = "okay";
346};
347
348&usb_1_dwc3 {
349	dr_mode = "host";
350
351	pinctrl-names = "default";
352	pinctrl-0 = <&usb2phy_ac_en1_default>;
353};
354
355&usb_1_hsphy {
356	status = "okay";
357	vdda-pll-supply = <&vdd_usb_hs_core>;
358	vdda33-supply = <&vdda_usb_hs_3p1>;
359	vdda18-supply = <&vdda_usb_hs_1p8>;
360};
361
362&usb_1_qmpphy {
363	status = "disabled";
364};
365
366&usb_2 {
367	status = "okay";
368};
369
370&usb_2_dwc3 {
371	dr_mode = "host";
372
373	pinctrl-names = "default";
374	pinctrl-0 = <&usb2phy_ac_en2_default>;
375};
376
377&usb_2_hsphy {
378	status = "okay";
379	vdda-pll-supply = <&vdd_usb_hs_core>;
380	vdda33-supply = <&vdda_usb_hs_3p1>;
381	vdda18-supply = <&vdda_usb_hs_1p8>;
382};
383
384&usb_2_qmpphy {
385	status = "okay";
386	vdda-phy-supply = <&vreg_l8c_1p2>;
387	vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
388};
389
390&tlmm {
391	gpio-reserved-ranges = <0 4>;
392
393	usb2phy_ac_en1_default: usb2phy_ac_en1_default {
394		mux {
395			pins = "gpio113";
396			function = "usb2phy_ac";
397			bias-disable;
398			drive-strength = <2>;
399		};
400	};
401
402	usb2phy_ac_en2_default: usb2phy_ac_en2_default {
403		mux {
404			pins = "gpio123";
405			function = "usb2phy_ac";
406			bias-disable;
407			drive-strength = <2>;
408		};
409	};
410};
411