blob: b9967662f7a8ed279623821908d2db23ced2c4ca [file] [log] [blame]
David Keitel84987112013-02-11 13:26:30 -08001/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
Kenneth Heitkee5804002012-11-15 17:50:07 -07002 *
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&spmi_bus {
14 #address-cells = <1>;
15 #size-cells = <0>;
16 interrupt-controller;
17 #interrupt-cells = <3>;
David Keitel84987112013-02-11 13:26:30 -080018
David Keitel4109e952013-02-07 20:22:13 -080019 qcom,pm8226@0 {
20 spmi-slave-container;
21 reg = <0x0>;
22 #address-cells = <1>;
23 #size-cells = <1>;
24
Amy Malochef8225942013-03-04 12:16:29 -080025 qcom,power-on@800 {
26 compatible = "qcom,qpnp-power-on";
27 reg = <0x800 0x100>;
28 interrupts = <0x0 0x8 0x0>,
29 <0x0 0x8 0x1>,
30 <0x0 0x8 0x4>;
31 interrupt-names = "kpdpwr", "resin", "resin-bark";
32 qcom,pon-dbc-delay = <15625>;
33 qcom,system-reset;
34
35 qcom,pon_1 {
36 qcom,pon-type = <0>;
37 qcom,pull-up = <1>;
38 linux,code = <116>;
39 };
40
41 qcom,pon_2 {
42 qcom,pon-type = <1>;
43 qcom,support-reset = <1>;
44 qcom,pull-up = <1>;
45 qcom,s1-timer = <0>;
46 qcom,s2-timer = <2000>;
47 qcom,s2-type = <1>;
48 linux,code = <114>;
49 };
50 };
51
David Keitelc51a7e52013-03-02 00:14:48 -080052 pm8226_chg: qcom,charger {
53 spmi-dev-container;
54 compatible = "qcom,qpnp-charger";
55 #address-cells = <1>;
56 #size-cells = <1>;
57 status = "disabled";
58
59 qcom,chg-vddmax-mv = <4200>;
60 qcom,chg-vddsafe-mv = <4200>;
61 qcom,chg-vinmin-mv = <4200>;
62 qcom,chg-vbatdet-mv = <4100>;
63 qcom,chg-ibatmax-ma = <1500>;
64 qcom,chg-ibatterm-ma = <200>;
65 qcom,chg-ibatsafe-ma = <1500>;
66 qcom,chg-thermal-mitigation = <1500 700 600 325>;
67
68 qcom,chg-chgr@1000 {
69 status = "disabled";
70 reg = <0x1000 0x100>;
71 interrupts = <0x0 0x10 0x0>,
72 <0x0 0x10 0x1>,
73 <0x0 0x10 0x2>,
74 <0x0 0x10 0x3>,
75 <0x0 0x10 0x4>,
76 <0x0 0x10 0x5>,
77 <0x0 0x10 0x6>,
78 <0x0 0x10 0x7>;
79
80 interrupt-names = "vbat-det-lo",
81 "vbat-det-hi",
82 "chgwdog",
83 "state-change",
84 "trkl-chg-on",
85 "fast-chg-on",
86 "chg-failed",
87 "chg-done";
88 };
89
90 qcom,chg-buck@1100 {
91 status = "disabled";
92 reg = <0x1100 0x100>;
93 interrupts = <0x0 0x11 0x0>,
94 <0x0 0x11 0x1>,
95 <0x0 0x11 0x2>,
96 <0x0 0x11 0x3>,
97 <0x0 0x11 0x4>,
98 <0x0 0x11 0x5>,
99 <0x0 0x11 0x6>;
100
101 interrupt-names = "vbat-ov",
102 "vreg-ov",
103 "overtemp",
104 "vchg-loop",
105 "ichg-loop",
106 "ibat-loop",
107 "vdd-loop";
108 };
109
110 qcom,chg-bat-if@1200 {
111 status = "disabled";
112 reg = <0x1200 0x100>;
113 interrupts = <0x0 0x12 0x0>,
114 <0x0 0x12 0x1>,
115 <0x0 0x12 0x2>,
116 <0x0 0x12 0x3>,
117 <0x0 0x12 0x4>;
118
119 interrupt-names = "batt-pres",
120 "bat-temp-ok",
121 "bat-fet-on",
122 "vcp-on",
123 "psi";
124
125 };
126
127 qcom,chg-usb-chgpth@1300 {
128 status = "disabled";
129 reg = <0x1300 0x100>;
130 interrupts = <0 0x13 0x0>,
131 <0 0x13 0x1>,
132 <0x0 0x13 0x2>;
133
134 interrupt-names = "coarse-det-usb",
135 "usbin-valid",
136 "chg-gone";
137 };
138
139 qcom,chg-boost@1500 {
140 status = "disabled";
141 reg = <0x1500 0x100>;
142 interrupts = <0x0 0x15 0x0>,
143 <0x0 0x15 0x1>;
144
145 interrupt-names = "boost-pwr-ok",
146 "limit-error";
147 };
148
149 qcom,chg-misc@1600 {
150 status = "disabled";
151 reg = <0x1600 0x100>;
152 };
153 };
154
David Keitel4109e952013-02-07 20:22:13 -0800155 pm8226_gpios: gpios {
156 spmi-dev-container;
157 compatible = "qcom,qpnp-pin";
158 gpio-controller;
159 #gpio-cells = <2>;
160 #address-cells = <1>;
161 #size-cells = <1>;
162 label = "pm8226-gpio";
163
164 gpio@c000 {
165 reg = <0xc000 0x100>;
166 qcom,pin-num = <1>;
167 };
168
169 gpio@c100 {
170 reg = <0xc100 0x100>;
171 qcom,pin-num = <2>;
172 };
173
174 gpio@c200 {
175 reg = <0xc200 0x100>;
176 qcom,pin-num = <3>;
177 };
178
179 gpio@c300 {
180 reg = <0xc300 0x100>;
181 qcom,pin-num = <4>;
182 };
183
184 gpio@c400 {
185 reg = <0xc400 0x100>;
186 qcom,pin-num = <5>;
187 };
188
189 gpio@c500 {
190 reg = <0xc500 0x100>;
191 qcom,pin-num = <6>;
192 };
193
194 gpio@c600 {
195 reg = <0xc600 0x100>;
196 qcom,pin-num = <7>;
197 };
198
199 gpio@c700 {
200 reg = <0xc700 0x100>;
201 qcom,pin-num = <8>;
202 };
203 };
204
205 pm8226_mpps: mpps {
206 spmi-dev-container;
207 compatible = "qcom,qpnp-pin";
208 gpio-controller;
209 #gpio-cells = <2>;
210 #address-cells = <1>;
211 #size-cells = <1>;
212 label = "pm8226-mpp";
213
214 mpp@a000 {
215 reg = <0xa000 0x100>;
216 qcom,pin-num = <1>;
217 };
218
219 mpp@a100 {
220 reg = <0xa100 0x100>;
221 qcom,pin-num = <2>;
222 };
223
224 mpp@a200 {
225 reg = <0xa200 0x100>;
226 qcom,pin-num = <3>;
227 };
228
229 mpp@a300 {
230 reg = <0xa300 0x100>;
231 qcom,pin-num = <4>;
232 };
233
234 mpp@a400 {
235 reg = <0xa400 0x100>;
236 qcom,pin-num = <5>;
237 };
238
239 mpp@a500 {
240 reg = <0xa500 0x100>;
241 qcom,pin-num = <6>;
242 };
243
244 mpp@a600 {
245 reg = <0xa600 0x100>;
246 qcom,pin-num = <7>;
247 };
248
249 mpp@a700 {
250 reg = <0xa700 0x100>;
251 qcom,pin-num = <8>;
252 };
253 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800254
255 pm8226_vadc: vadc@3100 {
256 compatible = "qcom,qpnp-vadc";
257 reg = <0x3100 0x100>;
258 #address-cells = <1>;
259 #size-cells = <0>;
260 interrupts = <0x0 0x31 0x0>;
261 interrupt-names = "eoc-int-en-set";
262 qcom,adc-bit-resolution = <15>;
263 qcom,adc-vdd-reference = <1800>;
264
265 chan@8 {
266 label = "die_temp";
267 reg = <8>;
268 qcom,decimation = <0>;
269 qcom,pre-div-channel-scaling = <0>;
270 qcom,calibration-type = "absolute";
271 qcom,scale-function = <3>;
272 qcom,hw-settle-time = <0>;
273 qcom,fast-avg-setup = <0>;
274 };
275
276 chan@9 {
277 label = "ref_625mv";
278 reg = <9>;
279 qcom,decimation = <0>;
280 qcom,pre-div-channel-scaling = <0>;
281 qcom,calibration-type = "absolute";
282 qcom,scale-function = <0>;
283 qcom,hw-settle-time = <0>;
284 qcom,fast-avg-setup = <0>;
285 };
286
287 chan@a {
288 label = "ref_1250v";
289 reg = <0xa>;
290 qcom,decimation = <0>;
291 qcom,pre-div-channel-scaling = <0>;
292 qcom,calibration-type = "absolute";
293 qcom,scale-function = <0>;
294 qcom,hw-settle-time = <0>;
295 qcom,fast-avg-setup = <0>;
296 };
297 };
298
299 iadc@3600 {
300 compatible = "qcom,qpnp-iadc";
301 reg = <0x3600 0x100>;
302 #address-cells = <1>;
303 #size-cells = <0>;
304 interrupts = <0x0 0x36 0x0>;
305 interrupt-names = "eoc-int-en-set";
306 qcom,adc-bit-resolution = <16>;
307 qcom,adc-vdd-reference = <1800>;
308 qcom,rsense = <1500>;
309
310 chan@0 {
311 label = "internal_rsense";
312 reg = <0>;
313 qcom,decimation = <0>;
314 qcom,pre-div-channel-scaling = <1>;
315 qcom,calibration-type = "absolute";
316 qcom,scale-function = <0>;
317 qcom,hw-settle-time = <0>;
318 qcom,fast-avg-setup = <0>;
319 };
320 };
Ashay Jaiswalc51f7e92013-03-11 10:25:58 +0530321
322 qcom,pm8226_rtc {
323 spmi-dev-container;
324 compatible = "qcom,qpnp-rtc";
325 #address-cells = <1>;
326 #size-cells = <1>;
327 qcom,qpnp-rtc-write = <0>;
328 qcom,qpnp-rtc-alarm-pwrup = <0>;
329
330 qcom,pm8226_rtc_rw@6000 {
331 reg = <0x6000 0x100>;
332 };
333 qcom,pm8226_rtc_alarm@6100 {
334 reg = <0x6100 0x100>;
335 interrupts = <0x0 0x61 0x1>;
336 };
337 };
David Keitel4109e952013-02-07 20:22:13 -0800338 };
339
David Keitel84987112013-02-11 13:26:30 -0800340 qcom,pm8226@1 {
341 spmi-slave-container;
342 reg = <0x1>;
343 #address-cells = <1>;
344 #size-cells = <1>;
345
346 regulator@1400 {
347 regulator-name = "8226_s1";
348 spmi-dev-container;
349 #address-cells = <1>;
350 #size-cells = <1>;
351 compatible = "qcom,qpnp-regulator";
352 reg = <0x1400 0x300>;
353 status = "disabled";
354
355 qcom,ctl@1400 {
356 reg = <0x1400 0x100>;
357 };
358 qcom,ps@1500 {
359 reg = <0x1500 0x100>;
360 };
361 qcom,freq@1600 {
362 reg = <0x1600 0x100>;
363 };
364 };
365
366 regulator@1700 {
367 regulator-name = "8226_s2";
368 spmi-dev-container;
369 #address-cells = <1>;
370 #size-cells = <1>;
371 compatible = "qcom,qpnp-regulator";
372 reg = <0x1700 0x300>;
373 status = "disabled";
374
375 qcom,ctl@1700 {
376 reg = <0x1700 0x100>;
377 };
378 qcom,ps@1800 {
379 reg = <0x1800 0x100>;
380 };
381 qcom,freq@1900 {
382 reg = <0x1900 0x100>;
383 };
384 };
385
386 regulator@1a00 {
387 regulator-name = "8226_s3";
388 spmi-dev-container;
389 #address-cells = <1>;
390 #size-cells = <1>;
391 compatible = "qcom,qpnp-regulator";
392 reg = <0x1a00 0x300>;
393 status = "disabled";
394
395 qcom,ctl@1a00 {
396 reg = <0x1a00 0x100>;
397 };
398 qcom,ps@1b00 {
399 reg = <0x1b00 0x100>;
400 };
401 qcom,freq@1c00 {
402 reg = <0x1c00 0x100>;
403 };
404 };
405
406 regulator@1d00 {
407 regulator-name = "8226_s4";
408 spmi-dev-container;
409 #address-cells = <1>;
410 #size-cells = <1>;
411 compatible = "qcom,qpnp-regulator";
412 reg = <0x1d00 0x300>;
413 status = "disabled";
414
415 qcom,ctl@1d00 {
416 reg = <0x1d00 0x100>;
417 };
418 qcom,ps@1e00 {
419 reg = <0x1e00 0x100>;
420 };
421 qcom,freq@1f00 {
422 reg = <0x1f00 0x100>;
423 };
424 };
425
426 regulator@2000 {
427 regulator-name = "8226_s5";
428 spmi-dev-container;
429 #address-cells = <1>;
430 #size-cells = <1>;
431 compatible = "qcom,qpnp-regulator";
432 reg = <0x2000 0x300>;
433 status = "disabled";
434
435 qcom,ctl@2000 {
436 reg = <0x2000 0x100>;
437 };
438 qcom,ps@2100 {
439 reg = <0x2100 0x100>;
440 };
441 qcom,freq@2200 {
442 reg = <0x2200 0x100>;
443 };
444 };
445
446 regulator@4000 {
447 regulator-name = "8226_l1";
448 reg = <0x4000 0x100>;
449 compatible = "qcom,qpnp-regulator";
450 status = "disabled";
451 };
452
453 regulator@4100 {
454 regulator-name = "8226_l2";
455 reg = <0x4100 0x100>;
456 compatible = "qcom,qpnp-regulator";
457 status = "disabled";
458 };
459
460 regulator@4200 {
461 regulator-name = "8226_l3";
462 reg = <0x4200 0x100>;
463 compatible = "qcom,qpnp-regulator";
464 status = "disabled";
465 };
466
467 regulator@4300 {
468 regulator-name = "8226_l4";
469 reg = <0x4300 0x100>;
470 compatible = "qcom,qpnp-regulator";
471 status = "disabled";
472 };
473
474 regulator@4400 {
475 regulator-name = "8226_l5";
476 reg = <0x4400 0x100>;
477 compatible = "qcom,qpnp-regulator";
478 status = "disabled";
479 };
480
481 regulator@4500 {
482 regulator-name = "8226_l6";
483 reg = <0x4500 0x100>;
484 compatible = "qcom,qpnp-regulator";
485 status = "disabled";
486 };
487
488 regulator@4600 {
489 regulator-name = "8226_l7";
490 reg = <0x4600 0x100>;
491 compatible = "qcom,qpnp-regulator";
492 status = "disabled";
493 };
494
495 regulator@4700 {
496 regulator-name = "8226_l8";
497 reg = <0x4700 0x100>;
498 compatible = "qcom,qpnp-regulator";
499 status = "disabled";
500 };
501
502 regulator@4800 {
503 regulator-name = "8226_l9";
504 reg = <0x4800 0x100>;
505 compatible = "qcom,qpnp-regulator";
506 status = "disabled";
507 };
508
509 regulator@4900 {
510 regulator-name = "8226_l10";
511 reg = <0x4900 0x100>;
512 compatible = "qcom,qpnp-regulator";
513 status = "disabled";
514 };
515
516 regulator@4b00 {
517 regulator-name = "8226_l12";
518 reg = <0x4b00 0x100>;
519 compatible = "qcom,qpnp-regulator";
520 status = "disabled";
521 };
522
523 regulator@4d00 {
524 regulator-name = "8226_l14";
525 reg = <0x4d00 0x100>;
526 compatible = "qcom,qpnp-regulator";
527 status = "disabled";
528 };
529
530 regulator@4e00 {
531 regulator-name = "8226_l15";
532 reg = <0x4e00 0x100>;
533 compatible = "qcom,qpnp-regulator";
534 status = "disabled";
535 };
536
537 regulator@4f00 {
538 regulator-name = "8226_l16";
539 reg = <0x4f00 0x100>;
540 compatible = "qcom,qpnp-regulator";
541 status = "disabled";
542 };
543
544 regulator@5000 {
545 regulator-name = "8226_l17";
546 reg = <0x5000 0x100>;
547 compatible = "qcom,qpnp-regulator";
548 status = "disabled";
549 };
550
551 regulator@5100 {
552 regulator-name = "8226_l18";
553 reg = <0x5100 0x100>;
554 compatible = "qcom,qpnp-regulator";
555 status = "disabled";
556 };
557
558 regulator@5200 {
559 regulator-name = "8226_l19";
560 reg = <0x5200 0x100>;
561 compatible = "qcom,qpnp-regulator";
562 status = "disabled";
563 };
564
565 regulator@5300 {
566 regulator-name = "8226_l20";
567 reg = <0x5300 0x100>;
568 compatible = "qcom,qpnp-regulator";
569 status = "disabled";
570 };
571
572 regulator@5400 {
573 regulator-name = "8226_l21";
574 reg = <0x5400 0x100>;
575 compatible = "qcom,qpnp-regulator";
576 status = "disabled";
577 };
578
579 regulator@5500 {
580 regulator-name = "8226_l22";
581 reg = <0x5500 0x100>;
582 compatible = "qcom,qpnp-regulator";
583 status = "disabled";
584 };
585
586 regulator@5600 {
587 regulator-name = "8226_l23";
588 reg = <0x5600 0x100>;
589 compatible = "qcom,qpnp-regulator";
590 status = "disabled";
591 };
592
593 regulator@5700 {
594 regulator-name = "8226_l24";
595 reg = <0x5700 0x100>;
596 compatible = "qcom,qpnp-regulator";
597 status = "disabled";
598 };
599
600 regulator@5900 {
601 regulator-name = "8226_l26";
602 reg = <0x5900 0x100>;
603 compatible = "qcom,qpnp-regulator";
604 status = "disabled";
605 };
606
607 regulator@5a00 {
608 regulator-name = "8226_l27";
609 reg = <0x5a00 0x100>;
610 compatible = "qcom,qpnp-regulator";
611 status = "disabled";
612 };
613
614 regulator@5b00 {
615 regulator-name = "8226_l28";
616 reg = <0x5b00 0x100>;
617 compatible = "qcom,qpnp-regulator";
618 status = "disabled";
619 };
620
Amy Maloched699b942013-03-03 15:47:52 -0800621 qcom,leds@d800 {
622 compatible = "qcom,leds-qpnp";
623 reg = <0xd800 0x100>;
624 label = "wled";
625 };
626
David Keitel84987112013-02-11 13:26:30 -0800627 regulator@8000 {
628 regulator-name = "8226_lvs1";
629 reg = <0x8000 0x100>;
630 compatible = "qcom,qpnp-regulator";
631 status = "disabled";
632 };
633 };
Kenneth Heitkee5804002012-11-15 17:50:07 -0700634};