blob: b53f7ac6c9589bf71b3b068780f8b5aededf8039 [file] [log] [blame]
David Collinsbbed9aa2017-03-10 11:53:10 -08001/* Copyright (c) 2016-2017, 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#include <dt-bindings/spmi/spmi.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15
16&spmi_bus {
17 qcom,pmi8998@2 {
18 compatible = "qcom,spmi-pmic";
19 reg = <0x2 SPMI_USID>;
20 #address-cells = <2>;
21 #size-cells = <0>;
22
23 pmi8998_revid: qcom,revid@100 {
24 compatible = "qcom,qpnp-revid";
25 reg = <0x100 0x100>;
26 qcom,fab-id-valid;
27 };
28
29 qcom,power-on@800 {
30 compatible = "qcom,qpnp-power-on";
31 reg = <0x800 0x100>;
32 };
33
Ram Chandrasekar9920cf02017-04-21 17:38:51 -060034 pmi8998_tz: qcom,temp-alarm@2400 {
David Collinsbbed9aa2017-03-10 11:53:10 -080035 compatible = "qcom,qpnp-temp-alarm";
36 reg = <0x2400 0x100>;
37 interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
38 label = "pmi8998_tz";
Ram Chandrasekar9920cf02017-04-21 17:38:51 -060039 #thermal-sensor-cells = <0>;
David Collinsbbed9aa2017-03-10 11:53:10 -080040 };
41
Fenglin Wu5a50fc82017-03-22 12:27:31 +080042 pmi8998_gpios: pinctrl@c000 {
43 compatible = "qcom,spmi-gpio";
44 reg = <0xc000 0xe00>;
45 interrupts = <0x2 0xc0 0 IRQ_TYPE_NONE>,
46 <0x2 0xc1 0 IRQ_TYPE_NONE>,
47 <0x2 0xc2 0 IRQ_TYPE_NONE>,
48 <0x2 0xc4 0 IRQ_TYPE_NONE>,
49 <0x2 0xc5 0 IRQ_TYPE_NONE>,
50 <0x2 0xc7 0 IRQ_TYPE_NONE>,
51 <0x2 0xc8 0 IRQ_TYPE_NONE>,
52 <0x2 0xc9 0 IRQ_TYPE_NONE>,
53 <0x2 0xca 0 IRQ_TYPE_NONE>,
54 <0x2 0xcb 0 IRQ_TYPE_NONE>,
55 <0x2 0xcd 0 IRQ_TYPE_NONE>;
56 interrupt-names = "pmi8998_gpio1", "pmi8998_gpio2",
57 "pmi8998_gpio3", "pmi8998_gpio5",
58 "pmi8998_gpio6", "pmi8998_gpio8",
59 "pmi8998_gpio9", "pmi8998_gpio10",
60 "pmi8998_gpio11", "pmi8998_gpio12",
61 "pmi8998_gpio14";
David Collinsbbed9aa2017-03-10 11:53:10 -080062 gpio-controller;
63 #gpio-cells = <2>;
Fenglin Wu5a50fc82017-03-22 12:27:31 +080064 qcom,gpios-disallowed = <4 7 13>;
David Collinsbbed9aa2017-03-10 11:53:10 -080065 };
66
Harry Yang67111662017-04-05 15:14:52 -070067 qcom,qpnp-qnovo@1500 {
68 compatible = "qcom,qpnp-qnovo";
69 reg = <0x1500 0x100>;
70 interrupts = <0x2 0x15 0x0 IRQ_TYPE_NONE>;
71 interrupt-names = "ptrain-done";
72 qcom,pmic-revid = <&pmi8998_revid>;
73 };
74
75 pmi8998_charger: qcom,qpnp-smb2 {
76 compatible = "qcom,qpnp-smb2";
77 #address-cells = <1>;
78 #size-cells = <1>;
79
80 qcom,pmic-revid = <&pmi8998_revid>;
81
82 io-channels = <&pmi8998_rradc 8>,
83 <&pmi8998_rradc 10>,
84 <&pmi8998_rradc 3>,
85 <&pmi8998_rradc 4>;
86 io-channel-names = "charger_temp",
87 "charger_temp_max",
88 "usbin_i",
89 "usbin_v";
90
91 qcom,boost-threshold-ua = <100000>;
92 qcom,wipower-max-uw = <5000000>;
93
94 qcom,thermal-mitigation
95 = <3000000 1500000 1000000 500000>;
96
97 qcom,chgr@1000 {
98 reg = <0x1000 0x100>;
99 interrupts =
100 <0x2 0x10 0x0 IRQ_TYPE_EDGE_RISING>,
101 <0x2 0x10 0x1 IRQ_TYPE_EDGE_RISING>,
102 <0x2 0x10 0x2 IRQ_TYPE_EDGE_RISING>,
103 <0x2 0x10 0x3 IRQ_TYPE_EDGE_RISING>,
104 <0x2 0x10 0x4 IRQ_TYPE_EDGE_RISING>;
105
106 interrupt-names = "chg-error",
107 "chg-state-change",
108 "step-chg-state-change",
109 "step-chg-soc-update-fail",
110 "step-chg-soc-update-request";
111 };
112
113 qcom,otg@1100 {
114 reg = <0x1100 0x100>;
115 interrupts = <0x2 0x11 0x0 IRQ_TYPE_EDGE_BOTH>,
116 <0x2 0x11 0x1 IRQ_TYPE_EDGE_BOTH>,
117 <0x2 0x11 0x2 IRQ_TYPE_EDGE_BOTH>,
118 <0x2 0x11 0x3 IRQ_TYPE_EDGE_BOTH>;
119
120 interrupt-names = "otg-fail",
121 "otg-overcurrent",
122 "otg-oc-dis-sw-sts",
123 "testmode-change-detect";
124 };
125
126 qcom,bat-if@1200 {
127 reg = <0x1200 0x100>;
128 interrupts =
129 <0x2 0x12 0x0 IRQ_TYPE_EDGE_RISING>,
130 <0x2 0x12 0x1 IRQ_TYPE_EDGE_BOTH>,
131 <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
132 <0x2 0x12 0x3 IRQ_TYPE_EDGE_BOTH>,
133 <0x2 0x12 0x4 IRQ_TYPE_EDGE_BOTH>,
134 <0x2 0x12 0x5 IRQ_TYPE_EDGE_BOTH>;
135
136 interrupt-names = "bat-temp",
137 "bat-ocp",
138 "bat-ov",
139 "bat-low",
140 "bat-therm-or-id-missing",
141 "bat-terminal-missing";
142 };
143
144 qcom,usb-chgpth@1300 {
145 reg = <0x1300 0x100>;
146 interrupts =
147 <0x2 0x13 0x0 IRQ_TYPE_EDGE_BOTH>,
148 <0x2 0x13 0x1 IRQ_TYPE_EDGE_BOTH>,
149 <0x2 0x13 0x2 IRQ_TYPE_EDGE_BOTH>,
150 <0x2 0x13 0x3 IRQ_TYPE_EDGE_BOTH>,
151 <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
152 <0x2 0x13 0x5 IRQ_TYPE_EDGE_RISING>,
153 <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>,
154 <0x2 0x13 0x7 IRQ_TYPE_EDGE_RISING>;
155
156 interrupt-names = "usbin-collapse",
157 "usbin-lt-3p6v",
158 "usbin-uv",
159 "usbin-ov",
160 "usbin-plugin",
161 "usbin-src-change",
162 "usbin-icl-change",
163 "type-c-change";
164 };
165
166 qcom,dc-chgpth@1400 {
167 reg = <0x1400 0x100>;
168 interrupts =
169 <0x2 0x14 0x0 IRQ_TYPE_EDGE_BOTH>,
170 <0x2 0x14 0x1 IRQ_TYPE_EDGE_BOTH>,
171 <0x2 0x14 0x2 IRQ_TYPE_EDGE_BOTH>,
172 <0x2 0x14 0x3 IRQ_TYPE_EDGE_BOTH>,
173 <0x2 0x14 0x4 IRQ_TYPE_EDGE_BOTH>,
174 <0x2 0x14 0x5 IRQ_TYPE_EDGE_BOTH>,
175 <0x2 0x14 0x6 IRQ_TYPE_EDGE_RISING>;
176
177 interrupt-names = "dcin-collapse",
178 "dcin-lt-3p6v",
179 "dcin-uv",
180 "dcin-ov",
181 "dcin-plugin",
182 "div2-en-dg",
183 "dcin-icl-change";
184 };
185
186 qcom,chgr-misc@1600 {
187 reg = <0x1600 0x100>;
188 interrupts =
189 <0x2 0x16 0x0 IRQ_TYPE_EDGE_RISING>,
190 <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
191 <0x2 0x16 0x2 IRQ_TYPE_EDGE_BOTH>,
192 <0x2 0x16 0x3 IRQ_TYPE_EDGE_BOTH>,
193 <0x2 0x16 0x4 IRQ_TYPE_EDGE_BOTH>,
194 <0x2 0x16 0x5 IRQ_TYPE_EDGE_BOTH>,
195 <0x2 0x16 0x6 IRQ_TYPE_EDGE_FALLING>,
196 <0x2 0x16 0x7 IRQ_TYPE_EDGE_BOTH>;
197
198 interrupt-names = "wdog-snarl",
199 "wdog-bark",
200 "aicl-fail",
201 "aicl-done",
202 "high-duty-cycle",
203 "input-current-limiting",
204 "temperature-change",
205 "switcher-power-ok";
206 };
207 };
208
Jack Phamaf5edc82017-03-30 17:26:02 -0700209 pmi8998_pdphy: qcom,usb-pdphy@1700 {
210 compatible = "qcom,qpnp-pdphy";
211 reg = <0x1700 0x100>;
212 vdd-pdphy-supply = <&pm8998_l24>;
213 vbus-supply = <&smb2_vbus>;
214 vconn-supply = <&smb2_vconn>;
215 interrupts = <0x2 0x17 0x0 IRQ_TYPE_EDGE_RISING>,
216 <0x2 0x17 0x1 IRQ_TYPE_EDGE_RISING>,
217 <0x2 0x17 0x2 IRQ_TYPE_EDGE_RISING>,
218 <0x2 0x17 0x3 IRQ_TYPE_EDGE_RISING>,
219 <0x2 0x17 0x4 IRQ_TYPE_EDGE_RISING>,
220 <0x2 0x17 0x5 IRQ_TYPE_EDGE_RISING>,
221 <0x2 0x17 0x6 IRQ_TYPE_EDGE_RISING>;
222
223 interrupt-names = "sig-tx",
224 "sig-rx",
225 "msg-tx",
226 "msg-rx",
227 "msg-tx-failed",
228 "msg-tx-discarded",
229 "msg-rx-discarded";
230
231 qcom,default-sink-caps = <5000 3000>, /* 5V @ 3A */
232 <9000 3000>, /* 9V @ 3A */
233 <12000 2250>; /* 12V @ 2.25A */
234 };
235
Ram Chandrasekar61ede0c2017-04-17 17:12:56 -0600236 bcl_sensor: bcl@4200 {
237 compatible = "qcom,msm-bcl-lmh";
238 reg = <0x4200 0xff>,
239 <0x4300 0xff>;
240 reg-names = "fg_user_adc",
241 "fg_lmh";
242 interrupts = <0x2 0x42 0x0 IRQ_TYPE_NONE>,
243 <0x2 0x42 0x1 IRQ_TYPE_NONE>,
244 <0x2 0x42 0x2 IRQ_TYPE_NONE>,
245 <0x2 0x42 0x3 IRQ_TYPE_NONE>,
246 <0x2 0x42 0x4 IRQ_TYPE_NONE>;
247 interrupt-names = "bcl-high-ibat",
248 "bcl-very-high-ibat",
249 "bcl-low-vbat",
250 "bcl-very-low-vbat",
251 "bcl-crit-low-vbat";
252 #thermal-sensor-cells = <1>;
253 };
254
David Collinsbbed9aa2017-03-10 11:53:10 -0800255 pmi8998_rradc: rradc@4500 {
256 compatible = "qcom,rradc";
257 reg = <0x4500 0x100>;
258 #address-cells = <1>;
259 #size-cells = <0>;
260 #io-channel-cells = <1>;
261 qcom,pmic-revid = <&pmi8998_revid>;
262 };
Harry Yang67111662017-04-05 15:14:52 -0700263
264 pmi8998_fg: qpnp,fg {
265 compatible = "qcom,fg-gen3";
266 #address-cells = <1>;
267 #size-cells = <1>;
268 qcom,pmic-revid = <&pmi8998_revid>;
269 io-channels = <&pmi8998_rradc 0>;
270 io-channel-names = "rradc_batt_id";
271 qcom,rradc-base = <0x4500>;
272 qcom,fg-esr-timer-awake = <96>;
273 qcom,fg-esr-timer-asleep = <256>;
274 qcom,cycle-counter-en;
275 status = "okay";
276
277 qcom,fg-batt-soc@4000 {
278 status = "okay";
279 reg = <0x4000 0x100>;
280 interrupts = <0x2 0x40 0x0 IRQ_TYPE_EDGE_BOTH>,
281 <0x2 0x40 0x1 IRQ_TYPE_EDGE_BOTH>,
282 <0x2 0x40 0x2
283 IRQ_TYPE_EDGE_RISING>,
284 <0x2 0x40 0x3
285 IRQ_TYPE_EDGE_RISING>,
286 <0x2 0x40 0x4 IRQ_TYPE_EDGE_BOTH>,
287 <0x2 0x40 0x5
288 IRQ_TYPE_EDGE_RISING>,
289 <0x2 0x40 0x6 IRQ_TYPE_EDGE_BOTH>,
290 <0x2 0x40 0x7 IRQ_TYPE_EDGE_BOTH>;
291 interrupt-names = "soc-update",
292 "soc-ready",
293 "bsoc-delta",
294 "msoc-delta",
295 "msoc-low",
296 "msoc-empty",
297 "msoc-high",
298 "msoc-full";
299 };
300
301 qcom,fg-batt-info@4100 {
302 status = "okay";
303 reg = <0x4100 0x100>;
304 interrupts = <0x2 0x41 0x0 IRQ_TYPE_EDGE_BOTH>,
305 <0x2 0x41 0x1 IRQ_TYPE_EDGE_BOTH>,
306 <0x2 0x41 0x2 IRQ_TYPE_EDGE_BOTH>,
307 <0x2 0x41 0x3 IRQ_TYPE_EDGE_BOTH>,
308 <0x2 0x41 0x6 IRQ_TYPE_EDGE_BOTH>;
309 interrupt-names = "vbatt-pred-delta",
310 "vbatt-low",
311 "esr-delta",
312 "batt-missing",
313 "batt-temp-delta";
314 };
315
316 qcom,fg-memif@4400 {
317 status = "okay";
318 reg = <0x4400 0x100>;
319 interrupts = <0x2 0x44 0x0 IRQ_TYPE_EDGE_BOTH>,
320 <0x2 0x44 0x1 IRQ_TYPE_EDGE_BOTH>,
321 <0x2 0x44 0x2 IRQ_TYPE_EDGE_BOTH>;
322 interrupt-names = "ima-rdy",
323 "mem-xcp",
324 "dma-grant";
325 };
326 };
David Collinsbbed9aa2017-03-10 11:53:10 -0800327 };
328
329 qcom,pmi8998@3 {
330 compatible ="qcom,spmi-pmic";
331 reg = <0x3 SPMI_USID>;
332 #address-cells = <2>;
333 #size-cells = <0>;
334
335 pmi8998_pwm_1: pwm@b100 {
336 compatible = "qcom,qpnp-pwm";
337 reg = <0xb100 0x100>,
338 <0xb042 0x7e>;
339 reg-names = "qpnp-lpg-channel-base",
340 "qpnp-lpg-lut-base";
341 qcom,lpg-lut-size = <0x7e>;
342 qcom,channel-id = <1>;
343 qcom,supported-sizes = <6>, <9>;
344 qcom,ramp-index = <0>;
345 #pwm-cells = <2>;
346 status = "disabled";
347 };
348
349 pmi8998_pwm_2: pwm@b200 {
350 compatible = "qcom,qpnp-pwm";
351 reg = <0xb200 0x100>,
352 <0xb042 0x7e>;
353 reg-names = "qpnp-lpg-channel-base",
354 "qpnp-lpg-lut-base";
355 qcom,lpg-lut-size = <0x7e>;
356 qcom,channel-id = <2>;
357 qcom,supported-sizes = <6>, <9>;
358 qcom,ramp-index = <1>;
359 #pwm-cells = <2>;
360 status = "disabled";
361 };
362
363 pmi8998_pwm_3: pwm@b300 {
364 compatible = "qcom,qpnp-pwm";
365 reg = <0xb300 0x100>,
366 <0xb042 0x7e>;
367 reg-names = "qpnp-lpg-channel-base",
368 "qpnp-lpg-lut-base";
369 qcom,lpg-lut-size = <0x7e>;
370 qcom,channel-id = <3>;
371 qcom,supported-sizes = <6>, <9>;
372 qcom,ramp-index = <2>;
373 #pwm-cells = <2>;
374 };
375
376 pmi8998_pwm_4: pwm@b400 {
377 compatible = "qcom,qpnp-pwm";
378 reg = <0xb400 0x100>,
379 <0xb042 0x7e>;
380 reg-names = "qpnp-lpg-channel-base",
381 "qpnp-lpg-lut-base";
382 qcom,lpg-lut-size = <0x7e>;
383 qcom,channel-id = <4>;
384 qcom,supported-sizes = <6>, <9>;
385 qcom,ramp-index = <3>;
386 #pwm-cells = <2>;
387 };
388
389 pmi8998_pwm_5: pwm@b500 {
390 compatible = "qcom,qpnp-pwm";
391 reg = <0xb500 0x100>,
392 <0xb042 0x7e>;
393 reg-names = "qpnp-lpg-channel-base",
394 "qpnp-lpg-lut-base";
395 qcom,lpg-lut-size = <0x7e>;
396 qcom,channel-id = <5>;
397 qcom,supported-sizes = <6>, <9>;
398 qcom,ramp-index = <4>;
399 #pwm-cells = <2>;
400 };
401
402 pmi8998_pwm_6: pwm@b600 {
403 compatible = "qcom,qpnp-pwm";
404 reg = <0xb600 0x100>,
405 <0xb042 0x7e>;
406 reg-names = "qpnp-lpg-channel-base",
407 "qpnp-lpg-lut-base";
408 qcom,lpg-lut-size = <0x7e>;
409 qcom,channel-id = <6>;
410 qcom,supported-sizes = <6>, <9>;
411 qcom,ramp-index = <5>;
412 #pwm-cells = <2>;
413 status = "disabled";
414 };
415
416 qcom,leds@d000 {
417 compatible = "qcom,leds-qpnp";
418 reg = <0xd000 0x100>;
419 label = "rgb";
420 status = "okay";
421
422 red_led: qcom,rgb_0 {
423 label = "rgb";
424 qcom,id = <3>;
425 qcom,mode = "pwm";
426 pwms = <&pmi8998_pwm_5 0 0>;
427 qcom,pwm-us = <1000>;
428 qcom,max-current = <12>;
429 qcom,default-state = "off";
430 linux,name = "red";
431 linux,default-trigger = "battery-charging";
432 };
433
434 green_led: qcom,rgb_1 {
435 label = "rgb";
436 qcom,id = <4>;
437 qcom,mode = "pwm";
438 pwms = <&pmi8998_pwm_4 0 0>;
439 qcom,pwm-us = <1000>;
440 qcom,max-current = <12>;
441 qcom,default-state = "off";
442 linux,name = "green";
443 linux,default-trigger = "battery-full";
444 };
445
446 blue_led: qcom,rgb_2 {
447 label = "rgb";
448 qcom,id = <5>;
449 qcom,mode = "pwm";
450 pwms = <&pmi8998_pwm_3 0 0>;
451 qcom,pwm-us = <1000>;
452 qcom,max-current = <12>;
453 qcom,default-state = "off";
454 linux,name = "blue";
455 linux,default-trigger = "boot-indication";
456 };
457 };
458
459 labibb: qpnp-labibb-regulator {
460 compatible = "qcom,qpnp-labibb-regulator";
461 #address-cells = <1>;
462 #size-cells = <1>;
463 qcom,pmic-revid = <&pmi8998_revid>;
464 status = "disabled";
465
466 ibb_regulator: qcom,ibb@dc00 {
467 reg = <0xdc00 0x100>;
468 reg-names = "ibb_reg";
469 regulator-name = "ibb_reg";
470
471 regulator-min-microvolt = <4600000>;
472 regulator-max-microvolt = <6000000>;
473
474 qcom,qpnp-ibb-min-voltage = <1400000>;
475 qcom,qpnp-ibb-step-size = <100000>;
476 qcom,qpnp-ibb-slew-rate = <2000000>;
477 qcom,qpnp-ibb-use-default-voltage;
478 qcom,qpnp-ibb-init-voltage = <5500000>;
479 qcom,qpnp-ibb-init-amoled-voltage = <4000000>;
480 qcom,qpnp-ibb-init-lcd-voltage = <5500000>;
481
482 qcom,qpnp-ibb-soft-start = <1000>;
483
484 qcom,qpnp-ibb-lab-pwrup-delay = <8000>;
485 qcom,qpnp-ibb-lab-pwrdn-delay = <8000>;
486 qcom,qpnp-ibb-en-discharge;
487
488 qcom,qpnp-ibb-full-pull-down;
489 qcom,qpnp-ibb-pull-down-enable;
490 qcom,qpnp-ibb-switching-clock-frequency =
491 <1480>;
492 qcom,qpnp-ibb-limit-maximum-current = <1550>;
493 qcom,qpnp-ibb-debounce-cycle = <16>;
494 qcom,qpnp-ibb-limit-max-current-enable;
495 qcom,qpnp-ibb-ps-enable;
496 };
497
498 lab_regulator: qcom,lab@de00 {
499 reg = <0xde00 0x100>;
500 reg-names = "lab";
501 regulator-name = "lab_reg";
502
503 regulator-min-microvolt = <4600000>;
504 regulator-max-microvolt = <6000000>;
505
506 interrupts = <0x3 0xde 0x0
507 IRQ_TYPE_EDGE_RISING>;
508 interrupt-names = "lab-vreg-ok";
509 qcom,qpnp-lab-min-voltage = <4600000>;
510 qcom,qpnp-lab-step-size = <100000>;
511 qcom,qpnp-lab-slew-rate = <5000>;
512 qcom,qpnp-lab-use-default-voltage;
513 qcom,qpnp-lab-init-voltage = <5500000>;
514 qcom,qpnp-lab-init-amoled-voltage = <4600000>;
515 qcom,qpnp-lab-init-lcd-voltage = <5500000>;
516
517 qcom,qpnp-lab-soft-start = <800>;
518
519 qcom,qpnp-lab-full-pull-down;
520 qcom,qpnp-lab-pull-down-enable;
521 qcom,qpnp-lab-switching-clock-frequency =
522 <1600>;
523 qcom,qpnp-lab-limit-maximum-current = <1600>;
524 qcom,qpnp-lab-limit-max-current-enable;
525 qcom,qpnp-lab-ps-threshold = <20>;
526 qcom,qpnp-lab-ps-enable;
527 qcom,qpnp-lab-nfet-size = <100>;
528 qcom,qpnp-lab-pfet-size = <100>;
529 qcom,qpnp-lab-max-precharge-time = <500>;
530 };
531 };
532
533 pmi8998_wled: qcom,leds@d800 {
534 compatible = "qcom,qpnp-wled";
535 reg = <0xd800 0x100>,
536 <0xd900 0x100>;
537 reg-names = "qpnp-wled-ctrl-base",
538 "qpnp-wled-sink-base";
539 interrupts = <0x3 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
540 <0x3 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
541 interrupt-names = "ovp-irq", "sc-irq";
542 linux,name = "wled";
543 linux,default-trigger = "bkl-trigger";
544 qcom,fdbk-output = "auto";
545 qcom,vref-uv = <127500>;
546 qcom,switch-freq-khz = <800>;
547 qcom,ovp-mv = <29600>;
548 qcom,ilim-ma = <970>;
549 qcom,boost-duty-ns = <26>;
550 qcom,mod-freq-khz = <9600>;
551 qcom,dim-mode = "hybrid";
552 qcom,hyb-thres = <625>;
553 qcom,sync-dly-us = <800>;
554 qcom,fs-curr-ua = <25000>;
555 qcom,cons-sync-write-delay-us = <1000>;
556 qcom,led-strings-list = [00 01 02 03];
557 qcom,en-ext-pfet-sc-pro;
558 qcom,pmic-revid = <&pmi8998_revid>;
559 qcom,loop-auto-gm-en;
Subbaraman Narayanamurthy1f92fc12017-03-30 15:41:45 -0700560 status = "disabled";
David Collinsbbed9aa2017-03-10 11:53:10 -0800561 };
562
563 flash_led: qcom,leds@d300 {
564 compatible = "qcom,qpnp-flash-led-v2";
565 status = "okay";
566 reg = <0xd300 0x100>;
567 label = "flash";
568 interrupts = <0x3 0xd3 0x0 IRQ_TYPE_EDGE_RISING>,
569 <0x3 0xd3 0x3 IRQ_TYPE_EDGE_RISING>,
570 <0x3 0xd3 0x4 IRQ_TYPE_EDGE_RISING>;
571 interrupt-names = "led-fault-irq",
572 "all-ramp-down-done-irq",
573 "all-ramp-up-done-irq";
574 qcom,hdrm-auto-mode;
575 qcom,short-circuit-det;
576 qcom,open-circuit-det;
577 qcom,vph-droop-det;
578 qcom,thermal-derate-en;
579 qcom,thermal-derate-current = <200 500 1000>;
580 qcom,isc-delay = <192>;
581 qcom,pmic-revid = <&pmi8998_revid>;
582
583 pmi8998_flash0: qcom,flash_0 {
584 label = "flash";
585 qcom,led-name = "led:flash_0";
586 qcom,max-current = <1500>;
587 qcom,default-led-trigger = "flash0_trigger";
588 qcom,id = <0>;
589 qcom,current-ma = <1000>;
590 qcom,duration-ms = <1280>;
591 qcom,ires-ua = <12500>;
592 qcom,hdrm-voltage-mv = <325>;
593 qcom,hdrm-vol-hi-lo-win-mv = <100>;
594 };
595
596 pmi8998_flash1: qcom,flash_1 {
597 label = "flash";
598 qcom,led-name = "led:flash_1";
599 qcom,max-current = <1500>;
600 qcom,default-led-trigger = "flash1_trigger";
601 qcom,id = <1>;
602 qcom,current-ma = <1000>;
603 qcom,duration-ms = <1280>;
604 qcom,ires-ua = <12500>;
605 qcom,hdrm-voltage-mv = <325>;
606 qcom,hdrm-vol-hi-lo-win-mv = <100>;
607 };
608
609 pmi8998_flash2: qcom,flash_2 {
610 label = "flash";
611 qcom,led-name = "led:flash_2";
612 qcom,max-current = <750>;
613 qcom,default-led-trigger = "flash2_trigger";
614 qcom,id = <2>;
615 qcom,current-ma = <500>;
616 qcom,duration-ms = <1280>;
617 qcom,ires-ua = <12500>;
618 qcom,hdrm-voltage-mv = <325>;
619 qcom,hdrm-vol-hi-lo-win-mv = <100>;
620 };
621
622 pmi8998_torch0: qcom,torch_0 {
623 label = "torch";
624 qcom,led-name = "led:torch_0";
625 qcom,max-current = <500>;
626 qcom,default-led-trigger = "torch0_trigger";
627 qcom,id = <0>;
628 qcom,current-ma = <300>;
629 qcom,ires-ua = <12500>;
630 qcom,hdrm-voltage-mv = <325>;
631 qcom,hdrm-vol-hi-lo-win-mv = <100>;
632 };
633
634 pmi8998_torch1: qcom,torch_1 {
635 label = "torch";
636 qcom,led-name = "led:torch_1";
637 qcom,max-current = <500>;
638 qcom,default-led-trigger = "torch1_trigger";
639 qcom,id = <1>;
640 qcom,current-ma = <300>;
641 qcom,ires-ua = <12500>;
642 qcom,hdrm-voltage-mv = <325>;
643 qcom,hdrm-vol-hi-lo-win-mv = <100>;
644 };
645
646 pmi8998_torch2: qcom,torch_2 {
647 label = "torch";
648 qcom,led-name = "led:torch_2";
649 qcom,max-current = <500>;
650 qcom,default-led-trigger = "torch2_trigger";
651 qcom,id = <2>;
652 qcom,current-ma = <300>;
653 qcom,ires-ua = <12500>;
654 qcom,hdrm-voltage-mv = <325>;
655 qcom,hdrm-vol-hi-lo-win-mv = <100>;
656 };
657
658 pmi8998_switch0: qcom,led_switch_0 {
659 label = "switch";
660 qcom,led-name = "led:switch_0";
661 qcom,led-mask = <3>;
662 qcom,default-led-trigger = "switch0_trigger";
663 };
664
665 pmi8998_switch1: qcom,led_switch_1 {
666 label = "switch";
667 qcom,led-name = "led:switch_1";
668 qcom,led-mask = <4>;
669 qcom,default-led-trigger = "switch1_trigger";
670 };
671 };
672 };
673};
Ram Chandrasekar61ede0c2017-04-17 17:12:56 -0600674
675&thermal_zones {
676 ibat-high {
677 polling-delay-passive = <0>;
678 polling-delay = <0>;
679 thermal-governor = "step_wise";
680 thermal-sensors = <&bcl_sensor 0>;
681
682 trips {
683 ibat_high: low-ibat {
684 temperature = <4200>;
685 hysteresis = <200>;
686 type = "passive";
687 };
688 };
689 };
690 ibat-vhigh {
691 polling-delay-passive = <0>;
692 polling-delay = <0>;
693 thermal-governor = "step_wise";
694 thermal-sensors = <&bcl_sensor 1>;
695
696 trips {
697 ibat_vhigh: ibat_vhigh {
698 temperature = <4300>;
699 hysteresis = <100>;
700 type = "passive";
701 };
702 };
703 };
704 vbat {
705 polling-delay-passive = <100>;
706 polling-delay = <0>;
707 thermal-governor = "low_limits_cap";
708 thermal-sensors = <&bcl_sensor 2>;
709 tracks-low;
710
711 trips {
712 low_vbat: low-vbat {
713 temperature = <3300>;
714 hysteresis = <100>;
715 type = "passive";
716 };
717 };
718 cooling-maps {
719 vbat_cpu4 {
720 trip = <&low_vbat>;
721 cooling-device = <&CPU4 22 22>;
722 };
723 vbat_cpu5 {
724 trip = <&low_vbat>;
725 cooling-device = <&CPU5 22 22>;
726 };
727 vbat_map6 {
728 trip = <&low_vbat>;
729 cooling-device = <&CPU6 22 22>;
730 };
731 vbat_map7 {
732 trip = <&low_vbat>;
733 cooling-device = <&CPU7 22 22>;
734 };
735 };
736 };
737 vbat_low {
738 polling-delay-passive = <0>;
739 polling-delay = <0>;
740 thermal-governor = "low_limits_cap";
741 thermal-sensors = <&bcl_sensor 3>;
742 tracks-low;
743
744 trips {
745 low-vbat {
746 temperature = <3100>;
747 hysteresis = <0>;
748 type = "passive";
749 };
750 };
751 };
752 vbat_too_low {
753 polling-delay-passive = <0>;
754 polling-delay = <0>;
755 thermal-governor = "low_limits_cap";
756 thermal-sensors = <&bcl_sensor 4>;
757 tracks-low;
758
759 trips {
760 low-vbat {
761 temperature = <2900>;
762 hysteresis = <0>;
763 type = "passive";
764 };
765 };
766 };
767 soc {
768 polling-delay-passive = <100>;
769 polling-delay = <0>;
770 thermal-governor = "low_limits_cap";
771 thermal-sensors = <&bcl_sensor 5>;
772 tracks-low;
773
774 trips {
775 low_soc: low-soc {
776 temperature = <10>;
777 hysteresis = <0>;
778 type = "passive";
779 };
780 };
781 cooling-maps {
782 soc_cpu4 {
783 trip = <&low_soc>;
784 cooling-device = <&CPU4 22 22>;
785 };
786 soc_cpu5 {
787 trip = <&low_soc>;
788 cooling-device = <&CPU5 22 22>;
789 };
790 soc_map6 {
791 trip = <&low_soc>;
792 cooling-device = <&CPU6 22 22>;
793 };
794 soc_map7 {
795 trip = <&low_soc>;
796 cooling-device = <&CPU7 22 22>;
797 };
798 };
799 };
Ram Chandrasekar9920cf02017-04-21 17:38:51 -0600800
801 pmi8998_tz {
802 polling-delay-passive = <0>;
803 polling-delay = <0>;
804 thermal-sensors = <&pmi8998_tz>;
805
806 trips {
807 pmi8998_trip0: pmi8998-trip0 {
808 temperature = <105000>;
809 hysteresis = <0>;
810 type = "passive";
811 };
812 pmi8998_trip1: pmi8998-trip1 {
813 temperature = <125000>;
814 hysteresis = <0>;
815 type = "passive";
816 };
817 pmi8998_trip2: pmi8998-trip2 {
818 temperature = <145000>;
819 hysteresis = <0>;
820 type = "critical";
821 };
822 };
823 };
Ram Chandrasekar61ede0c2017-04-17 17:12:56 -0600824};