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