blob: 7c3e932e52d8dc54520440629fe076d3c40bc23d [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 };
Arulpandiyan Vadivel638c13e2018-06-14 13:16:56 +0530144 pm8916_cx_cdev: regulator-cx-cdev {
145 compatible = "qcom,regulator-cooling-device";
146 regulator-cdev-supply = <&pm8916_s1_floor_corner>;
147 regulator-levels = <5 1>;
148 #cooling-cells = <2>;
149 };
Sundara Vinayagambde65ab2018-03-19 14:27:33 +0530150 };
151
152 rpm-regulator-smpa3 {
153 status = "okay";
154 pm8916_s3: regulator-s3 {
155 regulator-min-microvolt = <1200000>;
156 regulator-max-microvolt = <1300000>;
157 qcom,init-voltage = <1200000>;
158 status = "okay";
159 };
160 };
161
162 rpm-regulator-smpa4 {
163 status = "okay";
164 pm8916_s4: regulator-s4 {
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <2100000>;
167 qcom,init-voltage = <1800000>;
168 status = "okay";
169 };
170 };
171
172 rpm-regulator-ldoa1 {
173 status = "okay";
174 pm8916_l1: regulator-l1 {
175 regulator-min-microvolt = <1225000>;
176 regulator-max-microvolt = <1225000>;
177 qcom,init-voltage = <1225000>;
178 status = "okay";
179 };
180 };
181
182 rpm-regulator-ldoa2 {
183 status = "okay";
184 pm8916_l2: regulator-l2 {
185 regulator-min-microvolt = <1200000>;
186 regulator-max-microvolt = <1200000>;
187 qcom,init-voltage = <1200000>;
188 status = "okay";
189 };
190 };
191
192 /* PM8916 L3 VDD_MX supply */
193 rpm-regulator-ldoa3 {
194 status = "okay";
195 pm8916_l3: regulator-l3 {
196 regulator-min-microvolt = <500000>;
197 regulator-max-microvolt = <1287500>;
198 status = "okay";
199 };
200
201 pm8916_l3_corner_ao: regulator-l3-corner-ao {
202 compatible = "qcom,rpm-smd-regulator";
203 regulator-name = "8916_l3_corner_ao";
204 qcom,set = <1>;
205 regulator-min-microvolt = <1>;
206 regulator-max-microvolt = <7>;
207 qcom,use-voltage-corner;
208 };
209
210 pm8916_l3_corner_so: regulator-l3-corner-so {
211 compatible = "qcom,rpm-smd-regulator";
212 regulator-name = "8916_l3_corner_so";
213 qcom,set = <2>;
214 regulator-min-microvolt = <1>;
215 regulator-max-microvolt = <7>;
216 qcom,use-voltage-corner;
Tirupathi Reddyde642342018-07-26 10:47:22 +0530217 qcom,init-voltage-corner = <1>;
Sundara Vinayagambde65ab2018-03-19 14:27:33 +0530218 };
219 };
220
221 rpm-regulator-ldoa4 {
222 status = "okay";
223 pm8916_l4: regulator-l4 {
224 regulator-min-microvolt = <2050000>;
225 regulator-max-microvolt = <2050000>;
226 qcom,init-voltage = <2050000>;
227 status = "okay";
228 };
229 };
230
231 rpm-regulator-ldoa5 {
232 status = "okay";
233 pm8916_l5: regulator-l5 {
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 qcom,init-voltage = <1800000>;
237 status = "okay";
238 };
239 };
240
241 rpm-regulator-ldoa6 {
242 status = "okay";
243 pm8916_l6: regulator-l6 {
244 regulator-min-microvolt = <1800000>;
245 regulator-max-microvolt = <1800000>;
246 qcom,init-voltage = <1800000>;
247 status = "okay";
248 };
249 };
250
251 rpm-regulator-ldoa7 {
252 status = "okay";
253 pm8916_l7: regulator-l7 {
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
256 qcom,init-voltage = <1800000>;
257 status = "okay";
258 };
259
260 pm8916_l7_ao: regulator-l7-ao {
261 compatible = "qcom,rpm-smd-regulator";
262 regulator-name = "8916_l7_ao";
263 qcom,set = <1>;
264 regulator-min-microvolt = <1800000>;
265 regulator-max-microvolt = <1800000>;
266 qcom,init-voltage = <1800000>;
267 };
268
269 pm8916_l7_so: regulator-l7-so {
270 compatible = "qcom,rpm-smd-regulator";
271 regulator-name = "8916_l7_so";
272 qcom,set = <2>;
273 regulator-min-microvolt = <1800000>;
274 regulator-max-microvolt = <1800000>;
275 qcom,init-enable = <0>;
276 };
277 };
278
279 rpm-regulator-ldoa8 {
280 status = "okay";
281 pm8916_l8: regulator-l8 {
282 regulator-min-microvolt = <2850000>;
283 regulator-max-microvolt = <2900000>;
284 qcom,init-voltage = <2850000>;
285 status = "okay";
286 };
287 };
288
289 rpm-regulator-ldoa9 {
290 status = "okay";
291 pm8916_l9: regulator-l9 {
292 regulator-min-microvolt = <3300000>;
293 regulator-max-microvolt = <3300000>;
294 qcom,init-voltage = <3300000>;
295 status = "okay";
296 };
297 };
298
299 rpm-regulator-ldoa10 {
300 status = "okay";
301 pm8916_l10: regulator-l10 {
302 regulator-min-microvolt = <2700000>;
303 regulator-max-microvolt = <2800000>;
304 qcom,init-voltage = <2700000>;
305 status = "okay";
306 };
307 };
308
309 rpm-regulator-ldoa11 {
310 status = "okay";
311 pm8916_l11: regulator-l11 {
312 regulator-min-microvolt = <1800000>;
313 regulator-max-microvolt = <2950000>;
314 qcom,init-voltage = <1800000>;
315 status = "okay";
316 };
317 };
318
319 rpm-regulator-ldoa12 {
320 status = "okay";
321 pm8916_l12: regulator-l12 {
322 regulator-min-microvolt = <1800000>;
323 regulator-max-microvolt = <2950000>;
324 qcom,init-voltage = <1800000>;
325 status = "okay";
326 };
327 };
328
329 rpm-regulator-ldoa13 {
330 status = "okay";
331 pm8916_l13: regulator-l13 {
332 regulator-min-microvolt = <3075000>;
333 regulator-max-microvolt = <3075000>;
334 qcom,init-voltage = <3075000>;
335 status = "okay";
336 };
337 };
338
339 rpm-regulator-ldoa14 {
340 status = "okay";
341 pm8916_l14: regulator-l14 {
342 regulator-min-microvolt = <1800000>;
343 regulator-max-microvolt = <3300000>;
344 qcom,init-voltage = <1800000>;
345 status = "okay";
346 };
347 };
348
349 rpm-regulator-ldoa15 {
350 status = "okay";
351 pm8916_l15: regulator-l15 {
352 regulator-min-microvolt = <1800000>;
353 regulator-max-microvolt = <3300000>;
354 qcom,init-voltage = <1800000>;
355 status = "okay";
356 };
357 };
358
359 rpm-regulator-ldoa16 {
360 status = "okay";
361 pm8916_l16: regulator-l16 {
362 regulator-min-microvolt = <1800000>;
363 regulator-max-microvolt = <3300000>;
364 qcom,init-voltage = <1800000>;
365 status = "okay";
366 };
367 };
368
369 rpm-regulator-ldoa17 {
370 status = "okay";
371 pm8916_l17: regulator-l17 {
372 regulator-min-microvolt = <2850000>;
373 regulator-max-microvolt = <2850000>;
374 qcom,init-voltage = <2850000>;
375 status = "okay";
376 };
377 };
378
379 rpm-regulator-ldoa18 {
380 status = "okay";
381 pm8916_l18: regulator-l18 {
382 regulator-min-microvolt = <2700000>;
383 regulator-max-microvolt = <2700000>;
384 qcom,init-voltage = <2700000>;
385 status = "okay";
386 };
387 };
388};