blob: 41897da763a5eeeb333655312da116f3e02d703e [file] [log] [blame]
Siddartha Mohanadoss18c4b9f2014-01-23 16:13:31 -08001/* Copyright (c) 2012-2014, 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
Abhijeet Dharmapurikare7497002013-07-29 11:25:37 -070025 pm8226_revid: qcom,revid@100 {
Xiaozhe Shia0e6c232013-03-06 15:22:05 -080026 compatible = "qcom,qpnp-revid";
27 reg = <0x100 0x100>;
28 };
29
Amy Malochef8225942013-03-04 12:16:29 -080030 qcom,power-on@800 {
31 compatible = "qcom,qpnp-power-on";
32 reg = <0x800 0x100>;
33 interrupts = <0x0 0x8 0x0>,
34 <0x0 0x8 0x1>,
Amy Maloche442667a2013-06-27 14:11:06 -070035 <0x0 0x8 0x4>,
36 <0x0 0x8 0x5>;
37 interrupt-names = "kpdpwr", "resin",
38 "resin-bark", "kpdpwr-resin-bark";
Amy Malochef8225942013-03-04 12:16:29 -080039 qcom,pon-dbc-delay = <15625>;
40 qcom,system-reset;
Amy Maloche442667a2013-06-27 14:11:06 -070041 qcom,s3-debounce = <32>;
Mohan Pallaka0cdf17b2014-02-10 17:16:51 -080042 qcom,s3-src = "kpdpwr-and-resin";
Amy Malochef8225942013-03-04 12:16:29 -080043
44 qcom,pon_1 {
45 qcom,pon-type = <0>;
46 qcom,pull-up = <1>;
47 linux,code = <116>;
48 };
49
50 qcom,pon_2 {
51 qcom,pon-type = <1>;
Amy Malochef8225942013-03-04 12:16:29 -080052 qcom,pull-up = <1>;
Amy Malochef8225942013-03-04 12:16:29 -080053 linux,code = <114>;
54 };
Amy Maloche442667a2013-06-27 14:11:06 -070055
56 qcom,pon_3 {
57 qcom,pon-type = <3>;
58 qcom,support-reset = <1>;
59 qcom,pull-up = <1>;
60 qcom,s1-timer = <6720>;
61 qcom,s2-timer = <2000>;
62 qcom,s2-type = <7>;
Mohan Pallaka7d7eb3e2013-09-24 16:56:27 +053063 qcom,use-bark;
Amy Maloche442667a2013-06-27 14:11:06 -070064 };
Amy Malochef8225942013-03-04 12:16:29 -080065 };
66
David Keitelc51a7e52013-03-02 00:14:48 -080067 pm8226_chg: qcom,charger {
68 spmi-dev-container;
69 compatible = "qcom,qpnp-charger";
70 #address-cells = <1>;
71 #size-cells = <1>;
72 status = "disabled";
73
David Keitele89d4782013-03-27 11:29:59 -070074 qcom,vddmax-mv = <4200>;
Xiaozhe Shi22aa0cd2013-05-28 10:45:12 -070075 qcom,vddsafe-mv = <4230>;
Xiaozhe Shi555dffd2013-07-25 17:21:10 -070076 qcom,vinmin-mv = <4300>;
Xiaozhe Shic220bf82013-07-25 17:15:57 -070077 qcom,vbatdet-delta-mv = <100>;
David Keitele89d4782013-03-27 11:29:59 -070078 qcom,ibatmax-ma = <1500>;
David Keitel9fd07382013-05-02 15:37:44 -070079 qcom,ibatterm-ma = <100>;
David Keitele89d4782013-03-27 11:29:59 -070080 qcom,ibatsafe-ma = <1500>;
81 qcom,thermal-mitigation = <1500 700 600 325>;
Xiaozhe Shi1acc0922013-07-12 10:55:21 -070082 qcom,resume-soc = <99>;
David Keitelb0b63632013-03-27 15:17:33 -070083 qcom,tchg-mins = <150>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -070084 qcom,chg-vadc = <&pm8226_vadc>;
Siddartha Mohanadoss88a3fde2013-06-24 16:18:52 -070085 qcom,chg-adc_tm = <&pm8226_adc_tm>;
Abhijeet Dharmapurikare7497002013-07-29 11:25:37 -070086 qcom,pmic-revid = <&pm8226_revid>;
David Keitel5dd5df82013-07-29 17:28:39 -070087 qcom,ibatmax-warm-ma = <350>;
88 qcom,warm-bat-decidegc = <450>;
89 qcom,warm-bat-mv = <4100>;
90 qcom,cool-bat-decidegc = <100>;
91 qcom,cool-bat-mv = <4100>;
92 qcom,ibatmax-cool-ma = <350>;
David Keitelc51a7e52013-03-02 00:14:48 -080093
David Keitele89d4782013-03-27 11:29:59 -070094 qcom,chgr@1000 {
David Keitelc51a7e52013-03-02 00:14:48 -080095 status = "disabled";
96 reg = <0x1000 0x100>;
97 interrupts = <0x0 0x10 0x0>,
98 <0x0 0x10 0x1>,
99 <0x0 0x10 0x2>,
100 <0x0 0x10 0x3>,
101 <0x0 0x10 0x4>,
102 <0x0 0x10 0x5>,
103 <0x0 0x10 0x6>,
104 <0x0 0x10 0x7>;
105
106 interrupt-names = "vbat-det-lo",
107 "vbat-det-hi",
108 "chgwdog",
109 "state-change",
110 "trkl-chg-on",
111 "fast-chg-on",
112 "chg-failed",
113 "chg-done";
114 };
115
David Keitele89d4782013-03-27 11:29:59 -0700116 qcom,buck@1100 {
David Keitelc51a7e52013-03-02 00:14:48 -0800117 status = "disabled";
118 reg = <0x1100 0x100>;
119 interrupts = <0x0 0x11 0x0>,
120 <0x0 0x11 0x1>,
121 <0x0 0x11 0x2>,
122 <0x0 0x11 0x3>,
123 <0x0 0x11 0x4>,
124 <0x0 0x11 0x5>,
125 <0x0 0x11 0x6>;
126
127 interrupt-names = "vbat-ov",
128 "vreg-ov",
129 "overtemp",
130 "vchg-loop",
131 "ichg-loop",
132 "ibat-loop",
133 "vdd-loop";
134 };
135
Abhijeet Dharmapurikar6ba90762013-08-05 12:50:21 -0700136 pm8226_chg_batif: qcom,bat-if@1200 {
David Keitelc51a7e52013-03-02 00:14:48 -0800137 status = "disabled";
138 reg = <0x1200 0x100>;
139 interrupts = <0x0 0x12 0x0>,
140 <0x0 0x12 0x1>,
141 <0x0 0x12 0x2>,
142 <0x0 0x12 0x3>,
143 <0x0 0x12 0x4>;
144
145 interrupt-names = "batt-pres",
146 "bat-temp-ok",
147 "bat-fet-on",
148 "vcp-on",
149 "psi";
David Keitelc51a7e52013-03-02 00:14:48 -0800150 };
151
David Keitel3bdfa5d2013-07-10 17:36:07 -0700152 pm8226_chg_boost: qcom,boost@1500 {
153 status = "disabled";
154 reg = <0x1500 0x100>;
155 interrupts = <0x0 0x15 0x0>,
156 <0x0 0x15 0x1>;
157
158 interrupt-names = "boost-pwr-ok",
159 "limit-error";
160 };
161
162
David Keitel55aa28c2013-05-22 05:24:47 -0700163 pm8226_chg_otg: qcom,usb-chgpth@1300 {
David Keitelc51a7e52013-03-02 00:14:48 -0800164 status = "disabled";
165 reg = <0x1300 0x100>;
166 interrupts = <0 0x13 0x0>,
167 <0 0x13 0x1>,
David Keitel0b62bdd2013-07-10 17:30:51 -0700168 <0x0 0x13 0x2>,
169 <0x0 0x13 0x3>;
David Keitelc51a7e52013-03-02 00:14:48 -0800170
171 interrupt-names = "coarse-det-usb",
172 "usbin-valid",
David Keitel0b62bdd2013-07-10 17:30:51 -0700173 "chg-gone",
174 "usb-ocp";
David Keitelc51a7e52013-03-02 00:14:48 -0800175 };
176
David Keitelc51a7e52013-03-02 00:14:48 -0800177 qcom,chg-misc@1600 {
178 status = "disabled";
179 reg = <0x1600 0x100>;
180 };
181 };
182
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700183 pm8226_bms: qcom,bms {
184 spmi-dev-container;
185 compatible = "qcom,qpnp-bms";
186 #address-cells = <1>;
187 #size-cells = <1>;
188 status = "disabled";
189
190 qcom,r-sense-uohm = <10000>;
191 qcom,v-cutoff-uv = <3400000>;
192 qcom,max-voltage-uv = <4200000>;
Xiaozhe Shie0da4c72013-04-02 10:43:55 -0700193 qcom,r-conn-mohm = <0>;
Xiaozhe Shi8e1fe4c2013-09-11 10:53:59 -0700194 qcom,shutdown-soc-valid-limit = <100>;
Xiaozhe Shi561ebf72013-03-25 13:51:27 -0700195 qcom,adjust-soc-low-threshold = <15>;
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700196 qcom,ocv-voltage-high-threshold-uv = <3750000>;
197 qcom,ocv-voltage-low-threshold-uv = <3650000>;
198 qcom,low-soc-calculate-soc-threshold = <15>;
Xiaozhe Shicb487b12013-10-14 17:42:07 -0700199 qcom,low-voltage-calculate-soc-ms = <1000>;
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700200 qcom,low-soc-calculate-soc-ms = <5000>;
201 qcom,calculate-soc-ms = <20000>;
202 qcom,chg-term-ua = <100000>;
203 qcom,batt-type = <0>;
Xiaozhe Shi535494d2013-04-05 12:27:51 -0700204 qcom,tm-temp-margin = <5000>;
Xiaozhe Shi0ac7a002013-03-26 13:14:03 -0700205 qcom,low-ocv-correction-limit-uv = <100>;
Xiaozhe Shi4b7d0d22013-11-11 10:29:11 -0800206 qcom,high-ocv-correction-limit-uv = <250>;
Xiaozhe Shi0ac7a002013-03-26 13:14:03 -0700207 qcom,hold-soc-est = <3>;
Xiaozhe Shi33988df2013-04-03 10:37:56 -0700208 qcom,low-voltage-threshold = <3420000>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700209 qcom,bms-vadc = <&pm8226_vadc>;
Siddartha Mohanadoss55d0bca2013-06-24 08:29:34 -0700210 qcom,bms-iadc = <&pm8226_iadc>;
Siddartha Mohanadoss88a3fde2013-06-24 16:18:52 -0700211 qcom,bms-adc_tm = <&pm8226_adc_tm>;
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700212
213 qcom,bms-iadc@3800 {
214 reg = <0x3800 0x100>;
215 };
216
217 qcom,bms-bms@4000 {
218 reg = <0x4000 0x100>;
219 interrupts = <0x0 0x40 0x0>,
220 <0x0 0x40 0x1>,
221 <0x0 0x40 0x2>,
222 <0x0 0x40 0x3>,
223 <0x0 0x40 0x4>,
224 <0x0 0x40 0x5>,
225 <0x0 0x40 0x6>,
226 <0x0 0x40 0x7>;
227
Xiaozhe Shic4c04ee2013-07-29 10:41:48 -0700228 interrupt-names = "cc_thr",
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700229 "ocv_for_r",
Xiaozhe Shic4c04ee2013-07-29 10:41:48 -0700230 "good_ocv",
231 "charge_begin",
232 "ocv_thr",
233 "sw_cc_thr",
234 "vsense_avg",
235 "vsense_for_r";
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700236 };
237 };
238
Amy Malochef92d79c2013-04-22 11:55:05 -0700239 qcom,leds@a100 {
240 compatible = "qcom,leds-qpnp";
241 reg = <0xa100 0x100>;
242 label = "mpp";
243 };
244
Amy Maloche95ee2ab2013-04-22 11:50:26 -0700245 qcom,leds@a300 {
246 compatible = "qcom,leds-qpnp";
247 reg = <0xa300 0x100>;
248 label = "mpp";
249 };
250
251 qcom,leds@a500 {
252 compatible = "qcom,leds-qpnp";
253 reg = <0xa500 0x100>;
254 label = "mpp";
255 };
256
David Keitel4109e952013-02-07 20:22:13 -0800257 pm8226_gpios: gpios {
258 spmi-dev-container;
259 compatible = "qcom,qpnp-pin";
260 gpio-controller;
261 #gpio-cells = <2>;
262 #address-cells = <1>;
263 #size-cells = <1>;
264 label = "pm8226-gpio";
265
266 gpio@c000 {
267 reg = <0xc000 0x100>;
268 qcom,pin-num = <1>;
269 };
270
271 gpio@c100 {
272 reg = <0xc100 0x100>;
273 qcom,pin-num = <2>;
274 };
275
276 gpio@c200 {
277 reg = <0xc200 0x100>;
278 qcom,pin-num = <3>;
279 };
280
281 gpio@c300 {
282 reg = <0xc300 0x100>;
283 qcom,pin-num = <4>;
284 };
285
286 gpio@c400 {
287 reg = <0xc400 0x100>;
288 qcom,pin-num = <5>;
289 };
290
291 gpio@c500 {
292 reg = <0xc500 0x100>;
293 qcom,pin-num = <6>;
294 };
295
296 gpio@c600 {
297 reg = <0xc600 0x100>;
298 qcom,pin-num = <7>;
299 };
300
301 gpio@c700 {
302 reg = <0xc700 0x100>;
303 qcom,pin-num = <8>;
304 };
305 };
306
307 pm8226_mpps: mpps {
308 spmi-dev-container;
309 compatible = "qcom,qpnp-pin";
310 gpio-controller;
311 #gpio-cells = <2>;
312 #address-cells = <1>;
313 #size-cells = <1>;
314 label = "pm8226-mpp";
315
316 mpp@a000 {
317 reg = <0xa000 0x100>;
318 qcom,pin-num = <1>;
319 };
320
321 mpp@a100 {
322 reg = <0xa100 0x100>;
323 qcom,pin-num = <2>;
324 };
325
326 mpp@a200 {
327 reg = <0xa200 0x100>;
328 qcom,pin-num = <3>;
329 };
330
331 mpp@a300 {
332 reg = <0xa300 0x100>;
333 qcom,pin-num = <4>;
334 };
335
336 mpp@a400 {
337 reg = <0xa400 0x100>;
338 qcom,pin-num = <5>;
339 };
340
341 mpp@a500 {
342 reg = <0xa500 0x100>;
343 qcom,pin-num = <6>;
344 };
345
346 mpp@a600 {
347 reg = <0xa600 0x100>;
348 qcom,pin-num = <7>;
349 };
350
351 mpp@a700 {
352 reg = <0xa700 0x100>;
353 qcom,pin-num = <8>;
354 };
355 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800356
357 pm8226_vadc: vadc@3100 {
358 compatible = "qcom,qpnp-vadc";
359 reg = <0x3100 0x100>;
360 #address-cells = <1>;
361 #size-cells = <0>;
362 interrupts = <0x0 0x31 0x0>;
363 interrupt-names = "eoc-int-en-set";
364 qcom,adc-bit-resolution = <15>;
365 qcom,adc-vdd-reference = <1800>;
Siddartha Mohanadossa0511e12013-08-01 10:53:52 -0700366 qcom,vadc-poll-eoc;
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800367
368 chan@8 {
369 label = "die_temp";
370 reg = <8>;
371 qcom,decimation = <0>;
372 qcom,pre-div-channel-scaling = <0>;
373 qcom,calibration-type = "absolute";
374 qcom,scale-function = <3>;
375 qcom,hw-settle-time = <0>;
376 qcom,fast-avg-setup = <0>;
377 };
378
379 chan@9 {
380 label = "ref_625mv";
381 reg = <9>;
382 qcom,decimation = <0>;
383 qcom,pre-div-channel-scaling = <0>;
384 qcom,calibration-type = "absolute";
385 qcom,scale-function = <0>;
386 qcom,hw-settle-time = <0>;
387 qcom,fast-avg-setup = <0>;
388 };
389
390 chan@a {
391 label = "ref_1250v";
392 reg = <0xa>;
393 qcom,decimation = <0>;
394 qcom,pre-div-channel-scaling = <0>;
395 qcom,calibration-type = "absolute";
396 qcom,scale-function = <0>;
397 qcom,hw-settle-time = <0>;
398 qcom,fast-avg-setup = <0>;
399 };
Siddartha Mohanadossa3390632013-03-15 07:37:27 -0700400
401 chan@c {
402 label = "ref_buf_625mv";
403 reg = <0xc>;
404 qcom,decimation = <0>;
405 qcom,pre-div-channel-scaling = <0>;
406 qcom,calibration-type = "absolute";
407 qcom,scale-function = <0>;
408 qcom,hw-settle-time = <0>;
409 qcom,fast-avg-setup = <0>;
410 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800411 };
412
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700413 pm8226_iadc: iadc@3600 {
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800414 compatible = "qcom,qpnp-iadc";
Siddartha Mohanadoss18c4b9f2014-01-23 16:13:31 -0800415 reg = <0x3600 0x100>,
416 <0x12f1 0x1>;
417 reg-names = "iadc-base", "batt-id-trim-cnst-rds";
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800418 #address-cells = <1>;
419 #size-cells = <0>;
420 interrupts = <0x0 0x36 0x0>;
421 interrupt-names = "eoc-int-en-set";
422 qcom,adc-bit-resolution = <16>;
423 qcom,adc-vdd-reference = <1800>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700424 qcom,iadc-vadc = <&pm8226_vadc>;
Siddartha Mohanadossa0511e12013-08-01 10:53:52 -0700425 qcom,iadc-poll-eoc;
Siddartha Mohanadoss18c4b9f2014-01-23 16:13:31 -0800426 qcom,use-default-rds-trim = <0>;
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800427
428 chan@0 {
429 label = "internal_rsense";
430 reg = <0>;
431 qcom,decimation = <0>;
432 qcom,pre-div-channel-scaling = <1>;
433 qcom,calibration-type = "absolute";
434 qcom,scale-function = <0>;
435 qcom,hw-settle-time = <0>;
436 qcom,fast-avg-setup = <0>;
437 };
Zhenhua Huang4c430652013-09-11 13:24:07 +0800438 chan@1 {
439 label = "external_rsense";
440 reg = <1>;
441 qcom,decimation = <0>;
442 qcom,pre-div-channel-scaling = <1>;
443 qcom,calibration-type = "absolute";
444 qcom,scale-function = <0>;
445 qcom,hw-settle-time = <0>;
446 qcom,fast-avg-setup = <0>;
447 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800448 };
Ashay Jaiswalc51f7e92013-03-11 10:25:58 +0530449
Siddartha Mohanadoss8aea3172013-05-09 11:49:37 -0700450 pm8226_adc_tm: vadc@3400 {
451 compatible = "qcom,qpnp-adc-tm";
452 reg = <0x3400 0x100>;
453 #address-cells = <1>;
454 #size-cells = <0>;
455 interrupts = <0x0 0x34 0x0>,
456 <0x0 0x34 0x3>,
457 <0x0 0x34 0x4>;
458 interrupt-names = "eoc-int-en-set",
459 "high-thr-en-set",
460 "low-thr-en-set";
461 qcom,adc-bit-resolution = <15>;
462 qcom,adc-vdd-reference = <1800>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700463 qcom,adc_tm-vadc = <&pm8226_vadc>;
Siddartha Mohanadoss8aea3172013-05-09 11:49:37 -0700464 };
465
David Collins196f01c2013-05-20 14:01:24 -0700466 qcom,temp-alarm@2400 {
467 compatible = "qcom,qpnp-temp-alarm";
468 reg = <0x2400 0x100>;
469 interrupts = <0x0 0x24 0x0>;
470 label = "pm8226_tz";
471 qcom,channel-num = <8>;
472 qcom,threshold-set = <0>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700473 qcom,temp_alarm-vadc = <&pm8226_vadc>;
David Collins196f01c2013-05-20 14:01:24 -0700474 };
475
Ashay Jaiswalc51f7e92013-03-11 10:25:58 +0530476 qcom,pm8226_rtc {
477 spmi-dev-container;
478 compatible = "qcom,qpnp-rtc";
479 #address-cells = <1>;
480 #size-cells = <1>;
481 qcom,qpnp-rtc-write = <0>;
482 qcom,qpnp-rtc-alarm-pwrup = <0>;
483
484 qcom,pm8226_rtc_rw@6000 {
485 reg = <0x6000 0x100>;
486 };
487 qcom,pm8226_rtc_alarm@6100 {
488 reg = <0x6100 0x100>;
489 interrupts = <0x0 0x61 0x1>;
490 };
491 };
David Keitel4109e952013-02-07 20:22:13 -0800492 };
493
David Keitel84987112013-02-11 13:26:30 -0800494 qcom,pm8226@1 {
495 spmi-slave-container;
496 reg = <0x1>;
497 #address-cells = <1>;
498 #size-cells = <1>;
499
500 regulator@1400 {
501 regulator-name = "8226_s1";
502 spmi-dev-container;
503 #address-cells = <1>;
504 #size-cells = <1>;
505 compatible = "qcom,qpnp-regulator";
506 reg = <0x1400 0x300>;
507 status = "disabled";
508
509 qcom,ctl@1400 {
510 reg = <0x1400 0x100>;
511 };
512 qcom,ps@1500 {
513 reg = <0x1500 0x100>;
514 };
515 qcom,freq@1600 {
516 reg = <0x1600 0x100>;
517 };
518 };
519
520 regulator@1700 {
521 regulator-name = "8226_s2";
522 spmi-dev-container;
523 #address-cells = <1>;
524 #size-cells = <1>;
525 compatible = "qcom,qpnp-regulator";
526 reg = <0x1700 0x300>;
527 status = "disabled";
528
529 qcom,ctl@1700 {
530 reg = <0x1700 0x100>;
531 };
532 qcom,ps@1800 {
533 reg = <0x1800 0x100>;
534 };
535 qcom,freq@1900 {
536 reg = <0x1900 0x100>;
537 };
538 };
539
540 regulator@1a00 {
541 regulator-name = "8226_s3";
542 spmi-dev-container;
543 #address-cells = <1>;
544 #size-cells = <1>;
545 compatible = "qcom,qpnp-regulator";
546 reg = <0x1a00 0x300>;
547 status = "disabled";
548
549 qcom,ctl@1a00 {
550 reg = <0x1a00 0x100>;
551 };
552 qcom,ps@1b00 {
553 reg = <0x1b00 0x100>;
554 };
555 qcom,freq@1c00 {
556 reg = <0x1c00 0x100>;
557 };
558 };
559
560 regulator@1d00 {
561 regulator-name = "8226_s4";
562 spmi-dev-container;
563 #address-cells = <1>;
564 #size-cells = <1>;
565 compatible = "qcom,qpnp-regulator";
566 reg = <0x1d00 0x300>;
567 status = "disabled";
568
569 qcom,ctl@1d00 {
570 reg = <0x1d00 0x100>;
571 };
572 qcom,ps@1e00 {
573 reg = <0x1e00 0x100>;
574 };
575 qcom,freq@1f00 {
576 reg = <0x1f00 0x100>;
577 };
578 };
579
580 regulator@2000 {
581 regulator-name = "8226_s5";
582 spmi-dev-container;
583 #address-cells = <1>;
584 #size-cells = <1>;
585 compatible = "qcom,qpnp-regulator";
586 reg = <0x2000 0x300>;
587 status = "disabled";
588
589 qcom,ctl@2000 {
590 reg = <0x2000 0x100>;
591 };
592 qcom,ps@2100 {
593 reg = <0x2100 0x100>;
594 };
595 qcom,freq@2200 {
596 reg = <0x2200 0x100>;
597 };
598 };
599
600 regulator@4000 {
601 regulator-name = "8226_l1";
602 reg = <0x4000 0x100>;
603 compatible = "qcom,qpnp-regulator";
604 status = "disabled";
605 };
606
607 regulator@4100 {
608 regulator-name = "8226_l2";
609 reg = <0x4100 0x100>;
610 compatible = "qcom,qpnp-regulator";
611 status = "disabled";
612 };
613
614 regulator@4200 {
615 regulator-name = "8226_l3";
616 reg = <0x4200 0x100>;
617 compatible = "qcom,qpnp-regulator";
618 status = "disabled";
619 };
620
621 regulator@4300 {
622 regulator-name = "8226_l4";
623 reg = <0x4300 0x100>;
624 compatible = "qcom,qpnp-regulator";
625 status = "disabled";
626 };
627
628 regulator@4400 {
629 regulator-name = "8226_l5";
630 reg = <0x4400 0x100>;
631 compatible = "qcom,qpnp-regulator";
632 status = "disabled";
633 };
634
635 regulator@4500 {
636 regulator-name = "8226_l6";
637 reg = <0x4500 0x100>;
638 compatible = "qcom,qpnp-regulator";
639 status = "disabled";
640 };
641
642 regulator@4600 {
643 regulator-name = "8226_l7";
644 reg = <0x4600 0x100>;
645 compatible = "qcom,qpnp-regulator";
646 status = "disabled";
647 };
648
649 regulator@4700 {
650 regulator-name = "8226_l8";
651 reg = <0x4700 0x100>;
652 compatible = "qcom,qpnp-regulator";
653 status = "disabled";
654 };
655
656 regulator@4800 {
657 regulator-name = "8226_l9";
658 reg = <0x4800 0x100>;
659 compatible = "qcom,qpnp-regulator";
660 status = "disabled";
661 };
662
663 regulator@4900 {
664 regulator-name = "8226_l10";
665 reg = <0x4900 0x100>;
666 compatible = "qcom,qpnp-regulator";
667 status = "disabled";
668 };
669
670 regulator@4b00 {
671 regulator-name = "8226_l12";
672 reg = <0x4b00 0x100>;
673 compatible = "qcom,qpnp-regulator";
674 status = "disabled";
675 };
676
677 regulator@4d00 {
678 regulator-name = "8226_l14";
679 reg = <0x4d00 0x100>;
680 compatible = "qcom,qpnp-regulator";
681 status = "disabled";
682 };
683
684 regulator@4e00 {
685 regulator-name = "8226_l15";
686 reg = <0x4e00 0x100>;
687 compatible = "qcom,qpnp-regulator";
688 status = "disabled";
689 };
690
691 regulator@4f00 {
692 regulator-name = "8226_l16";
693 reg = <0x4f00 0x100>;
694 compatible = "qcom,qpnp-regulator";
695 status = "disabled";
696 };
697
698 regulator@5000 {
699 regulator-name = "8226_l17";
700 reg = <0x5000 0x100>;
701 compatible = "qcom,qpnp-regulator";
702 status = "disabled";
703 };
704
705 regulator@5100 {
706 regulator-name = "8226_l18";
707 reg = <0x5100 0x100>;
708 compatible = "qcom,qpnp-regulator";
709 status = "disabled";
710 };
711
712 regulator@5200 {
713 regulator-name = "8226_l19";
714 reg = <0x5200 0x100>;
715 compatible = "qcom,qpnp-regulator";
716 status = "disabled";
717 };
718
719 regulator@5300 {
720 regulator-name = "8226_l20";
721 reg = <0x5300 0x100>;
722 compatible = "qcom,qpnp-regulator";
723 status = "disabled";
724 };
725
726 regulator@5400 {
727 regulator-name = "8226_l21";
728 reg = <0x5400 0x100>;
729 compatible = "qcom,qpnp-regulator";
730 status = "disabled";
731 };
732
733 regulator@5500 {
734 regulator-name = "8226_l22";
735 reg = <0x5500 0x100>;
736 compatible = "qcom,qpnp-regulator";
737 status = "disabled";
738 };
739
740 regulator@5600 {
741 regulator-name = "8226_l23";
742 reg = <0x5600 0x100>;
743 compatible = "qcom,qpnp-regulator";
744 status = "disabled";
745 };
746
747 regulator@5700 {
748 regulator-name = "8226_l24";
749 reg = <0x5700 0x100>;
750 compatible = "qcom,qpnp-regulator";
751 status = "disabled";
752 };
753
754 regulator@5900 {
755 regulator-name = "8226_l26";
756 reg = <0x5900 0x100>;
757 compatible = "qcom,qpnp-regulator";
758 status = "disabled";
759 };
760
761 regulator@5a00 {
762 regulator-name = "8226_l27";
763 reg = <0x5a00 0x100>;
764 compatible = "qcom,qpnp-regulator";
765 status = "disabled";
766 };
767
768 regulator@5b00 {
769 regulator-name = "8226_l28";
770 reg = <0x5b00 0x100>;
771 compatible = "qcom,qpnp-regulator";
772 status = "disabled";
773 };
774
Amy Maloched699b942013-03-03 15:47:52 -0800775 qcom,leds@d800 {
776 compatible = "qcom,leds-qpnp";
777 reg = <0xd800 0x100>;
778 label = "wled";
779 };
780
Amy Maloche43532912013-03-25 12:55:42 -0700781 pwm@b100 {
782 compatible = "qcom,qpnp-pwm";
783 reg = <0xb100 0x100>,
784 <0xb042 0x7e>;
785 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
786 qcom,channel-id = <0>;
787 };
788
789 pwm@b200 {
790 compatible = "qcom,qpnp-pwm";
791 reg = <0xb200 0x100>,
792 <0xb042 0x7e>;
793 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
794 qcom,channel-id = <1>;
795 };
796
797 pwm@b300 {
798 compatible = "qcom,qpnp-pwm";
799 reg = <0xb300 0x100>,
800 <0xb042 0x7e>;
801 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
802 qcom,channel-id = <2>;
803 };
804
805 pwm@b400 {
806 compatible = "qcom,qpnp-pwm";
807 reg = <0xb400 0x100>,
808 <0xb042 0x7e>;
809 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
810 qcom,channel-id = <3>;
811 };
812
813 pwm@b500 {
814 compatible = "qcom,qpnp-pwm";
815 reg = <0xb500 0x100>,
816 <0xb042 0x7e>;
817 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
818 qcom,channel-id = <4>;
819 };
820
821 pwm@b600 {
822 compatible = "qcom,qpnp-pwm";
823 reg = <0xb600 0x100>,
824 <0xb042 0x7e>;
825 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
826 qcom,channel-id = <5>;
827 };
828
David Keitel84987112013-02-11 13:26:30 -0800829 regulator@8000 {
830 regulator-name = "8226_lvs1";
831 reg = <0x8000 0x100>;
832 compatible = "qcom,qpnp-regulator";
833 status = "disabled";
834 };
Fenglin Wu3a707802013-03-21 14:34:20 -0700835
Fenglin Wu7f38bae2013-03-12 21:22:35 -0700836 qcom,vibrator@c000 {
837 compatible = "qcom,qpnp-vibrator";
838 reg = <0xc000 0x100>;
839 label = "vibrator";
840 status = "disabled";
841 };
842
Chun Zhang0d6ca072013-07-30 21:08:39 -0700843 qcom,leds@d300 {
844 compatible = "qcom,leds-qpnp";
845 status = "okay";
846 reg = <0xd300 0x100>;
847 label = "flash";
848 flash-boost-supply = <&pm8226_chg_boost>;
849 pm8226_flash0: qcom,flash_0 {
850 qcom,max-current = <1000>;
851 qcom,default-state = "off";
Chun Zhanga3306492013-09-09 15:17:26 -0700852 qcom,headroom = <3>;
Chun Zhang0d6ca072013-07-30 21:08:39 -0700853 qcom,duration = <1280>;
854 qcom,clamp-curr = <200>;
Chun Zhanga3306492013-09-09 15:17:26 -0700855 qcom,startup-dly = <3>;
Chun Zhang0d6ca072013-07-30 21:08:39 -0700856 qcom,safety-timer;
857 label = "flash";
858 linux,default-trigger =
859 "flash0_trigger";
860 qcom,id = <1>;
861 linux,name = "led:flash_0";
862 qcom,current = <625>;
863 };
Fenglin Wu3a707802013-03-21 14:34:20 -0700864
Chun Zhangbfd07352013-07-30 21:10:04 -0700865 pm8226_torch: qcom,flash_torch {
866 qcom,max-current = <200>;
867 qcom,default-state = "off";
868 linux,default-trigger =
869 "torch_trigger";
870 label = "flash";
871 qcom,id = <1>;
872 linux,name = "led:flash_torch";
873 qcom,current = <120>;
874 qcom,torch-enable;
875 };
876 };
David Keitel84987112013-02-11 13:26:30 -0800877 };
Kenneth Heitkee5804002012-11-15 17:50:07 -0700878};