blob: bab5774f82c389f47fbc2d9df2adf9cd1429c203 [file] [log] [blame]
Kiran Gundab8efaba2017-12-20 18:17:20 +05301/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
Kiran Gundac1c1de72017-09-21 15:05:09 +05302 *
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#include <dt-bindings/msm/power-on.h>
Maria Yu1c9f67f2018-01-25 16:13:46 +080014#include <dt-bindings/spmi/spmi.h>
15#include <dt-bindings/interrupt-controller/arm-gic.h>
Kiran Gundac1c1de72017-09-21 15:05:09 +053016
17&spmi_bus {
18 qcom,pmi8950@2 {
19 compatible ="qcom,spmi-pmic";
20 reg = <0x2 SPMI_USID>;
21 #address-cells = <2>;
22 #size-cells = <0>;
23
24 pmi8950_revid: qcom,revid@100 {
25 compatible = "qcom,qpnp-revid";
26 reg = <0x100 0x100>;
27 };
28
29 qcom,power-on@800 {
30 compatible = "qcom,qpnp-power-on";
31 reg = <0x800 0x100>;
32 qcom,secondary-pon-reset;
33 qcom,hard-reset-poweroff-type =
34 <PON_POWER_OFF_SHUTDOWN>;
35
36 pon_perph_reg: qcom,pon_perph_reg {
37 regulator-name = "pon_spare_reg";
38 qcom,pon-spare-reg-addr = <0x8c>;
39 qcom,pon-spare-reg-bit = <1>;
40 };
41 };
42
43 pmi8950_vadc: vadc@3100 {
44 compatible = "qcom,qpnp-vadc";
45 reg = <0x3100 0x100>;
46 #address-cells = <1>;
47 #size-cells = <0>;
Kiran Gundae0665762017-11-22 17:20:24 +053048 interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
Kiran Gundac1c1de72017-09-21 15:05:09 +053049 interrupt-names = "eoc-int-en-set";
50 qcom,adc-bit-resolution = <15>;
51 qcom,adc-vdd-reference = <1800>;
52 qcom,vadc-poll-eoc;
53
54 chan@0 {
55 label = "usbin";
56 reg = <0>;
57 qcom,decimation = <0>;
58 qcom,pre-div-channel-scaling = <4>;
59 qcom,calibration-type = "absolute";
60 qcom,scale-function = <0>;
61 qcom,hw-settle-time = <0>;
62 qcom,fast-avg-setup = <0>;
63 };
64
65 chan@1 {
66 label = "dcin";
67 reg = <1>;
68 qcom,decimation = <0>;
69 qcom,pre-div-channel-scaling = <4>;
70 qcom,calibration-type = "absolute";
71 qcom,scale-function = <0>;
72 qcom,hw-settle-time = <0>;
73 qcom,fast-avg-setup = <0>;
74 };
75
76 chan@3 {
77 label = "vchg_sns";
78 reg = <3>;
79 qcom,decimation = <0>;
80 qcom,pre-div-channel-scaling = <1>;
81 qcom,calibration-type = "absolute";
82 qcom,scale-function = <0>;
83 qcom,hw-settle-time = <0>;
84 qcom,fast-avg-setup = <0>;
85 };
86
87 chan@9 {
88 label = "ref_625mv";
89 reg = <9>;
90 qcom,decimation = <0>;
91 qcom,pre-div-channel-scaling = <0>;
92 qcom,calibration-type = "absolute";
93 qcom,scale-function = <0>;
94 qcom,hw-settle-time = <0>;
95 qcom,fast-avg-setup = <0>;
96 };
97
98 chan@a {
99 label = "ref_1250v";
100 reg = <0xa>;
101 qcom,decimation = <0>;
102 qcom,pre-div-channel-scaling = <0>;
103 qcom,calibration-type = "absolute";
104 qcom,scale-function = <0>;
105 qcom,hw-settle-time = <0>;
106 qcom,fast-avg-setup = <0>;
107 };
108
109 chan@d {
110 label = "chg_temp";
111 reg = <0xd>;
112 qcom,decimation = <0>;
113 qcom,pre-div-channel-scaling = <0>;
114 qcom,calibration-type = "absolute";
115 qcom,scale-function = <16>;
116 qcom,hw-settle-time = <0>;
117 qcom,fast-avg-setup = <0>;
118 qcom,vadc-thermal-node;
119 };
120
121 chan@43 {
122 label = "usb_dp";
123 reg = <0x43>;
124 qcom,decimation = <0>;
125 qcom,pre-div-channel-scaling = <1>;
126 qcom,calibration-type = "absolute";
127 qcom,scale-function = <0>;
128 qcom,hw-settle-time = <0>;
129 qcom,fast-avg-setup = <0>;
130 };
131
132 chan@44 {
133 label = "usb_dm";
134 reg = <0x44>;
135 qcom,decimation = <0>;
136 qcom,pre-div-channel-scaling = <1>;
137 qcom,calibration-type = "absolute";
138 qcom,scale-function = <0>;
139 qcom,hw-settle-time = <0>;
140 qcom,fast-avg-setup = <0>;
141 };
142 };
143
144 pmi8950_gpios: gpios {
Kiran Gundab8efaba2017-12-20 18:17:20 +0530145 compatible = "qcom,spmi-gpio";
146 reg = <0xc000 0x200>;
147
148 interrupts = <0x2 0xc0 0 IRQ_TYPE_NONE>,
149 <0x2 0xc1 0 IRQ_TYPE_NONE>;
150 interrupt-names = "pmi8950_gpio1", "pmi8950_gpio2";
151
Kiran Gundac1c1de72017-09-21 15:05:09 +0530152 gpio-controller;
153 #gpio-cells = <2>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530154 };
155
156 pmi8950_mpps: mpps {
Kiran Gundab8efaba2017-12-20 18:17:20 +0530157 compatible = "qcom,spmi-mpp";
158 reg = <0xa000 0x400>;
159
160 interrupts = <0x2 0xa0 0 IRQ_TYPE_NONE>,
161 <0x2 0xa1 0 IRQ_TYPE_NONE>,
162 <0x2 0xa2 0 IRQ_TYPE_NONE>,
163 <0x2 0xa3 0 IRQ_TYPE_NONE>;
164 interrupt-names = "pmi8950_mpp1", "pmi8950_mpp2",
165 "pmi8950_mpp3", "pmi8950_mpp4";
166
Kiran Gundac1c1de72017-09-21 15:05:09 +0530167 gpio-controller;
168 #gpio-cells = <2>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530169 };
170
171 pmi8950_charger: qcom,qpnp-smbcharger {
Kiran Gundac1c1de72017-09-21 15:05:09 +0530172 compatible = "qcom,qpnp-smbcharger";
173 #address-cells = <1>;
174 #size-cells = <1>;
175
176 qcom,iterm-ma = <100>;
177 qcom,float-voltage-mv = <4200>;
178 qcom,resume-delta-mv = <200>;
179 qcom,chg-inhibit-fg;
180 qcom,rparasitic-uohm = <100000>;
181 qcom,bms-psy-name = "bms";
182 qcom,thermal-mitigation = <1500 700 600 0>;
183 qcom,parallel-usb-min-current-ma = <1400>;
184 qcom,parallel-usb-9v-min-current-ma = <900>;
185 qcom,parallel-allowed-lowering-ma = <500>;
186 qcom,pmic-revid = <&pmi8950_revid>;
187 qcom,force-aicl-rerun;
188 qcom,aicl-rerun-period-s = <180>;
189 qcom,autoadjust-vfloat;
Chandana Kishori Chiluveru34872ee2017-11-30 17:35:26 +0530190 dpdm-supply = <&qusb_phy>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530191
192 qcom,chgr@1000 {
193 reg = <0x1000 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530194 interrupts = <0x2 0x10 0x0 IRQ_TYPE_NONE>,
195 <0x2 0x10 0x1 IRQ_TYPE_NONE>,
196 <0x2 0x10 0x2 IRQ_TYPE_NONE>,
197 <0x2 0x10 0x3 IRQ_TYPE_NONE>,
198 <0x2 0x10 0x4 IRQ_TYPE_NONE>,
199 <0x2 0x10 0x5 IRQ_TYPE_NONE>,
200 <0x2 0x10 0x6 IRQ_TYPE_NONE>,
201 <0x2 0x10 0x7 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530202
203 interrupt-names = "chg-error",
204 "chg-inhibit",
205 "chg-prechg-sft",
206 "chg-complete-chg-sft",
207 "chg-p2f-thr",
208 "chg-rechg-thr",
209 "chg-taper-thr",
210 "chg-tcc-thr";
211 };
212
213 qcom,otg@1100 {
214 reg = <0x1100 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530215 interrupts = <0x2 0x11 0x0 IRQ_TYPE_NONE>,
216 <0x2 0x11 0x1 IRQ_TYPE_NONE>,
217 <0x2 0x11 0x3 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530218 interrupt-names = "otg-fail",
219 "otg-oc",
220 "usbid-change";
221 };
222
223 qcom,bat-if@1200 {
224 reg = <0x1200 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530225 interrupts = <0x2 0x12 0x0 IRQ_TYPE_NONE>,
226 <0x2 0x12 0x1 IRQ_TYPE_NONE>,
227 <0x2 0x12 0x2 IRQ_TYPE_NONE>,
228 <0x2 0x12 0x3 IRQ_TYPE_NONE>,
229 <0x2 0x12 0x4 IRQ_TYPE_NONE>,
230 <0x2 0x12 0x5 IRQ_TYPE_NONE>,
231 <0x2 0x12 0x6 IRQ_TYPE_NONE>,
232 <0x2 0x12 0x7 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530233
234 interrupt-names = "batt-hot",
235 "batt-warm",
236 "batt-cold",
237 "batt-cool",
238 "batt-ov",
239 "batt-low",
240 "batt-missing",
241 "batt-term-missing";
242 };
243
244 qcom,usb-chgpth@1300 {
245 reg = <0x1300 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530246 interrupts = <0x2 0x13 0x0 IRQ_TYPE_NONE>,
247 <0x2 0x13 0x1 IRQ_TYPE_NONE>,
248 <0x2 0x13 0x2 IRQ_TYPE_NONE>,
249 <0x2 0x13 0x5 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530250
251 interrupt-names = "usbin-uv",
252 "usbin-ov",
253 "usbin-src-det",
254 "aicl-done";
255 };
256
257 qcom,dc-chgpth@1400 {
258 reg = <0x1400 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530259 interrupts = <0x2 0x14 0x0 IRQ_TYPE_NONE>,
260 <0x2 0x14 0x1 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530261 interrupt-names = "dcin-uv",
262 "dcin-ov";
263 };
264
265 qcom,chgr-misc@1600 {
266 reg = <0x1600 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530267 interrupts = <0x2 0x16 0x0 IRQ_TYPE_NONE>,
268 <0x2 0x16 0x1 IRQ_TYPE_NONE>,
269 <0x2 0x16 0x2 IRQ_TYPE_NONE>,
270 <0x2 0x16 0x3 IRQ_TYPE_NONE>,
271 <0x2 0x16 0x4 IRQ_TYPE_NONE>,
272 <0x2 0x16 0x5 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530273
274 interrupt-names = "power-ok",
275 "temp-shutdown",
276 "wdog-timeout",
277 "flash-fail",
278 "otst2",
279 "otst3";
280 };
281
282 smbcharger_charger_otg: qcom,smbcharger-boost-otg {
283 regulator-name = "smbcharger_charger_otg";
284 };
285 };
286
287 pmi8950_fg: qcom,fg {
Kiran Gundac1c1de72017-09-21 15:05:09 +0530288 compatible = "qcom,qpnp-fg";
289 #address-cells = <1>;
290 #size-cells = <1>;
291 qcom,resume-soc = <95>;
292 status = "okay";
293 qcom,bcl-lm-threshold-ma = <127>;
294 qcom,bcl-mh-threshold-ma = <405>;
295 qcom,fg-iterm-ma = <150>;
296 qcom,fg-chg-iterm-ma = <100>;
297 qcom,pmic-revid = <&pmi8950_revid>;
298 qcom,fg-cutoff-voltage-mv = <3500>;
299 qcom,cycle-counter-en;
300 qcom,capacity-learning-on;
301
302 qcom,fg-soc@4000 {
303 status = "okay";
304 reg = <0x4000 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530305 interrupts = <0x2 0x40 0x0 IRQ_TYPE_NONE>,
306 <0x2 0x40 0x1 IRQ_TYPE_NONE>,
307 <0x2 0x40 0x2 IRQ_TYPE_NONE>,
308 <0x2 0x40 0x3 IRQ_TYPE_NONE>,
309 <0x2 0x40 0x4 IRQ_TYPE_NONE>,
310 <0x2 0x40 0x5 IRQ_TYPE_NONE>,
311 <0x2 0x40 0x6 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530312
313 interrupt-names = "high-soc",
314 "low-soc",
315 "full-soc",
316 "empty-soc",
317 "delta-soc",
318 "first-est-done",
319 "update-soc";
320 };
321
322 qcom,fg-batt@4100 {
323 reg = <0x4100 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530324 interrupts = <0x2 0x41 0x0 IRQ_TYPE_NONE>,
325 <0x2 0x41 0x1 IRQ_TYPE_NONE>,
326 <0x2 0x41 0x2 IRQ_TYPE_NONE>,
327 <0x2 0x41 0x3 IRQ_TYPE_NONE>,
328 <0x2 0x41 0x4 IRQ_TYPE_NONE>,
329 <0x2 0x41 0x5 IRQ_TYPE_NONE>,
330 <0x2 0x41 0x6 IRQ_TYPE_NONE>,
331 <0x2 0x41 0x7 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530332
333 interrupt-names = "soft-cold",
334 "soft-hot",
335 "vbatt-low",
336 "batt-ided",
337 "batt-id-req",
338 "batt-unknown",
339 "batt-missing",
340 "batt-match";
341 };
342
343 qcom,revid-tp-rev@1f1 {
344 reg = <0x1f1 0x1>;
345 };
346
347 qcom,fg-memif@4400 {
348 status = "okay";
349 reg = <0x4400 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530350 interrupts = <0x2 0x44 0x0 IRQ_TYPE_NONE>,
351 <0x2 0x44 0x2 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530352
353 interrupt-names = "mem-avail",
354 "data-rcvry-sug";
355 };
356 };
357
358 bcl@4200 {
359 compatible = "qcom,msm-bcl";
360 reg = <0x4200 0xFF 0x88E 0x2>;
361 reg-names = "fg_user_adc", "pon_spare";
Kiran Gundae0665762017-11-22 17:20:24 +0530362 interrupts = <0x2 0x42 0x0 IRQ_TYPE_NONE>,
363 <0x2 0x42 0x1 IRQ_TYPE_NONE>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530364 interrupt-names = "bcl-high-ibat-int",
365 "bcl-low-vbat-int";
366 qcom,vbat-scaling-factor = <39000>;
367 qcom,vbat-gain-numerator = <1>;
368 qcom,vbat-gain-denominator = <128>;
369 qcom,vbat-polling-delay-ms = <100>;
370 qcom,ibat-scaling-factor = <39000>;
371 qcom,ibat-gain-numerator = <1>;
372 qcom,ibat-gain-denominator = <128>;
373 qcom,ibat-offset-numerator = <1200>;
374 qcom,ibat-offset-denominator = <1>;
375 qcom,ibat-polling-delay-ms = <100>;
376 qcom,inhibit-derating-ua = <550000>;
377 };
378
379 qcom,leds@a100 {
380 compatible = "qcom,leds-qpnp";
381 reg = <0xa100 0x100>;
382 label = "mpp";
383 };
384 };
385
386 qcom,pmi8950@3 {
387 compatible ="qcom,spmi-pmic";
388 reg = <0x3 SPMI_USID>;
389 #address-cells = <1>;
390 #size-cells = <1>;
391
392 pmi8950_pwm: pwm@b000 {
393 status = "disabled";
394 compatible = "qcom,qpnp-pwm";
395 reg = <0xb000 0x100>;
396 reg-names = "qpnp-lpg-channel-base";
397 qcom,channel-id = <0>;
398 qcom,supported-sizes = <6>, <9>;
399 #pwm-cells = <2>;
400 };
401
402 labibb: qpnp-labibb-regulator {
403 status = "disabled";
Kiran Gundac1c1de72017-09-21 15:05:09 +0530404 compatible = "qcom,qpnp-labibb-regulator";
405 #address-cells = <1>;
406 #size-cells = <1>;
407 qcom,pmic-revid = <&pmi8950_revid>;
Kiran Gundad7e1d7c2017-11-29 17:07:25 +0530408 qcom,qpnp-labibb-mode = "lcd";
Kiran Gundac1c1de72017-09-21 15:05:09 +0530409
410 ibb_regulator: qcom,ibb@dc00 {
411 reg = <0xdc00 0x100>;
412 reg-names = "ibb_reg";
413 regulator-name = "ibb_reg";
414
415 regulator-min-microvolt = <4600000>;
416 regulator-max-microvolt = <6000000>;
417
418 qcom,qpnp-ibb-min-voltage = <1400000>;
419 qcom,qpnp-ibb-step-size = <100000>;
420 qcom,qpnp-ibb-slew-rate = <2000000>;
421 qcom,qpnp-ibb-use-default-voltage;
422 qcom,qpnp-ibb-init-voltage = <5500000>;
423 qcom,qpnp-ibb-init-amoled-voltage = <4000000>;
424 qcom,qpnp-ibb-init-lcd-voltage = <5500000>;
425
426 qcom,qpnp-ibb-soft-start = <1000>;
427
428 qcom,qpnp-ibb-discharge-resistor = <32>;
429 qcom,qpnp-ibb-lab-pwrup-delay = <8000>;
430 qcom,qpnp-ibb-lab-pwrdn-delay = <8000>;
431 qcom,qpnp-ibb-en-discharge;
432
433 qcom,qpnp-ibb-full-pull-down;
434 qcom,qpnp-ibb-pull-down-enable;
435 qcom,qpnp-ibb-switching-clock-frequency =
436 <1480>;
437 qcom,qpnp-ibb-limit-maximum-current = <1550>;
438 qcom,qpnp-ibb-debounce-cycle = <16>;
439 qcom,qpnp-ibb-limit-max-current-enable;
440 qcom,qpnp-ibb-ps-enable;
441 };
442
443 lab_regulator: qcom,lab@de00 {
444 reg = <0xde00 0x100>;
445 reg-names = "lab";
446 regulator-name = "lab_reg";
447
448 regulator-min-microvolt = <4600000>;
449 regulator-max-microvolt = <6000000>;
450
451 qcom,qpnp-lab-min-voltage = <4600000>;
452 qcom,qpnp-lab-step-size = <100000>;
453 qcom,qpnp-lab-slew-rate = <5000>;
454 qcom,qpnp-lab-use-default-voltage;
455 qcom,qpnp-lab-init-voltage = <5500000>;
456 qcom,qpnp-lab-init-amoled-voltage = <4600000>;
457 qcom,qpnp-lab-init-lcd-voltage = <5500000>;
458
459 qcom,qpnp-lab-soft-start = <800>;
460
461 qcom,qpnp-lab-full-pull-down;
462 qcom,qpnp-lab-pull-down-enable;
463 qcom,qpnp-lab-switching-clock-frequency =
464 <1600>;
465 qcom,qpnp-lab-limit-maximum-current = <800>;
466 qcom,qpnp-lab-limit-max-current-enable;
467 qcom,qpnp-lab-ps-threshold = <40>;
468 qcom,qpnp-lab-ps-enable;
469 qcom,qpnp-lab-nfet-size = <100>;
470 qcom,qpnp-lab-pfet-size = <100>;
471 qcom,qpnp-lab-max-precharge-time = <500>;
472 };
473
474 };
475
476 wled: qcom,leds@d800 {
477 compatible = "qcom,qpnp-wled";
478 reg = <0xd800 0x100>,
479 <0xd900 0x100>,
480 <0xdc00 0x100>,
481 <0xde00 0x100>;
482 reg-names = "qpnp-wled-ctrl-base",
483 "qpnp-wled-sink-base",
484 "qpnp-wled-ibb-base",
485 "qpnp-wled-lab-base";
Kiran Gundae0665762017-11-22 17:20:24 +0530486 interrupts = <0x3 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530487 interrupt-names = "sc-irq";
488 status = "okay";
489 linux,name = "wled";
490 linux,default-trigger = "bkl-trigger";
491 qcom,fdbk-output = "auto";
492 qcom,vref-mv = <350>;
493 qcom,switch-freq-khz = <800>;
494 qcom,ovp-mv = <29500>;
495 qcom,ilim-ma = <980>;
496 qcom,boost-duty-ns = <26>;
497 qcom,mod-freq-khz = <9600>;
498 qcom,dim-mode = "hybrid";
499 qcom,dim-method = "linear";
500 qcom,hyb-thres = <625>;
501 qcom,sync-dly-us = <800>;
502 qcom,fs-curr-ua = <20000>;
503 qcom,led-strings-list = [00 01];
504 qcom,en-ext-pfet-sc-pro;
Kiran Gundae0665762017-11-22 17:20:24 +0530505 qcom,pmic-revid = <&pmi8950_revid>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530506 qcom,cons-sync-write-delay-us = <1000>;
507 };
508
509 flash_led: qcom,leds@d300 {
510 compatible = "qcom,qpnp-flash-led";
511 status = "okay";
512 reg = <0xd300 0x100>;
513 label = "flash";
514 qcom,headroom = <500>;
515 qcom,startup-dly = <128>;
516 qcom,clamp-curr = <200>;
517 qcom,pmic-charger-support;
518 qcom,self-check-enabled;
519 qcom,thermal-derate-enabled;
520 qcom,thermal-derate-threshold = <100>;
521 qcom,thermal-derate-rate = "5_PERCENT";
522 qcom,current-ramp-enabled;
523 qcom,ramp_up_step = "6P7_US";
524 qcom,ramp_dn_step = "6P7_US";
525 qcom,vph-pwr-droop-enabled;
526 qcom,vph-pwr-droop-threshold = <3000>;
527 qcom,vph-pwr-droop-debounce-time = <10>;
528 qcom,headroom-sense-ch0-enabled;
529 qcom,headroom-sense-ch1-enabled;
530 qcom,pmic-revid = <&pmi8950_revid>;
531
532 pmi8950_flash0: qcom,flash_0 {
533 label = "flash";
534 qcom,led-name = "led:flash_0";
535 qcom,default-led-trigger =
536 "flash0_trigger";
537 qcom,max-current = <1000>;
538 qcom,duration = <1280>;
539 qcom,id = <0>;
540 qcom,current = <625>;
541 };
542
543 pmi8950_flash1: qcom,flash_1 {
544 label = "flash";
545 qcom,led-name = "led:flash_1";
546 qcom,default-led-trigger =
547 "flash1_trigger";
548 qcom,max-current = <1000>;
549 qcom,duration = <1280>;
550 qcom,id = <1>;
551 qcom,current = <625>;
552 };
553
554 pmi8950_torch0: qcom,torch_0 {
555 label = "torch";
556 qcom,led-name = "led:torch_0";
557 qcom,default-led-trigger =
558 "torch0_trigger";
559 qcom,max-current = <200>;
560 qcom,id = <0>;
561 qcom,current = <120>;
562 };
563
564 pmi8950_torch1: qcom,torch_1 {
565 label = "torch";
566 qcom,led-name = "led:torch_1";
567 qcom,default-led-trigger =
568 "torch1_trigger";
569 qcom,max-current = <200>;
570 qcom,id = <1>;
571 qcom,current = <120>;
572 };
573
574 pmi8950_switch: qcom,switch {
575 label = "switch";
576 qcom,led-name = "led:switch";
577 qcom,default-led-trigger =
578 "switch_trigger";
579 qcom,max-current = <1000>;
580 qcom,duration = <1280>;
581 qcom,id = <2>;
582 qcom,current = <625>;
583 reg0 {
584 regulator-name = "pon_spare_reg";
585 };
586 };
587 };
588
589 pmi_haptic: qcom,haptic@c000 {
590 compatible = "qcom,qpnp-haptic";
591 reg = <0xc000 0x100>;
Kiran Gundae0665762017-11-22 17:20:24 +0530592 interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
593 <0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
Kiran Gundac1c1de72017-09-21 15:05:09 +0530594 interrupt-names = "sc-irq", "play-irq";
595 qcom,pmic-revid = <&pmi8950_revid>;
596 vcc_pon-supply = <&pon_perph_reg>;
597 qcom,play-mode = "direct";
598 qcom,wave-play-rate-us = <5263>;
599 qcom,actuator-type = "erm";
600 qcom,wave-shape = "square";
601 qcom,vmax-mv = <2000>;
602 qcom,ilim-ma = <800>;
603 qcom,sc-deb-cycles = <8>;
604 qcom,int-pwm-freq-khz = <505>;
605 qcom,en-brake;
606 qcom,brake-pattern = [03 03 00 00];
607 qcom,use-play-irq;
608 qcom,use-sc-irq;
609 qcom,wave-samples = [3e 3e 3e 3e 3e 3e 3e 3e];
610 qcom,wave-rep-cnt = <1>;
611 qcom,wave-samp-rep-cnt = <1>;
612 };
613 };
614};