blob: a13e66abca3d79b95c6f22209fe312cb69988125 [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
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>;
Amy Malochef8225942013-03-04 12:16:29 -080042
43 qcom,pon_1 {
44 qcom,pon-type = <0>;
45 qcom,pull-up = <1>;
46 linux,code = <116>;
47 };
48
49 qcom,pon_2 {
50 qcom,pon-type = <1>;
Amy Malochef8225942013-03-04 12:16:29 -080051 qcom,pull-up = <1>;
Amy Malochef8225942013-03-04 12:16:29 -080052 linux,code = <114>;
Mohan Pallaka7d7eb3e2013-09-24 16:56:27 +053053 qcom,s1-timer = <6720>;
54 qcom,s2-timer = <2000>;
55 qcom,s2-type = <7>;
56 qcom,support-reset = <1>;
Amy Malochef8225942013-03-04 12:16:29 -080057 };
Amy Maloche442667a2013-06-27 14:11:06 -070058
59 qcom,pon_3 {
60 qcom,pon-type = <3>;
61 qcom,support-reset = <1>;
62 qcom,pull-up = <1>;
63 qcom,s1-timer = <6720>;
64 qcom,s2-timer = <2000>;
65 qcom,s2-type = <7>;
Mohan Pallaka7d7eb3e2013-09-24 16:56:27 +053066 qcom,use-bark;
Amy Maloche442667a2013-06-27 14:11:06 -070067 };
Amy Malochef8225942013-03-04 12:16:29 -080068 };
69
David Keitelc51a7e52013-03-02 00:14:48 -080070 pm8226_chg: qcom,charger {
71 spmi-dev-container;
72 compatible = "qcom,qpnp-charger";
73 #address-cells = <1>;
74 #size-cells = <1>;
75 status = "disabled";
76
David Keitele89d4782013-03-27 11:29:59 -070077 qcom,vddmax-mv = <4200>;
Xiaozhe Shi22aa0cd2013-05-28 10:45:12 -070078 qcom,vddsafe-mv = <4230>;
Xiaozhe Shi555dffd2013-07-25 17:21:10 -070079 qcom,vinmin-mv = <4300>;
Xiaozhe Shic220bf82013-07-25 17:15:57 -070080 qcom,vbatdet-delta-mv = <100>;
David Keitele89d4782013-03-27 11:29:59 -070081 qcom,ibatmax-ma = <1500>;
David Keitel9fd07382013-05-02 15:37:44 -070082 qcom,ibatterm-ma = <100>;
David Keitele89d4782013-03-27 11:29:59 -070083 qcom,ibatsafe-ma = <1500>;
84 qcom,thermal-mitigation = <1500 700 600 325>;
Xiaozhe Shi1acc0922013-07-12 10:55:21 -070085 qcom,resume-soc = <99>;
David Keitelb0b63632013-03-27 15:17:33 -070086 qcom,tchg-mins = <150>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -070087 qcom,chg-vadc = <&pm8226_vadc>;
Siddartha Mohanadoss88a3fde2013-06-24 16:18:52 -070088 qcom,chg-adc_tm = <&pm8226_adc_tm>;
Abhijeet Dharmapurikare7497002013-07-29 11:25:37 -070089 qcom,pmic-revid = <&pm8226_revid>;
David Keitel5dd5df82013-07-29 17:28:39 -070090 qcom,ibatmax-warm-ma = <350>;
91 qcom,warm-bat-decidegc = <450>;
92 qcom,warm-bat-mv = <4100>;
93 qcom,cool-bat-decidegc = <100>;
94 qcom,cool-bat-mv = <4100>;
95 qcom,ibatmax-cool-ma = <350>;
David Keitelc51a7e52013-03-02 00:14:48 -080096
David Keitele89d4782013-03-27 11:29:59 -070097 qcom,chgr@1000 {
David Keitelc51a7e52013-03-02 00:14:48 -080098 status = "disabled";
99 reg = <0x1000 0x100>;
100 interrupts = <0x0 0x10 0x0>,
101 <0x0 0x10 0x1>,
102 <0x0 0x10 0x2>,
103 <0x0 0x10 0x3>,
104 <0x0 0x10 0x4>,
105 <0x0 0x10 0x5>,
106 <0x0 0x10 0x6>,
107 <0x0 0x10 0x7>;
108
109 interrupt-names = "vbat-det-lo",
110 "vbat-det-hi",
111 "chgwdog",
112 "state-change",
113 "trkl-chg-on",
114 "fast-chg-on",
115 "chg-failed",
116 "chg-done";
117 };
118
David Keitele89d4782013-03-27 11:29:59 -0700119 qcom,buck@1100 {
David Keitelc51a7e52013-03-02 00:14:48 -0800120 status = "disabled";
121 reg = <0x1100 0x100>;
122 interrupts = <0x0 0x11 0x0>,
123 <0x0 0x11 0x1>,
124 <0x0 0x11 0x2>,
125 <0x0 0x11 0x3>,
126 <0x0 0x11 0x4>,
127 <0x0 0x11 0x5>,
128 <0x0 0x11 0x6>;
129
130 interrupt-names = "vbat-ov",
131 "vreg-ov",
132 "overtemp",
133 "vchg-loop",
134 "ichg-loop",
135 "ibat-loop",
136 "vdd-loop";
137 };
138
Abhijeet Dharmapurikar6ba90762013-08-05 12:50:21 -0700139 pm8226_chg_batif: qcom,bat-if@1200 {
David Keitelc51a7e52013-03-02 00:14:48 -0800140 status = "disabled";
141 reg = <0x1200 0x100>;
142 interrupts = <0x0 0x12 0x0>,
143 <0x0 0x12 0x1>,
144 <0x0 0x12 0x2>,
145 <0x0 0x12 0x3>,
146 <0x0 0x12 0x4>;
147
148 interrupt-names = "batt-pres",
149 "bat-temp-ok",
150 "bat-fet-on",
151 "vcp-on",
152 "psi";
David Keitelc51a7e52013-03-02 00:14:48 -0800153 };
154
David Keitel3bdfa5d2013-07-10 17:36:07 -0700155 pm8226_chg_boost: qcom,boost@1500 {
156 status = "disabled";
157 reg = <0x1500 0x100>;
158 interrupts = <0x0 0x15 0x0>,
159 <0x0 0x15 0x1>;
160
161 interrupt-names = "boost-pwr-ok",
162 "limit-error";
163 };
164
165
David Keitel55aa28c2013-05-22 05:24:47 -0700166 pm8226_chg_otg: qcom,usb-chgpth@1300 {
David Keitelc51a7e52013-03-02 00:14:48 -0800167 status = "disabled";
168 reg = <0x1300 0x100>;
169 interrupts = <0 0x13 0x0>,
170 <0 0x13 0x1>,
David Keitel0b62bdd2013-07-10 17:30:51 -0700171 <0x0 0x13 0x2>,
172 <0x0 0x13 0x3>;
David Keitelc51a7e52013-03-02 00:14:48 -0800173
174 interrupt-names = "coarse-det-usb",
175 "usbin-valid",
David Keitel0b62bdd2013-07-10 17:30:51 -0700176 "chg-gone",
177 "usb-ocp";
David Keitelc51a7e52013-03-02 00:14:48 -0800178 };
179
David Keitelc51a7e52013-03-02 00:14:48 -0800180 qcom,chg-misc@1600 {
181 status = "disabled";
182 reg = <0x1600 0x100>;
183 };
184 };
185
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700186 pm8226_bms: qcom,bms {
187 spmi-dev-container;
188 compatible = "qcom,qpnp-bms";
189 #address-cells = <1>;
190 #size-cells = <1>;
191 status = "disabled";
192
193 qcom,r-sense-uohm = <10000>;
194 qcom,v-cutoff-uv = <3400000>;
195 qcom,max-voltage-uv = <4200000>;
Xiaozhe Shie0da4c72013-04-02 10:43:55 -0700196 qcom,r-conn-mohm = <0>;
Xiaozhe Shi8e1fe4c2013-09-11 10:53:59 -0700197 qcom,shutdown-soc-valid-limit = <100>;
Xiaozhe Shi561ebf72013-03-25 13:51:27 -0700198 qcom,adjust-soc-low-threshold = <15>;
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700199 qcom,ocv-voltage-high-threshold-uv = <3750000>;
200 qcom,ocv-voltage-low-threshold-uv = <3650000>;
201 qcom,low-soc-calculate-soc-threshold = <15>;
Xiaozhe Shicb487b12013-10-14 17:42:07 -0700202 qcom,low-voltage-calculate-soc-ms = <1000>;
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700203 qcom,low-soc-calculate-soc-ms = <5000>;
204 qcom,calculate-soc-ms = <20000>;
205 qcom,chg-term-ua = <100000>;
206 qcom,batt-type = <0>;
Xiaozhe Shi535494d2013-04-05 12:27:51 -0700207 qcom,tm-temp-margin = <5000>;
Xiaozhe Shi0ac7a002013-03-26 13:14:03 -0700208 qcom,low-ocv-correction-limit-uv = <100>;
Xiaozhe Shi4b7d0d22013-11-11 10:29:11 -0800209 qcom,high-ocv-correction-limit-uv = <250>;
Xiaozhe Shi0ac7a002013-03-26 13:14:03 -0700210 qcom,hold-soc-est = <3>;
Xiaozhe Shi33988df2013-04-03 10:37:56 -0700211 qcom,low-voltage-threshold = <3420000>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700212 qcom,bms-vadc = <&pm8226_vadc>;
Siddartha Mohanadoss55d0bca2013-06-24 08:29:34 -0700213 qcom,bms-iadc = <&pm8226_iadc>;
Siddartha Mohanadoss88a3fde2013-06-24 16:18:52 -0700214 qcom,bms-adc_tm = <&pm8226_adc_tm>;
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700215
216 qcom,bms-iadc@3800 {
217 reg = <0x3800 0x100>;
218 };
219
220 qcom,bms-bms@4000 {
221 reg = <0x4000 0x100>;
222 interrupts = <0x0 0x40 0x0>,
223 <0x0 0x40 0x1>,
224 <0x0 0x40 0x2>,
225 <0x0 0x40 0x3>,
226 <0x0 0x40 0x4>,
227 <0x0 0x40 0x5>,
228 <0x0 0x40 0x6>,
229 <0x0 0x40 0x7>;
230
Xiaozhe Shic4c04ee2013-07-29 10:41:48 -0700231 interrupt-names = "cc_thr",
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700232 "ocv_for_r",
Xiaozhe Shic4c04ee2013-07-29 10:41:48 -0700233 "good_ocv",
234 "charge_begin",
235 "ocv_thr",
236 "sw_cc_thr",
237 "vsense_avg",
238 "vsense_for_r";
Xiaozhe Shicb59c9d2013-03-19 10:43:07 -0700239 };
240 };
241
Amy Malochef92d79c2013-04-22 11:55:05 -0700242 qcom,leds@a100 {
243 compatible = "qcom,leds-qpnp";
244 reg = <0xa100 0x100>;
245 label = "mpp";
246 };
247
Amy Maloche95ee2ab2013-04-22 11:50:26 -0700248 qcom,leds@a300 {
249 compatible = "qcom,leds-qpnp";
250 reg = <0xa300 0x100>;
251 label = "mpp";
252 };
253
254 qcom,leds@a500 {
255 compatible = "qcom,leds-qpnp";
256 reg = <0xa500 0x100>;
257 label = "mpp";
258 };
259
David Keitel4109e952013-02-07 20:22:13 -0800260 pm8226_gpios: gpios {
261 spmi-dev-container;
262 compatible = "qcom,qpnp-pin";
263 gpio-controller;
264 #gpio-cells = <2>;
265 #address-cells = <1>;
266 #size-cells = <1>;
267 label = "pm8226-gpio";
268
269 gpio@c000 {
270 reg = <0xc000 0x100>;
271 qcom,pin-num = <1>;
272 };
273
274 gpio@c100 {
275 reg = <0xc100 0x100>;
276 qcom,pin-num = <2>;
277 };
278
279 gpio@c200 {
280 reg = <0xc200 0x100>;
281 qcom,pin-num = <3>;
282 };
283
284 gpio@c300 {
285 reg = <0xc300 0x100>;
286 qcom,pin-num = <4>;
287 };
288
289 gpio@c400 {
290 reg = <0xc400 0x100>;
291 qcom,pin-num = <5>;
292 };
293
294 gpio@c500 {
295 reg = <0xc500 0x100>;
296 qcom,pin-num = <6>;
297 };
298
299 gpio@c600 {
300 reg = <0xc600 0x100>;
301 qcom,pin-num = <7>;
302 };
303
304 gpio@c700 {
305 reg = <0xc700 0x100>;
306 qcom,pin-num = <8>;
307 };
308 };
309
310 pm8226_mpps: mpps {
311 spmi-dev-container;
312 compatible = "qcom,qpnp-pin";
313 gpio-controller;
314 #gpio-cells = <2>;
315 #address-cells = <1>;
316 #size-cells = <1>;
317 label = "pm8226-mpp";
318
319 mpp@a000 {
320 reg = <0xa000 0x100>;
321 qcom,pin-num = <1>;
322 };
323
324 mpp@a100 {
325 reg = <0xa100 0x100>;
326 qcom,pin-num = <2>;
327 };
328
329 mpp@a200 {
330 reg = <0xa200 0x100>;
331 qcom,pin-num = <3>;
332 };
333
334 mpp@a300 {
335 reg = <0xa300 0x100>;
336 qcom,pin-num = <4>;
337 };
338
339 mpp@a400 {
340 reg = <0xa400 0x100>;
341 qcom,pin-num = <5>;
342 };
343
344 mpp@a500 {
345 reg = <0xa500 0x100>;
346 qcom,pin-num = <6>;
347 };
348
349 mpp@a600 {
350 reg = <0xa600 0x100>;
351 qcom,pin-num = <7>;
352 };
353
354 mpp@a700 {
355 reg = <0xa700 0x100>;
356 qcom,pin-num = <8>;
357 };
358 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800359
360 pm8226_vadc: vadc@3100 {
361 compatible = "qcom,qpnp-vadc";
362 reg = <0x3100 0x100>;
363 #address-cells = <1>;
364 #size-cells = <0>;
365 interrupts = <0x0 0x31 0x0>;
366 interrupt-names = "eoc-int-en-set";
367 qcom,adc-bit-resolution = <15>;
368 qcom,adc-vdd-reference = <1800>;
369
370 chan@8 {
371 label = "die_temp";
372 reg = <8>;
373 qcom,decimation = <0>;
374 qcom,pre-div-channel-scaling = <0>;
375 qcom,calibration-type = "absolute";
376 qcom,scale-function = <3>;
377 qcom,hw-settle-time = <0>;
378 qcom,fast-avg-setup = <0>;
379 };
380
381 chan@9 {
382 label = "ref_625mv";
383 reg = <9>;
384 qcom,decimation = <0>;
385 qcom,pre-div-channel-scaling = <0>;
386 qcom,calibration-type = "absolute";
387 qcom,scale-function = <0>;
388 qcom,hw-settle-time = <0>;
389 qcom,fast-avg-setup = <0>;
390 };
391
392 chan@a {
393 label = "ref_1250v";
394 reg = <0xa>;
395 qcom,decimation = <0>;
396 qcom,pre-div-channel-scaling = <0>;
397 qcom,calibration-type = "absolute";
398 qcom,scale-function = <0>;
399 qcom,hw-settle-time = <0>;
400 qcom,fast-avg-setup = <0>;
401 };
Siddartha Mohanadossa3390632013-03-15 07:37:27 -0700402
403 chan@c {
404 label = "ref_buf_625mv";
405 reg = <0xc>;
406 qcom,decimation = <0>;
407 qcom,pre-div-channel-scaling = <0>;
408 qcom,calibration-type = "absolute";
409 qcom,scale-function = <0>;
410 qcom,hw-settle-time = <0>;
411 qcom,fast-avg-setup = <0>;
412 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800413 };
414
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700415 pm8226_iadc: iadc@3600 {
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800416 compatible = "qcom,qpnp-iadc";
417 reg = <0x3600 0x100>;
418 #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 Mohanadossae99e772013-02-19 15:44:40 -0800425
426 chan@0 {
427 label = "internal_rsense";
428 reg = <0>;
429 qcom,decimation = <0>;
430 qcom,pre-div-channel-scaling = <1>;
431 qcom,calibration-type = "absolute";
432 qcom,scale-function = <0>;
433 qcom,hw-settle-time = <0>;
434 qcom,fast-avg-setup = <0>;
435 };
Zhenhua Huang4c430652013-09-11 13:24:07 +0800436 chan@1 {
437 label = "external_rsense";
438 reg = <1>;
439 qcom,decimation = <0>;
440 qcom,pre-div-channel-scaling = <1>;
441 qcom,calibration-type = "absolute";
442 qcom,scale-function = <0>;
443 qcom,hw-settle-time = <0>;
444 qcom,fast-avg-setup = <0>;
445 };
Siddartha Mohanadossae99e772013-02-19 15:44:40 -0800446 };
Ashay Jaiswalc51f7e92013-03-11 10:25:58 +0530447
Siddartha Mohanadoss8aea3172013-05-09 11:49:37 -0700448 pm8226_adc_tm: vadc@3400 {
449 compatible = "qcom,qpnp-adc-tm";
450 reg = <0x3400 0x100>;
451 #address-cells = <1>;
452 #size-cells = <0>;
453 interrupts = <0x0 0x34 0x0>,
454 <0x0 0x34 0x3>,
455 <0x0 0x34 0x4>;
456 interrupt-names = "eoc-int-en-set",
457 "high-thr-en-set",
458 "low-thr-en-set";
459 qcom,adc-bit-resolution = <15>;
460 qcom,adc-vdd-reference = <1800>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700461 qcom,adc_tm-vadc = <&pm8226_vadc>;
Siddartha Mohanadoss8aea3172013-05-09 11:49:37 -0700462 };
463
David Collins196f01c2013-05-20 14:01:24 -0700464 qcom,temp-alarm@2400 {
465 compatible = "qcom,qpnp-temp-alarm";
466 reg = <0x2400 0x100>;
467 interrupts = <0x0 0x24 0x0>;
468 label = "pm8226_tz";
469 qcom,channel-num = <8>;
470 qcom,threshold-set = <0>;
Siddartha Mohanadoss3cb2b6b2013-06-21 12:07:05 -0700471 qcom,temp_alarm-vadc = <&pm8226_vadc>;
David Collins196f01c2013-05-20 14:01:24 -0700472 };
473
Ashay Jaiswalc51f7e92013-03-11 10:25:58 +0530474 qcom,pm8226_rtc {
475 spmi-dev-container;
476 compatible = "qcom,qpnp-rtc";
477 #address-cells = <1>;
478 #size-cells = <1>;
479 qcom,qpnp-rtc-write = <0>;
480 qcom,qpnp-rtc-alarm-pwrup = <0>;
481
482 qcom,pm8226_rtc_rw@6000 {
483 reg = <0x6000 0x100>;
484 };
485 qcom,pm8226_rtc_alarm@6100 {
486 reg = <0x6100 0x100>;
487 interrupts = <0x0 0x61 0x1>;
488 };
489 };
David Keitel4109e952013-02-07 20:22:13 -0800490 };
491
David Keitel84987112013-02-11 13:26:30 -0800492 qcom,pm8226@1 {
493 spmi-slave-container;
494 reg = <0x1>;
495 #address-cells = <1>;
496 #size-cells = <1>;
497
498 regulator@1400 {
499 regulator-name = "8226_s1";
500 spmi-dev-container;
501 #address-cells = <1>;
502 #size-cells = <1>;
503 compatible = "qcom,qpnp-regulator";
504 reg = <0x1400 0x300>;
505 status = "disabled";
506
507 qcom,ctl@1400 {
508 reg = <0x1400 0x100>;
509 };
510 qcom,ps@1500 {
511 reg = <0x1500 0x100>;
512 };
513 qcom,freq@1600 {
514 reg = <0x1600 0x100>;
515 };
516 };
517
518 regulator@1700 {
519 regulator-name = "8226_s2";
520 spmi-dev-container;
521 #address-cells = <1>;
522 #size-cells = <1>;
523 compatible = "qcom,qpnp-regulator";
524 reg = <0x1700 0x300>;
525 status = "disabled";
526
527 qcom,ctl@1700 {
528 reg = <0x1700 0x100>;
529 };
530 qcom,ps@1800 {
531 reg = <0x1800 0x100>;
532 };
533 qcom,freq@1900 {
534 reg = <0x1900 0x100>;
535 };
536 };
537
538 regulator@1a00 {
539 regulator-name = "8226_s3";
540 spmi-dev-container;
541 #address-cells = <1>;
542 #size-cells = <1>;
543 compatible = "qcom,qpnp-regulator";
544 reg = <0x1a00 0x300>;
545 status = "disabled";
546
547 qcom,ctl@1a00 {
548 reg = <0x1a00 0x100>;
549 };
550 qcom,ps@1b00 {
551 reg = <0x1b00 0x100>;
552 };
553 qcom,freq@1c00 {
554 reg = <0x1c00 0x100>;
555 };
556 };
557
558 regulator@1d00 {
559 regulator-name = "8226_s4";
560 spmi-dev-container;
561 #address-cells = <1>;
562 #size-cells = <1>;
563 compatible = "qcom,qpnp-regulator";
564 reg = <0x1d00 0x300>;
565 status = "disabled";
566
567 qcom,ctl@1d00 {
568 reg = <0x1d00 0x100>;
569 };
570 qcom,ps@1e00 {
571 reg = <0x1e00 0x100>;
572 };
573 qcom,freq@1f00 {
574 reg = <0x1f00 0x100>;
575 };
576 };
577
578 regulator@2000 {
579 regulator-name = "8226_s5";
580 spmi-dev-container;
581 #address-cells = <1>;
582 #size-cells = <1>;
583 compatible = "qcom,qpnp-regulator";
584 reg = <0x2000 0x300>;
585 status = "disabled";
586
587 qcom,ctl@2000 {
588 reg = <0x2000 0x100>;
589 };
590 qcom,ps@2100 {
591 reg = <0x2100 0x100>;
592 };
593 qcom,freq@2200 {
594 reg = <0x2200 0x100>;
595 };
596 };
597
598 regulator@4000 {
599 regulator-name = "8226_l1";
600 reg = <0x4000 0x100>;
601 compatible = "qcom,qpnp-regulator";
602 status = "disabled";
603 };
604
605 regulator@4100 {
606 regulator-name = "8226_l2";
607 reg = <0x4100 0x100>;
608 compatible = "qcom,qpnp-regulator";
609 status = "disabled";
610 };
611
612 regulator@4200 {
613 regulator-name = "8226_l3";
614 reg = <0x4200 0x100>;
615 compatible = "qcom,qpnp-regulator";
616 status = "disabled";
617 };
618
619 regulator@4300 {
620 regulator-name = "8226_l4";
621 reg = <0x4300 0x100>;
622 compatible = "qcom,qpnp-regulator";
623 status = "disabled";
624 };
625
626 regulator@4400 {
627 regulator-name = "8226_l5";
628 reg = <0x4400 0x100>;
629 compatible = "qcom,qpnp-regulator";
630 status = "disabled";
631 };
632
633 regulator@4500 {
634 regulator-name = "8226_l6";
635 reg = <0x4500 0x100>;
636 compatible = "qcom,qpnp-regulator";
637 status = "disabled";
638 };
639
640 regulator@4600 {
641 regulator-name = "8226_l7";
642 reg = <0x4600 0x100>;
643 compatible = "qcom,qpnp-regulator";
644 status = "disabled";
645 };
646
647 regulator@4700 {
648 regulator-name = "8226_l8";
649 reg = <0x4700 0x100>;
650 compatible = "qcom,qpnp-regulator";
651 status = "disabled";
652 };
653
654 regulator@4800 {
655 regulator-name = "8226_l9";
656 reg = <0x4800 0x100>;
657 compatible = "qcom,qpnp-regulator";
658 status = "disabled";
659 };
660
661 regulator@4900 {
662 regulator-name = "8226_l10";
663 reg = <0x4900 0x100>;
664 compatible = "qcom,qpnp-regulator";
665 status = "disabled";
666 };
667
668 regulator@4b00 {
669 regulator-name = "8226_l12";
670 reg = <0x4b00 0x100>;
671 compatible = "qcom,qpnp-regulator";
672 status = "disabled";
673 };
674
675 regulator@4d00 {
676 regulator-name = "8226_l14";
677 reg = <0x4d00 0x100>;
678 compatible = "qcom,qpnp-regulator";
679 status = "disabled";
680 };
681
682 regulator@4e00 {
683 regulator-name = "8226_l15";
684 reg = <0x4e00 0x100>;
685 compatible = "qcom,qpnp-regulator";
686 status = "disabled";
687 };
688
689 regulator@4f00 {
690 regulator-name = "8226_l16";
691 reg = <0x4f00 0x100>;
692 compatible = "qcom,qpnp-regulator";
693 status = "disabled";
694 };
695
696 regulator@5000 {
697 regulator-name = "8226_l17";
698 reg = <0x5000 0x100>;
699 compatible = "qcom,qpnp-regulator";
700 status = "disabled";
701 };
702
703 regulator@5100 {
704 regulator-name = "8226_l18";
705 reg = <0x5100 0x100>;
706 compatible = "qcom,qpnp-regulator";
707 status = "disabled";
708 };
709
710 regulator@5200 {
711 regulator-name = "8226_l19";
712 reg = <0x5200 0x100>;
713 compatible = "qcom,qpnp-regulator";
714 status = "disabled";
715 };
716
717 regulator@5300 {
718 regulator-name = "8226_l20";
719 reg = <0x5300 0x100>;
720 compatible = "qcom,qpnp-regulator";
721 status = "disabled";
722 };
723
724 regulator@5400 {
725 regulator-name = "8226_l21";
726 reg = <0x5400 0x100>;
727 compatible = "qcom,qpnp-regulator";
728 status = "disabled";
729 };
730
731 regulator@5500 {
732 regulator-name = "8226_l22";
733 reg = <0x5500 0x100>;
734 compatible = "qcom,qpnp-regulator";
735 status = "disabled";
736 };
737
738 regulator@5600 {
739 regulator-name = "8226_l23";
740 reg = <0x5600 0x100>;
741 compatible = "qcom,qpnp-regulator";
742 status = "disabled";
743 };
744
745 regulator@5700 {
746 regulator-name = "8226_l24";
747 reg = <0x5700 0x100>;
748 compatible = "qcom,qpnp-regulator";
749 status = "disabled";
750 };
751
752 regulator@5900 {
753 regulator-name = "8226_l26";
754 reg = <0x5900 0x100>;
755 compatible = "qcom,qpnp-regulator";
756 status = "disabled";
757 };
758
759 regulator@5a00 {
760 regulator-name = "8226_l27";
761 reg = <0x5a00 0x100>;
762 compatible = "qcom,qpnp-regulator";
763 status = "disabled";
764 };
765
766 regulator@5b00 {
767 regulator-name = "8226_l28";
768 reg = <0x5b00 0x100>;
769 compatible = "qcom,qpnp-regulator";
770 status = "disabled";
771 };
772
Amy Maloched699b942013-03-03 15:47:52 -0800773 qcom,leds@d800 {
774 compatible = "qcom,leds-qpnp";
775 reg = <0xd800 0x100>;
776 label = "wled";
777 };
778
Amy Maloche43532912013-03-25 12:55:42 -0700779 pwm@b100 {
780 compatible = "qcom,qpnp-pwm";
781 reg = <0xb100 0x100>,
782 <0xb042 0x7e>;
783 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
784 qcom,channel-id = <0>;
785 };
786
787 pwm@b200 {
788 compatible = "qcom,qpnp-pwm";
789 reg = <0xb200 0x100>,
790 <0xb042 0x7e>;
791 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
792 qcom,channel-id = <1>;
793 };
794
795 pwm@b300 {
796 compatible = "qcom,qpnp-pwm";
797 reg = <0xb300 0x100>,
798 <0xb042 0x7e>;
799 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
800 qcom,channel-id = <2>;
801 };
802
803 pwm@b400 {
804 compatible = "qcom,qpnp-pwm";
805 reg = <0xb400 0x100>,
806 <0xb042 0x7e>;
807 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
808 qcom,channel-id = <3>;
809 };
810
811 pwm@b500 {
812 compatible = "qcom,qpnp-pwm";
813 reg = <0xb500 0x100>,
814 <0xb042 0x7e>;
815 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
816 qcom,channel-id = <4>;
817 };
818
819 pwm@b600 {
820 compatible = "qcom,qpnp-pwm";
821 reg = <0xb600 0x100>,
822 <0xb042 0x7e>;
823 reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
824 qcom,channel-id = <5>;
825 };
826
David Keitel84987112013-02-11 13:26:30 -0800827 regulator@8000 {
828 regulator-name = "8226_lvs1";
829 reg = <0x8000 0x100>;
830 compatible = "qcom,qpnp-regulator";
831 status = "disabled";
832 };
Fenglin Wu3a707802013-03-21 14:34:20 -0700833
Fenglin Wu7f38bae2013-03-12 21:22:35 -0700834 qcom,vibrator@c000 {
835 compatible = "qcom,qpnp-vibrator";
836 reg = <0xc000 0x100>;
837 label = "vibrator";
838 status = "disabled";
839 };
840
Chun Zhang0d6ca072013-07-30 21:08:39 -0700841 qcom,leds@d300 {
842 compatible = "qcom,leds-qpnp";
843 status = "okay";
844 reg = <0xd300 0x100>;
845 label = "flash";
846 flash-boost-supply = <&pm8226_chg_boost>;
847 pm8226_flash0: qcom,flash_0 {
848 qcom,max-current = <1000>;
849 qcom,default-state = "off";
Chun Zhanga3306492013-09-09 15:17:26 -0700850 qcom,headroom = <3>;
Chun Zhang0d6ca072013-07-30 21:08:39 -0700851 qcom,duration = <1280>;
852 qcom,clamp-curr = <200>;
Chun Zhanga3306492013-09-09 15:17:26 -0700853 qcom,startup-dly = <3>;
Chun Zhang0d6ca072013-07-30 21:08:39 -0700854 qcom,safety-timer;
855 label = "flash";
856 linux,default-trigger =
857 "flash0_trigger";
858 qcom,id = <1>;
859 linux,name = "led:flash_0";
860 qcom,current = <625>;
861 };
Fenglin Wu3a707802013-03-21 14:34:20 -0700862
Chun Zhangbfd07352013-07-30 21:10:04 -0700863 pm8226_torch: qcom,flash_torch {
864 qcom,max-current = <200>;
865 qcom,default-state = "off";
866 linux,default-trigger =
867 "torch_trigger";
868 label = "flash";
869 qcom,id = <1>;
870 linux,name = "led:flash_torch";
871 qcom,current = <120>;
872 qcom,torch-enable;
873 };
874 };
David Keitel84987112013-02-11 13:26:30 -0800875 };
Kenneth Heitkee5804002012-11-15 17:50:07 -0700876};