blob: 0313ebdd002e892c84953b3380127f9edcaadf8c [file] [log] [blame]
Sundara Vinayagambde65ab2018-03-19 14:27:33 +05301/* Copyright (c) 2013-2015, 2018, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13/* CPR controlled regulator */
14&soc {
15 mem_acc_vreg_corner: regulator@1946000 {
16 compatible = "qcom,mem-acc-regulator";
17 reg = <0x1946000 0x4>, <0x58000 0x1000>;
18 reg-names = "acc-sel-l1", "efuse_addr";
19 regulator-name = "mem_acc_corner";
20 regulator-min-microvolt = <1>;
21 regulator-max-microvolt = <3>;
22
23 qcom,acc-sel-l1-bit-pos = <0>;
24 qcom,acc-sel-l1-bit-size = <9>;
25 qcom,corner-acc-map = <0x0 0x100 0x101>;
26
27 qcom,override-acc-fuse-sel = <0 52 1 1 0>;
28 qcom,override-corner-acc-map = <0x0 0x100 0x100>;
29 };
30
31 apc_vreg_corner: regulator@b018000 {
32 compatible = "qcom,cpr-regulator";
33 reg = <0xb018000 0x1000>, <0xb011064 0x4>, <0x58000 0x1000>;
34 reg-names = "rbcpr", "rbcpr_clk", "efuse_addr";
35 interrupts = <0 15 0>;
36 regulator-name = "apc_corner";
37 qcom,cpr-fuse-corners = <3>;
38 regulator-min-microvolt = <1>;
39 regulator-max-microvolt = <9>;
40
41 qcom,cpr-voltage-ceiling = <1050000 1150000 1350000>;
42 qcom,cpr-voltage-floor = <1050000 1050000 1162500>;
43 vdd-apc-supply = <&pm8916_s2>;
44
45 qcom,vdd-mx-corner-map = <4 5 7>;
46 qcom,vdd-mx-vmin-method = <4>;
47 vdd-mx-supply = <&pm8916_l3_corner_ao>;
48 qcom,vdd-mx-vmax = <7>;
49
50 mem-acc-supply = <&mem_acc_vreg_corner>;
51
52 qcom,cpr-ref-clk = <19200>;
53 qcom,cpr-timer-delay = <5000>;
54 qcom,cpr-timer-cons-up = <0>;
55 qcom,cpr-timer-cons-down = <2>;
56 qcom,cpr-irq-line = <0>;
57 qcom,cpr-step-quotient = <26>;
58 qcom,cpr-up-threshold = <0>;
59 qcom,cpr-down-threshold = <2>;
60 qcom,cpr-idle-clocks = <15>;
61 qcom,cpr-gcnt-time = <1>;
62 qcom,vdd-apc-step-up-limit = <1>;
63 qcom,vdd-apc-step-down-limit = <1>;
64 qcom,cpr-apc-volt-step = <12500>;
65
66 qcom,cpr-fuse-row = <27 0>;
67 qcom,cpr-fuse-target-quot = <42 24 6>;
68 qcom,cpr-fuse-ro-sel = <54 54 54>;
69 qcom,cpr-fuse-bp-cpr-disable = <57>;
70 qcom,cpr-fuse-init-voltage =
71 <27 36 6 0>,
72 <27 18 6 0>,
73 <27 0 6 0>;
74 qcom,cpr-init-voltage-ref = <1050000 1150000 1350000>;
75 qcom,cpr-init-voltage-step = <10000>;
76 qcom,cpr-corner-map = <1 1 2 2 3 3 3 3 3>;
77 qcom,cpr-corner-frequency-map =
78 <1 200000000>,
79 <2 400000000>,
80 <3 533330000>,
81 <4 800000000>,
82 <5 998400000>,
83 <6 1094400000>,
84 <7 1152000000>,
85 <8 1209600000>,
86 <9 1363200000>;
87 qcom,speed-bin-fuse-sel = <1 34 3 0>;
88 qcom,pvs-version-fuse-sel = <0 55 2 0>;
89 qcom,cpr-speed-bin-max-corners =
90 <0 0 2 4 8>,
91 <0 1 2 4 7>,
92 <2 0 2 4 9>,
93 <3 0 2 4 5>,
94 <3 1 2 4 5>;
95 qcom,cpr-quot-adjust-scaling-factor-max = <650>;
96 qcom,cpr-enable;
97 };
98};
99
100/* SPM controlled regulators */
101&spmi_bus {
102 pm8916@1 {
103 pm8916_s2: spm-regulator@1700 {
104 compatible = "qcom,spm-regulator";
105 regulator-name = "8916_s2";
106 reg = <0x1700 0x100>;
107 regulator-min-microvolt = <1050000>;
108 regulator-max-microvolt = <1350000>;
109 };
110 };
111};
112
113/* RPM controlled regulators */
114&rpm_bus {
115
116 /* PM8916 S1 VDD_CX supply */
117 rpm-regulator-smpa1 {
118 status = "okay";
119 pm8916_s1_corner: regulator-s1-corner {
120 compatible = "qcom,rpm-smd-regulator";
121 regulator-name = "8916_s1_corner";
122 qcom,set = <3>;
123 regulator-min-microvolt = <1>;
124 regulator-max-microvolt = <7>;
125 qcom,use-voltage-corner;
126 };
127 pm8916_s1_corner_ao: regulator-s1-corner-ao {
128 compatible = "qcom,rpm-smd-regulator";
129 regulator-name = "8916_s1_corner_ao";
130 qcom,set = <1>;
131 regulator-min-microvolt = <1>;
132 regulator-max-microvolt = <7>;
133 qcom,use-voltage-corner;
134 };
135 pm8916_s1_floor_corner: regulator-s1-floor-corner {
136 compatible = "qcom,rpm-smd-regulator";
137 regulator-name = "8916_s1_floor_corner";
138 qcom,set = <3>;
139 regulator-min-microvolt = <1>;
140 regulator-max-microvolt = <7>;
141 qcom,use-voltage-floor-corner;
142 qcom,always-send-voltage;
143 };
144 };
145
146 rpm-regulator-smpa3 {
147 status = "okay";
148 pm8916_s3: regulator-s3 {
149 regulator-min-microvolt = <1200000>;
150 regulator-max-microvolt = <1300000>;
151 qcom,init-voltage = <1200000>;
152 status = "okay";
153 };
154 };
155
156 rpm-regulator-smpa4 {
157 status = "okay";
158 pm8916_s4: regulator-s4 {
159 regulator-min-microvolt = <1800000>;
160 regulator-max-microvolt = <2100000>;
161 qcom,init-voltage = <1800000>;
162 status = "okay";
163 };
164 };
165
166 rpm-regulator-ldoa1 {
167 status = "okay";
168 pm8916_l1: regulator-l1 {
169 regulator-min-microvolt = <1225000>;
170 regulator-max-microvolt = <1225000>;
171 qcom,init-voltage = <1225000>;
172 status = "okay";
173 };
174 };
175
176 rpm-regulator-ldoa2 {
177 status = "okay";
178 pm8916_l2: regulator-l2 {
179 regulator-min-microvolt = <1200000>;
180 regulator-max-microvolt = <1200000>;
181 qcom,init-voltage = <1200000>;
182 status = "okay";
183 };
184 };
185
186 /* PM8916 L3 VDD_MX supply */
187 rpm-regulator-ldoa3 {
188 status = "okay";
189 pm8916_l3: regulator-l3 {
190 regulator-min-microvolt = <500000>;
191 regulator-max-microvolt = <1287500>;
192 status = "okay";
193 };
194
195 pm8916_l3_corner_ao: regulator-l3-corner-ao {
196 compatible = "qcom,rpm-smd-regulator";
197 regulator-name = "8916_l3_corner_ao";
198 qcom,set = <1>;
199 regulator-min-microvolt = <1>;
200 regulator-max-microvolt = <7>;
201 qcom,use-voltage-corner;
202 };
203
204 pm8916_l3_corner_so: regulator-l3-corner-so {
205 compatible = "qcom,rpm-smd-regulator";
206 regulator-name = "8916_l3_corner_so";
207 qcom,set = <2>;
208 regulator-min-microvolt = <1>;
209 regulator-max-microvolt = <7>;
210 qcom,use-voltage-corner;
211 qcom,init-voltage = <1>;
212 };
213 };
214
215 rpm-regulator-ldoa4 {
216 status = "okay";
217 pm8916_l4: regulator-l4 {
218 regulator-min-microvolt = <2050000>;
219 regulator-max-microvolt = <2050000>;
220 qcom,init-voltage = <2050000>;
221 status = "okay";
222 };
223 };
224
225 rpm-regulator-ldoa5 {
226 status = "okay";
227 pm8916_l5: regulator-l5 {
228 regulator-min-microvolt = <1800000>;
229 regulator-max-microvolt = <1800000>;
230 qcom,init-voltage = <1800000>;
231 status = "okay";
232 };
233 };
234
235 rpm-regulator-ldoa6 {
236 status = "okay";
237 pm8916_l6: regulator-l6 {
238 regulator-min-microvolt = <1800000>;
239 regulator-max-microvolt = <1800000>;
240 qcom,init-voltage = <1800000>;
241 status = "okay";
242 };
243 };
244
245 rpm-regulator-ldoa7 {
246 status = "okay";
247 pm8916_l7: regulator-l7 {
248 regulator-min-microvolt = <1800000>;
249 regulator-max-microvolt = <1800000>;
250 qcom,init-voltage = <1800000>;
251 status = "okay";
252 };
253
254 pm8916_l7_ao: regulator-l7-ao {
255 compatible = "qcom,rpm-smd-regulator";
256 regulator-name = "8916_l7_ao";
257 qcom,set = <1>;
258 regulator-min-microvolt = <1800000>;
259 regulator-max-microvolt = <1800000>;
260 qcom,init-voltage = <1800000>;
261 };
262
263 pm8916_l7_so: regulator-l7-so {
264 compatible = "qcom,rpm-smd-regulator";
265 regulator-name = "8916_l7_so";
266 qcom,set = <2>;
267 regulator-min-microvolt = <1800000>;
268 regulator-max-microvolt = <1800000>;
269 qcom,init-enable = <0>;
270 };
271 };
272
273 rpm-regulator-ldoa8 {
274 status = "okay";
275 pm8916_l8: regulator-l8 {
276 regulator-min-microvolt = <2850000>;
277 regulator-max-microvolt = <2900000>;
278 qcom,init-voltage = <2850000>;
279 status = "okay";
280 };
281 };
282
283 rpm-regulator-ldoa9 {
284 status = "okay";
285 pm8916_l9: regulator-l9 {
286 regulator-min-microvolt = <3300000>;
287 regulator-max-microvolt = <3300000>;
288 qcom,init-voltage = <3300000>;
289 status = "okay";
290 };
291 };
292
293 rpm-regulator-ldoa10 {
294 status = "okay";
295 pm8916_l10: regulator-l10 {
296 regulator-min-microvolt = <2700000>;
297 regulator-max-microvolt = <2800000>;
298 qcom,init-voltage = <2700000>;
299 status = "okay";
300 };
301 };
302
303 rpm-regulator-ldoa11 {
304 status = "okay";
305 pm8916_l11: regulator-l11 {
306 regulator-min-microvolt = <1800000>;
307 regulator-max-microvolt = <2950000>;
308 qcom,init-voltage = <1800000>;
309 status = "okay";
310 };
311 };
312
313 rpm-regulator-ldoa12 {
314 status = "okay";
315 pm8916_l12: regulator-l12 {
316 regulator-min-microvolt = <1800000>;
317 regulator-max-microvolt = <2950000>;
318 qcom,init-voltage = <1800000>;
319 status = "okay";
320 };
321 };
322
323 rpm-regulator-ldoa13 {
324 status = "okay";
325 pm8916_l13: regulator-l13 {
326 regulator-min-microvolt = <3075000>;
327 regulator-max-microvolt = <3075000>;
328 qcom,init-voltage = <3075000>;
329 status = "okay";
330 };
331 };
332
333 rpm-regulator-ldoa14 {
334 status = "okay";
335 pm8916_l14: regulator-l14 {
336 regulator-min-microvolt = <1800000>;
337 regulator-max-microvolt = <3300000>;
338 qcom,init-voltage = <1800000>;
339 status = "okay";
340 };
341 };
342
343 rpm-regulator-ldoa15 {
344 status = "okay";
345 pm8916_l15: regulator-l15 {
346 regulator-min-microvolt = <1800000>;
347 regulator-max-microvolt = <3300000>;
348 qcom,init-voltage = <1800000>;
349 status = "okay";
350 };
351 };
352
353 rpm-regulator-ldoa16 {
354 status = "okay";
355 pm8916_l16: regulator-l16 {
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <3300000>;
358 qcom,init-voltage = <1800000>;
359 status = "okay";
360 };
361 };
362
363 rpm-regulator-ldoa17 {
364 status = "okay";
365 pm8916_l17: regulator-l17 {
366 regulator-min-microvolt = <2850000>;
367 regulator-max-microvolt = <2850000>;
368 qcom,init-voltage = <2850000>;
369 status = "okay";
370 };
371 };
372
373 rpm-regulator-ldoa18 {
374 status = "okay";
375 pm8916_l18: regulator-l18 {
376 regulator-min-microvolt = <2700000>;
377 regulator-max-microvolt = <2700000>;
378 qcom,init-voltage = <2700000>;
379 status = "okay";
380 };
381 };
382};