blob: 390ba0de8e9d6d52943fd2680fc5709b0e4b1271 [file] [log] [blame]
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +05301/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
Umang Agrawal16b11602017-12-21 15:32:55 +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/interrupt-controller/irq.h>
14#include <dt-bindings/spmi/spmi.h>
15#include <dt-bindings/msm/power-on.h>
16
17&spmi_bus {
18 qcom,pmi632@2 {
19 compatible = "qcom,spmi-pmic";
20 reg = <0x2 SPMI_USID>;
Anirudh Ghayald77f8f62018-03-04 20:05:25 +053021 #address-cells = <1>;
22 #size-cells = <1>;
Umang Agrawal16b11602017-12-21 15:32:55 +053023
24 pmi632_revid: qcom,revid@100 {
25 compatible = "qcom,qpnp-revid";
26 reg = <0x100 0x100>;
27 };
28
29 pmi632_pon: qcom,power-on@800 {
30 compatible = "qcom,qpnp-power-on";
31 reg = <0x800 0x100>;
Anirudh Ghayalff3660e2018-04-19 10:21:18 +053032
Umang Agrawal16b11602017-12-21 15:32:55 +053033 qcom,secondary-pon-reset;
Anirudh Ghayalff3660e2018-04-19 10:21:18 +053034 qcom,s3-src = "kpdpwr";
Umang Agrawal16b11602017-12-21 15:32:55 +053035 };
36
Jishnu Prakash292e28c2018-01-18 11:28:34 +053037 pmi632_vadc: vadc@3100 {
Jishnu Prakashfe450a72018-05-04 10:51:15 +053038 compatible = "qcom,qpnp-vadc-hc",
39 "qcom,qpnp-adc-hc-pm5";
Jishnu Prakash292e28c2018-01-18 11:28:34 +053040 reg = <0x3100 0x100>;
41 #address-cells = <1>;
42 #size-cells = <0>;
Jishnu Prakash3238aad2018-03-08 10:37:18 +053043 interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
Jishnu Prakash292e28c2018-01-18 11:28:34 +053044 interrupt-names = "eoc-int-en-set";
45 qcom,adc-vdd-reference = <1875>;
46 qcom,adc-full-scale-code = <0x70e4>;
Jishnu Prakashb374dab2018-11-30 18:49:52 +053047 qcom,pmic-revid = <&pmi632_revid>;
Jishnu Prakash292e28c2018-01-18 11:28:34 +053048
49 chan@0 {
50 label = "ref_gnd";
51 reg = <0>;
52 qcom,decimation = <2>;
53 qcom,pre-div-channel-scaling = <0>;
54 qcom,calibration-type = "absolute";
55 qcom,scale-function = <0>;
56 qcom,hw-settle-time = <0>;
57 qcom,fast-avg-setup = <0>;
58 qcom,cal-val = <0>;
59 };
60
61 chan@1 {
62 label = "ref_1250v";
63 reg = <1>;
64 qcom,decimation = <2>;
65 qcom,pre-div-channel-scaling = <0>;
66 qcom,calibration-type = "absolute";
67 qcom,scale-function = <0>;
68 qcom,hw-settle-time = <0>;
69 qcom,fast-avg-setup = <0>;
70 qcom,cal-val = <0>;
71 };
72
73 chan@83 {
74 label = "vph_pwr";
75 reg = <0x83>;
76 qcom,decimation = <2>;
77 qcom,pre-div-channel-scaling = <1>;
78 qcom,calibration-type = "absolute";
79 qcom,scale-function = <0>;
80 qcom,hw-settle-time = <0>;
81 qcom,fast-avg-setup = <0>;
82 qcom,cal-val = <0>;
83 };
84
85 chan@84 {
86 label = "vbat_sns";
87 reg = <0x84>;
88 qcom,decimation = <2>;
89 qcom,pre-div-channel-scaling = <1>;
90 qcom,calibration-type = "absolute";
91 qcom,scale-function = <0>;
92 qcom,hw-settle-time = <0>;
93 qcom,fast-avg-setup = <0>;
94 qcom,cal-val = <0>;
95 };
96
97 chan@6 {
98 label = "die_temp";
99 reg = <6>;
100 qcom,decimation = <2>;
101 qcom,pre-div-channel-scaling = <0>;
102 qcom,calibration-type = "absolute";
103 qcom,scale-function = <19>;
104 qcom,hw-settle-time = <0>;
105 qcom,fast-avg-setup = <0>;
106 qcom,cal-val = <0>;
107 };
108
109 chan@7 {
110 label = "usb_in_i";
111 reg = <7>;
112 qcom,decimation = <2>;
113 qcom,pre-div-channel-scaling = <0>;
114 qcom,calibration-type = "absolute";
115 qcom,scale-function = <21>;
116 qcom,hw-settle-time = <0>;
117 qcom,fast-avg-setup = <0>;
118 qcom,cal-val = <0>;
119 };
120
121 chan@8 {
122 label = "usb_in_v";
123 reg = <8>;
124 qcom,decimation = <2>;
125 qcom,pre-div-channel-scaling = <8>;
126 qcom,calibration-type = "absolute";
127 qcom,scale-function = <0>;
128 qcom,hw-settle-time = <0>;
129 qcom,fast-avg-setup = <0>;
130 qcom,cal-val = <0>;
131 };
132
133 chan@9 {
134 label = "chg_temp";
135 reg = <9>;
136 qcom,decimation = <2>;
137 qcom,pre-div-channel-scaling = <0>;
138 qcom,calibration-type = "absolute";
139 qcom,scale-function = <18>;
140 qcom,hw-settle-time = <0>;
141 qcom,fast-avg-setup = <0>;
142 qcom,cal-val = <0>;
143 };
144
145 chan@4a {
146 label = "bat_therm";
147 reg = <0x4a>;
148 qcom,decimation = <2>;
149 qcom,pre-div-channel-scaling = <0>;
150 qcom,calibration-type = "ratiometric";
151 qcom,scale-function = <17>;
152 qcom,hw-settle-time = <0>;
153 qcom,fast-avg-setup = <0>;
154 qcom,cal-val = <0>;
155 };
156
Jishnu Prakash32dab112018-04-12 15:13:12 +0530157 chan@2a {
158 label = "bat_therm_PU30";
159 reg = <0x2a>;
160 qcom,decimation = <2>;
161 qcom,pre-div-channel-scaling = <0>;
162 qcom,calibration-type = "ratiometric";
163 qcom,scale-function = <24>;
164 qcom,hw-settle-time = <0>;
165 qcom,fast-avg-setup = <0>;
166 qcom,cal-val = <0>;
167 };
168
169 chan@6a {
170 label = "bat_therm_PU400";
171 reg = <0x6a>;
172 qcom,decimation = <2>;
173 qcom,pre-div-channel-scaling = <0>;
174 qcom,calibration-type = "ratiometric";
175 qcom,scale-function = <25>;
176 qcom,hw-settle-time = <0>;
177 qcom,fast-avg-setup = <0>;
178 qcom,cal-val = <0>;
179 };
180
Jishnu Prakash292e28c2018-01-18 11:28:34 +0530181 chan@4b {
182 label = "bat_id";
183 reg = <0x4b>;
184 qcom,decimation = <2>;
185 qcom,pre-div-channel-scaling = <0>;
186 qcom,calibration-type = "ratiometric";
187 qcom,scale-function = <0>;
188 qcom,hw-settle-time = <0>;
189 qcom,fast-avg-setup = <0>;
190 qcom,cal-val = <0>;
191 };
192
193 chan@4c {
194 label = "xo_therm";
195 reg = <0x4c>;
196 qcom,decimation = <2>;
197 qcom,pre-div-channel-scaling = <0>;
198 qcom,calibration-type = "ratiometric";
199 qcom,scale-function = <4>;
200 qcom,hw-settle-time = <8>;
201 qcom,fast-avg-setup = <0>;
202 };
203
204
205 chan@1e {
206 label = "mid_chg";
207 reg = <0x1e>;
208 qcom,decimation = <2>;
209 qcom,pre-div-channel-scaling = <3>;
210 qcom,calibration-type = "absolute";
211 qcom,scale-function = <0>;
212 qcom,hw-settle-time = <0>;
213 qcom,fast-avg-setup = <0>;
214 qcom,cal-val = <0>;
215 };
216
Jishnu Prakash9940b752018-03-15 20:05:12 +0530217 chan@52 {
218 label = "typec_therm";
219 reg = <0x52>;
220 qcom,decimation = <2>;
221 qcom,pre-div-channel-scaling = <0>;
222 qcom,calibration-type = "ratiometric";
223 qcom,scale-function = <2>;
224 qcom,hw-settle-time = <0>;
225 qcom,fast-avg-setup = <0>;
226 qcom,cal-val = <0>;
227 };
228
229 chan@53 {
230 label = "quiet_therm";
231 reg = <0x53>;
232 qcom,decimation = <2>;
233 qcom,pre-div-channel-scaling = <0>;
234 qcom,calibration-type = "ratiometric";
235 qcom,scale-function = <2>;
236 qcom,hw-settle-time = <0>;
237 qcom,fast-avg-setup = <0>;
238 qcom,cal-val = <0>;
239 };
240
241 chan@54 {
242 label = "smb_therm";
243 reg = <0x54>;
244 qcom,decimation = <2>;
245 qcom,pre-div-channel-scaling = <0>;
246 qcom,calibration-type = "ratiometric";
247 qcom,scale-function = <2>;
248 qcom,hw-settle-time = <0>;
249 qcom,fast-avg-setup = <0>;
250 qcom,cal-val = <0>;
251 };
Jishnu Prakash292e28c2018-01-18 11:28:34 +0530252 };
253
Jishnu Prakash097d97d2018-04-04 21:08:27 +0530254 pmi632_adc_tm: vadc@3500 {
Jishnu Prakashfe450a72018-05-04 10:51:15 +0530255 compatible = "qcom,qpnp-adc-tm-hc",
256 "qcom,qpnp-adc-tm-hc-pm5";
Jishnu Prakash097d97d2018-04-04 21:08:27 +0530257 reg = <0x3500 0x100>;
258 #address-cells = <1>;
259 #size-cells = <0>;
260 interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
261 interrupt-names = "eoc-int-en-set";
262 qcom,adc-vdd-reference = <1875>;
263 qcom,adc-full-scale-code = <0x70e4>;
264 qcom,adc_tm-vadc = <&pmi632_vadc>;
265 qcom,decimation = <0>;
266 qcom,fast-avg-setup = <0>;
267 #thermal-sensor-cells = <1>;
268
269 chan@53 {
270 label = "quiet_therm";
271 reg = <0x53>;
272 qcom,pre-div-channel-scaling = <0>;
273 qcom,calibration-type = "ratiometric";
274 qcom,scale-function = <2>;
275 qcom,hw-settle-time = <0>;
276 qcom,btm-channel-number = <0x60>;
277 qcom,thermal-node;
278 };
279
280 };
281
Umang Agrawal16b11602017-12-21 15:32:55 +0530282 pmi632_tz: qcom,temp-alarm@2400 {
283 compatible = "qcom,qpnp-temp-alarm";
284 reg = <0x2400 0x100>;
285 interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
286 label = "pmi632_tz";
287 #thermal-sensor-cells = <0>;
288 };
289
290 pmi632_gpios: pinctrl@c000 {
291 compatible = "qcom,spmi-gpio";
292 reg = <0xc000 0x800>;
Ashay Jaiswal15d3c8f2018-06-14 21:27:45 +0530293 interrupts = <0x2 0xc0 0 IRQ_TYPE_NONE>,
294 <0x2 0xc1 0 IRQ_TYPE_NONE>,
Umang Agrawal16b11602017-12-21 15:32:55 +0530295 <0x2 0xc2 0 IRQ_TYPE_NONE>,
296 <0x2 0xc3 0 IRQ_TYPE_NONE>,
297 <0x2 0xc4 0 IRQ_TYPE_NONE>,
298 <0x2 0xc5 0 IRQ_TYPE_NONE>,
299 <0x2 0xc6 0 IRQ_TYPE_NONE>,
Umang Agrawalfbbfb7f2017-12-29 19:27:01 +0530300 <0x2 0xc7 0 IRQ_TYPE_NONE>;
Ashay Jaiswal15d3c8f2018-06-14 21:27:45 +0530301 interrupt-names = "pmi632_gpio1", "pmi632_gpio2",
302 "pmi632_gpio3", "pmi632_gpio4",
303 "pmi632_gpio5", "pmi632_gpio6",
304 "pmi632_gpio7", "pmi632_gpio8";
Umang Agrawal16b11602017-12-21 15:32:55 +0530305 gpio-controller;
306 #gpio-cells = <2>;
Umang Agrawal16b11602017-12-21 15:32:55 +0530307 };
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530308
309 pmi632_charger: qcom,qpnp-smb5 {
310 compatible = "qcom,qpnp-smb5";
311 #address-cells = <1>;
312 #size-cells = <1>;
Manaf Meethalavalappu Pallikunhi585ef212018-02-27 21:10:51 +0530313 #cooling-cells = <2>;
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530314
315 qcom,pmic-revid = <&pmi632_revid>;
316 dpdm-supply = <&qusb_phy>;
jessicatsengb3809992020-04-24 16:03:07 +0800317//<2020/04/24-JessicaTseng, Re-charge condition for battery to 4.3V
318 qcom,auto-recharge-vbat-mv = <4300>;
319 //qcom,auto-recharge-soc = <98>;
320//>2020/04/24-JessicaTseng
Ashay Jaiswal338858c2018-04-20 11:55:38 +0530321 qcom,chg-vadc = <&pmi632_vadc>;
Kiran Gunda7d7830d2018-05-23 16:58:58 +0530322 qcom,flash-disable-soc = <10>;
Ashay Jaiswalb6fc5802018-05-31 14:40:08 +0530323 qcom,sw-jeita-enable;
324 qcom,step-charging-enable;
Ashay Jaiswal15d3c8f2018-06-14 21:27:45 +0530325 qcom,hw-die-temp-mitigation;
326 qcom,hw-connector-mitigation;
327 qcom,connector-internal-pull-kohm = <100>;
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530328
jessicatseng2adac6f2020-04-27 18:23:44 +0800329//<2020/04/28-JessicaTseng, Add condition of charging current for thermal-mitigation
Manaf Meethalavalappu Pallikunhi585ef212018-02-27 21:10:51 +0530330 qcom,thermal-mitigation
jessicatseng2adac6f2020-04-27 18:23:44 +0800331 = <2000000 1500000 1000000 500000
332 500000 500000>;
333//>2020/04/28-JessicaTseng
Manaf Meethalavalappu Pallikunhi585ef212018-02-27 21:10:51 +0530334
jessicatseng53e19682020-06-04 09:42:07 +0800335//<2020/06/04-JessicaTseng, modify charging termination current
336 qcom,chg-term-src = <1>;
337 qcom,chg-term-current-ma = <(-100)>;
338//>2020/06/04-JessicaTseng
339
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530340 qcom,chgr@1000 {
341 reg = <0x1000 0x100>;
342 interrupts =
343 <0x2 0x10 0x0 IRQ_TYPE_EDGE_RISING>,
344 <0x2 0x10 0x1 IRQ_TYPE_EDGE_RISING>,
345 <0x2 0x10 0x2 IRQ_TYPE_EDGE_RISING>,
346 <0x2 0x10 0x3 IRQ_TYPE_EDGE_RISING>,
347 <0x2 0x10 0x4 IRQ_TYPE_EDGE_RISING>,
348 <0x2 0x10 0x5 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530349 <0x2 0x10 0x6 IRQ_TYPE_EDGE_RISING>,
350 <0x2 0x10 0x7 IRQ_TYPE_EDGE_RISING>;
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530351
352 interrupt-names = "chgr-error",
353 "chg-state-change",
354 "step-chg-state-change",
355 "step-chg-soc-update-fail",
356 "step-chg-soc-update-req",
357 "fg-fvcal-qualified",
358 "vph-alarm",
359 "vph-drop-prechg";
360 };
361
362 qcom,dcdc@1100 {
363 reg = <0x1100 0x100>;
364 interrupts =
365 <0x2 0x11 0x0 IRQ_TYPE_EDGE_RISING>,
366 <0x2 0x11 0x1 IRQ_TYPE_EDGE_RISING>,
367 <0x2 0x11 0x2 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530368 <0x2 0x11 0x3 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530369 <0x2 0x11 0x4 IRQ_TYPE_EDGE_BOTH>,
370 <0x2 0x11 0x5 IRQ_TYPE_EDGE_BOTH>,
371 <0x2 0x11 0x6 IRQ_TYPE_EDGE_RISING>,
372 <0x2 0x11 0x7 IRQ_TYPE_EDGE_BOTH>;
373
374 interrupt-names = "otg-fail",
375 "otg-oc-disable-sw",
376 "otg-oc-hiccup",
377 "bsm-active",
378 "high-duty-cycle",
379 "input-current-limiting",
380 "concurrent-mode-disable",
381 "switcher-power-ok";
382 };
383
384 qcom,batif@1200 {
385 reg = <0x1200 0x100>;
386 interrupts =
387 <0x2 0x12 0x0 IRQ_TYPE_EDGE_RISING>,
388 <0x2 0x12 0x1 IRQ_TYPE_EDGE_RISING>,
389 <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
390 <0x2 0x12 0x3 IRQ_TYPE_EDGE_BOTH>,
391 <0x2 0x12 0x4 IRQ_TYPE_EDGE_BOTH>,
392 <0x2 0x12 0x5 IRQ_TYPE_EDGE_BOTH>,
393 <0x2 0x12 0x6 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530394 <0x2 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530395
396 interrupt-names = "bat-temp",
397 "all-chnl-conv-done",
398 "bat-ov",
399 "bat-low",
400 "bat-therm-or-id-missing",
401 "bat-terminal-missing",
402 "buck-oc",
403 "vph-ov";
404 };
405
406 qcom,usb@1300 {
407 reg = <0x1300 0x100>;
408 interrupts =
409 <0x2 0x13 0x0 IRQ_TYPE_EDGE_BOTH>,
410 <0x2 0x13 0x1 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswald346b562018-06-25 18:43:42 +0530411 <0x2 0x13 0x2 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530412 <0x2 0x13 0x3 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530413 <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
414 <0x2 0x13 0x5 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530415 <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>,
416 <0x2 0x13 0x7 IRQ_TYPE_EDGE_RISING>;
417
418 interrupt-names = "usbin-collapse",
419 "usbin-vashdn",
420 "usbin-uv",
421 "usbin-ov",
422 "usbin-plugin",
423 "usbin-revi-change",
424 "usbin-src-change",
425 "usbin-icl-change";
426 };
427
428 qcom,typec@1500 {
429 reg = <0x1500 0x100>;
430 interrupts =
431 <0x2 0x15 0x0 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530432 <0x2 0x15 0x1 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530433 <0x2 0x15 0x2 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530434 <0x2 0x15 0x3 IRQ_TYPE_EDGE_RISING>,
435 <0x2 0x15 0x4 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530436 <0x2 0x15 0x5 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530437 <0x2 0x15 0x6 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530438 <0x2 0x15 0x7 IRQ_TYPE_EDGE_RISING>;
439
440 interrupt-names = "typec-or-rid-detect-change",
441 "typec-vpd-detect",
442 "typec-cc-state-change",
443 "typec-vconn-oc",
444 "typec-vbus-change",
445 "typec-attach-detach",
446 "typec-legacy-cable-detect",
447 "typec-try-snk-src-detect";
448 };
449
450 qcom,misc@1600 {
451 reg = <0x1600 0x100>;
452 interrupts =
453 <0x2 0x16 0x0 IRQ_TYPE_EDGE_RISING>,
454 <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530455 <0x2 0x16 0x2 IRQ_TYPE_EDGE_RISING>,
456 <0x2 0x16 0x3 IRQ_TYPE_EDGE_RISING>,
457 <0x2 0x16 0x4 IRQ_TYPE_EDGE_BOTH>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530458 <0x2 0x16 0x5 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal9d3f1192018-03-07 19:05:59 +0530459 <0x2 0x16 0x6 IRQ_TYPE_EDGE_RISING>,
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530460 <0x2 0x16 0x7 IRQ_TYPE_EDGE_RISING>;
461
462 interrupt-names = "wdog-snarl",
463 "wdog-bark",
464 "aicl-fail",
465 "aicl-done",
466 "smb-en",
467 "imp-trigger",
468 "temp-change",
469 "temp-change-smb";
470 };
471
Ashay Jaiswal3ee6df62018-02-19 17:02:16 +0530472 qcom,schgm-flash@a600 {
473 reg = <0xa600 0x100>;
474 interrupts =
475 <0x2 0xa6 0x2 IRQ_TYPE_EDGE_RISING>,
476 <0x2 0xa6 0x5 IRQ_TYPE_EDGE_RISING>,
477 <0x2 0xa6 0x6 IRQ_TYPE_EDGE_RISING>,
478 <0x2 0xa6 0x7 IRQ_TYPE_EDGE_BOTH>;
479
480 interrupt-names = "flash-state-change",
481 "ilim1-s1",
482 "ilim2-s2",
483 "vreg-ok";
484 };
485
Ashay Jaiswal4e9d1d12018-02-11 14:56:48 +0530486 smb5_vbus: qcom,smb5-vbus {
487 regulator-name = "smb5-vbus";
488 };
489 };
Anirudh Ghayalb4b52282018-02-16 19:56:15 +0530490
491 pmi632_qg: qpnp,qg {
492 compatible = "qcom,qpnp-qg";
493 #address-cells = <1>;
494 #size-cells = <1>;
495
jessicatseng53e19682020-06-04 09:42:07 +0800496//<2020/06/04-JessicaTseng, modify charging termination current
497 //qcom,qg-iterm-ma = <100>;
498 qcom,qg-iterm-ma = <150>;
499//>2020/06/04-JessicaTseng
500
jessicatsengb3809992020-04-24 16:03:07 +0800501//<2020/04/24-JessicaTseng, Re-charge condition for battery to 4.3V
502 //qcom,hold-soc-while-full;
503 //qcom,linearize-soc;
504//>2020/04/24-JessicaTseng
Anirudh Ghayalb4b52282018-02-16 19:56:15 +0530505 qcom,qg-vadc = <&pmi632_vadc>;
506 qcom,pmic-revid = <&pmi632_revid>;
507
508 qcom,qgauge@4800 {
509 status = "okay";
510 reg = <0x4800 0x100>;
Anirudh Ghayalff3660e2018-04-19 10:21:18 +0530511 interrupts =
512 <0x2 0x48 0x0 IRQ_TYPE_EDGE_BOTH>,
513 <0x2 0x48 0x1 IRQ_TYPE_EDGE_BOTH>,
514 <0x2 0x48 0x2 IRQ_TYPE_EDGE_RISING>,
515 <0x2 0x48 0x3 IRQ_TYPE_EDGE_RISING>,
516 <0x2 0x48 0x4 IRQ_TYPE_EDGE_RISING>;
Anirudh Ghayalb4b52282018-02-16 19:56:15 +0530517 interrupt-names = "qg-batt-missing",
518 "qg-vbat-low",
519 "qg-vbat-empty",
520 "qg-fifo-done",
521 "qg-good-ocv";
522 };
523
524 qcom,qg-sdam@b100 {
525 status = "okay";
526 reg = <0xb100 0x100>;
527 };
528 };
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530529
530 bcl_sensor: bcl@3d00 {
Manaf Meethalavalappu Pallikunhie49406e2018-03-09 18:34:14 +0530531 compatible = "qcom,bcl-v5";
532 reg = <0x3d00 0x100>;
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530533 interrupts = <0x2 0x3d 0x0 IRQ_TYPE_NONE>,
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530534 <0x2 0x3d 0x1 IRQ_TYPE_NONE>,
535 <0x2 0x3d 0x0 IRQ_TYPE_NONE>,
536 <0x2 0x3d 0x1 IRQ_TYPE_NONE>,
537 <0x2 0x3d 0x2 IRQ_TYPE_NONE>;
538 interrupt-names = "bcl-ibat-lvl0",
539 "bcl-ibat-lvl1",
540 "bcl-vbat-lvl0",
541 "bcl-vbat-lvl1",
542 "bcl-vbat-lvl2";
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530543 #thermal-sensor-cells = <1>;
544 };
545
546 bcl_soc: bcl-soc {
547 compatible = "qcom,msm-bcl-soc";
548 #thermal-sensor-cells = <0>;
549 };
Fenglin Wub17f2452018-06-06 13:57:47 +0800550
551 pmi632_pbs_client3: qcom,pbs@7400 {
552 compatible = "qcom,qpnp-pbs";
553 reg = <0x7400 0x100>;
554 };
555
556 pmi632_sdam7: qcom,sdam@b600 {
557 compatible = "qcom,spmi-sdam";
558 reg = <0xb600 0x100>;
559 };
Umang Agrawal16b11602017-12-21 15:32:55 +0530560 };
561
562 pmi632_3: qcom,pmi632@3 {
563 compatible ="qcom,spmi-pmic";
564 reg = <0x3 SPMI_USID>;
Anirudh Ghayald77f8f62018-03-04 20:05:25 +0530565 #address-cells = <1>;
566 #size-cells = <1>;
Umang Agrawal16b11602017-12-21 15:32:55 +0530567
Tirupathi Reddy08968e82018-01-09 16:58:28 +0530568 pmi632_vib: qcom,vibrator@5700 {
569 compatible = "qcom,qpnp-vibrator-ldo";
570 reg = <0x5700 0x100>;
Tirupathi Reddy398336a2018-02-02 09:01:15 +0530571 qcom,vib-ldo-volt-uv = <3000000>;
Tirupathi Reddyab95bea2018-06-18 14:06:42 +0530572 qcom,disable-overdrive;
Tirupathi Reddy08968e82018-01-09 16:58:28 +0530573 };
574
Fenglin Wu80e87902018-01-24 11:39:47 +0800575 pmi632_pwm: qcom,pwms@b300 {
576 compatible = "qcom,pwm-lpg";
577 reg = <0xb300 0x500>;
578 reg-names = "lpg-base";
Umang Agrawal16b11602017-12-21 15:32:55 +0530579 #pwm-cells = <2>;
Fenglin Wub17f2452018-06-06 13:57:47 +0800580 nvmem-names = "ppg_sdam";
581 nvmem = <&pmi632_sdam7>;
582 qcom,pbs-client = <&pmi632_pbs_client3>;
583 qcom,lut-sdam-base = <0x80>;
yutingshih81a73512020-04-21 16:03:55 +0800584 //<2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][]Modified for breath ramp and timing.
585 #if 1
586 qcom,lut-patterns = <0 0 0 0 0 0 0 0 2 16 30 44 58 72 86 96 100 100
587 100 100 96 86 72 58 44 30 16 2 0 0 0 0 0 0 0 0>;
588 #else
589 /* Code default */
Fenglin Wub17f2452018-06-06 13:57:47 +0800590 qcom,lut-patterns = <0 0 0 14 28 42 56 70 84 100
591 100 84 70 56 42 28 14 0 0 0>;
yutingshih81a73512020-04-21 16:03:55 +0800592 #endif
593 //>2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][].
Fenglin Wub17f2452018-06-06 13:57:47 +0800594 lpg@1 {
595 qcom,lpg-chan-id = <1>;
yutingshih81a73512020-04-21 16:03:55 +0800596 //<2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][]Modified for breath ramp and timing.
597 #if 1
598 qcom,ramp-step-ms = <60>;
599 qcom,ramp-pause-hi-count = <80>;
600 qcom,ramp-pause-lo-count = <80>;
601 qcom,ramp-low-index = <0>;
602 qcom,ramp-high-index = <35>;
603 //qcom,ramp-toggle; /* ramp from high to low */
604 //qcom,ramp-from-low-to-high;
605 qcom,ramp-pattern-repeat;
606 #else
607 /* Code default */
Fenglin Wub17f2452018-06-06 13:57:47 +0800608 qcom,ramp-step-ms = <200>;
609 qcom,ramp-low-index = <0>;
610 qcom,ramp-high-index = <19>;
611 qcom,ramp-pattern-repeat;
yutingshih81a73512020-04-21 16:03:55 +0800612 #endif
613 //>2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][].
Fenglin Wub17f2452018-06-06 13:57:47 +0800614 qcom,lpg-sdam-base = <0x48>;
615 };
616 lpg@2 {
617 qcom,lpg-chan-id = <2>;
yutingshih81a73512020-04-21 16:03:55 +0800618 //<2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][]Modified for breath ramp and timing.
619 #if 1
620 qcom,ramp-step-ms = <60>;
621 qcom,ramp-pause-hi-count = <80>;
622 qcom,ramp-pause-lo-count = <80>;
623 qcom,ramp-low-index = <0>;
624 qcom,ramp-high-index = <35>;
625 //qcom,ramp-toggle; /* ramp from high to low */
626 //qcom,ramp-from-low-to-high;
627 qcom,ramp-pattern-repeat;
628 #else
629 /* Code default */
Fenglin Wub17f2452018-06-06 13:57:47 +0800630 qcom,ramp-step-ms = <200>;
631 qcom,ramp-low-index = <0>;
632 qcom,ramp-high-index = <19>;
633 qcom,ramp-pattern-repeat;
yutingshih81a73512020-04-21 16:03:55 +0800634 #endif
635 //>2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][].
Fenglin Wub17f2452018-06-06 13:57:47 +0800636 qcom,lpg-sdam-base = <0x56>;
637 };
638 lpg@3 {
639 qcom,lpg-chan-id = <3>;
yutingshih81a73512020-04-21 16:03:55 +0800640 //<2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][]Modified for breath ramp and timing.
641 #if 1
642 qcom,ramp-step-ms = <60>;
643 qcom,ramp-pause-hi-count = <80>;
644 qcom,ramp-pause-lo-count = <80>;
645 qcom,ramp-low-index = <0>;
646 qcom,ramp-high-index = <35>;
647 //qcom,ramp-toggle; /* ramp from high to low */
648 //qcom,ramp-from-low-to-high;
649 qcom,ramp-pattern-repeat;
650 #else
651 /* Code default */
Fenglin Wub17f2452018-06-06 13:57:47 +0800652 qcom,ramp-step-ms = <200>;
653 qcom,ramp-low-index = <0>;
654 qcom,ramp-high-index = <19>;
655 qcom,ramp-pattern-repeat;
yutingshih81a73512020-04-21 16:03:55 +0800656 #endif
657 //>2020/04/21-Yuting Shih.[FAIRPHONE-Q][MISC][COMMON][LED][][].
Fenglin Wub17f2452018-06-06 13:57:47 +0800658 qcom,lpg-sdam-base = <0x64>;
659 };
Umang Agrawal16b11602017-12-21 15:32:55 +0530660 };
661
Fenglin Wu80e87902018-01-24 11:39:47 +0800662 pmi632_rgb: qcom,leds@d000 {
663 compatible = "qcom,tri-led";
664 reg = <0xd000 0x100>;
665 red {
666 label = "red";
667 pwms = <&pmi632_pwm 0 1000000>;
668 led-sources = <0>;
Fenglin Wuc6759002018-02-28 10:46:19 +0800669 linux,default-trigger = "timer";
Fenglin Wu80e87902018-01-24 11:39:47 +0800670 };
671 green {
672 label = "green";
673 pwms = <&pmi632_pwm 1 1000000>;
674 led-sources = <1>;
Fenglin Wuc6759002018-02-28 10:46:19 +0800675 linux,default-trigger = "timer";
Fenglin Wu80e87902018-01-24 11:39:47 +0800676 };
677 blue {
678 label = "blue";
679 pwms = <&pmi632_pwm 2 1000000>;
680 led-sources = <2>;
Fenglin Wuc6759002018-02-28 10:46:19 +0800681 linux,default-trigger = "timer";
Fenglin Wu80e87902018-01-24 11:39:47 +0800682 };
Umang Agrawal16b11602017-12-21 15:32:55 +0530683 };
Kiran Gunda833a5c72018-01-09 18:34:42 +0530684
685 pmi632_lcdb: qpnp-lcdb@ec00 {
686 compatible = "qcom,qpnp-lcdb-regulator";
687 #address-cells = <1>;
688 #size-cells = <1>;
689 reg = <0xec00 0x100>;
690 interrupts = <0x3 0xec 0x1 IRQ_TYPE_EDGE_RISING>;
691 interrupt-names = "sc-irq";
692
693 qcom,pmic-revid = <&pmi632_revid>;
Kiran Gunda440f9eb2018-09-12 14:57:29 +0530694 qcom,voltage-step-ramp;
Kiran Gunda833a5c72018-01-09 18:34:42 +0530695
696 lcdb_ldo_vreg: ldo {
697 label = "ldo";
698 regulator-name = "lcdb_ldo";
699 regulator-min-microvolt = <4000000>;
700 regulator-max-microvolt = <6000000>;
701 };
702
703 lcdb_ncp_vreg: ncp {
704 label = "ncp";
705 regulator-name = "lcdb_ncp";
706 regulator-min-microvolt = <4000000>;
707 regulator-max-microvolt = <6000000>;
708 };
Kiran Gunda777182b2018-09-07 17:19:59 +0530709
710 lcdb_bst_vreg: bst {
711 label = "bst";
712 regulator-name = "lcdb_bst";
713 regulator-min-microvolt = <4700000>;
714 regulator-max-microvolt = <6275000>;
715 };
Kiran Gunda833a5c72018-01-09 18:34:42 +0530716 };
Kiran Gunda27259b52018-01-16 15:12:04 +0530717
718 flash_led: qcom,leds@d300 {
719 compatible = "qcom,qpnp-flash-led-v2";
720 status = "okay";
721 reg = <0xd300 0x100>;
722 label = "flash";
723 interrupts = <0x3 0xd3 0x0 IRQ_TYPE_EDGE_RISING>,
724 <0x3 0xd3 0x3 IRQ_TYPE_EDGE_RISING>,
725 <0x3 0xd3 0x4 IRQ_TYPE_EDGE_RISING>;
726 interrupt-names = "led-fault-irq",
727 "all-ramp-down-done-irq",
728 "all-ramp-up-done-irq";
729 qcom,short-circuit-det;
730 qcom,open-circuit-det;
731 qcom,vph-droop-det;
732 qcom,thermal-derate-en;
733 qcom,thermal-derate-current = <200 500 1000>;
734 qcom,isc-delay = <192>;
735 qcom,pmic-revid = <&pmi632_revid>;
736
737 pmi632_flash0: qcom,flash_0 {
738 label = "flash";
739 qcom,led-name = "led:flash_0";
740 qcom,max-current = <1500>;
741 qcom,default-led-trigger = "flash0_trigger";
742 qcom,id = <0>;
743 qcom,current-ma = <1000>;
744 qcom,duration-ms = <1280>;
745 qcom,ires-ua = <12500>;
746 qcom,hdrm-voltage-mv = <400>;
747 qcom,hdrm-vol-hi-lo-win-mv = <100>;
748 };
749
750 pmi632_flash1: qcom,flash_1 {
751 label = "flash";
752 qcom,led-name = "led:flash_1";
753 qcom,max-current = <1500>;
754 qcom,default-led-trigger = "flash1_trigger";
755 qcom,id = <1>;
756 qcom,current-ma = <1000>;
757 qcom,duration-ms = <1280>;
758 qcom,ires-ua = <12500>;
759 qcom,hdrm-voltage-mv = <400>;
760 qcom,hdrm-vol-hi-lo-win-mv = <100>;
761 };
762
763 pmi632_torch0: qcom,torch_0 {
764 label = "torch";
765 qcom,led-name = "led:torch_0";
766 qcom,max-current = <500>;
767 qcom,default-led-trigger = "torch0_trigger";
768 qcom,id = <0>;
769 qcom,current-ma = <300>;
770 qcom,ires-ua = <12500>;
771 qcom,hdrm-voltage-mv = <400>;
772 qcom,hdrm-vol-hi-lo-win-mv = <100>;
773 };
774
775 pmi632_torch1: qcom,torch_1 {
776 label = "torch";
777 qcom,led-name = "led:torch_1";
778 qcom,max-current = <500>;
779 qcom,default-led-trigger = "torch1_trigger";
780 qcom,id = <1>;
781 qcom,current-ma = <300>;
782 qcom,ires-ua = <12500>;
783 qcom,hdrm-voltage-mv = <400>;
784 qcom,hdrm-vol-hi-lo-win-mv = <100>;
785 };
786
787 pmi632_switch0: qcom,led_switch_0 {
788 label = "switch";
789 qcom,led-name = "led:switch_0";
790 qcom,led-mask = <3>;
791 qcom,default-led-trigger = "switch0_trigger";
792 };
793
794 pmi632_switch1: qcom,led_switch_1 {
795 label = "switch";
796 qcom,led-name = "led:switch_1";
797 qcom,led-mask = <2>;
798 qcom,default-led-trigger = "switch1_trigger";
799 };
800
801 };
802
Umang Agrawal16b11602017-12-21 15:32:55 +0530803 };
804};
Vijay kumar Tumati26fe6282018-02-21 18:40:21 +0530805&soc {
806 led_flash0: qcom,camera-flash {
807 cell-index = <0>;
808 compatible = "qcom,camera-flash";
809 qcom,flash-type = <1>;
810 qcom,flash-source = <&pmi632_flash0 &pmi632_flash1>;
811 qcom,torch-source = <&pmi632_torch0 &pmi632_torch1>;
812 qcom,switch-source = <&pmi632_switch0>;
813 };
814};
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530815
816&thermal_zones {
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530817 pmi-ibat-lvl0 {
Manaf Meethalavalappu Pallikunhi2c240a62018-04-05 23:54:47 +0530818 polling-delay-passive = <100>;
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530819 polling-delay = <0>;
820 thermal-governor = "step_wise";
821 thermal-sensors = <&bcl_sensor 0>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530822 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530823
824 trips {
Manaf Meethalavalappu Pallikunhi2c240a62018-04-05 23:54:47 +0530825 pmi632_ibat_lvl0: ibat-lvl0 {
826 temperature = <4000>;
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530827 hysteresis = <200>;
828 type = "passive";
829 };
830 };
831 };
832
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530833 pmi-ibat-lvl1 {
834 polling-delay-passive = <0>;
835 polling-delay = <0>;
836 thermal-governor = "step_wise";
837 thermal-sensors = <&bcl_sensor 1>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530838 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530839
840 trips {
841 ibat-lvl1 {
Manaf Meethalavalappu Pallikunhi2c240a62018-04-05 23:54:47 +0530842 temperature = <4200>;
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530843 hysteresis = <200>;
844 type = "passive";
845 };
846 };
847 };
848
849 pmi-vbat-lvl0 {
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530850 polling-delay-passive = <100>;
851 polling-delay = <0>;
852 thermal-governor = "low_limits_cap";
853 thermal-sensors = <&bcl_sensor 2>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530854 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530855 tracks-low;
856
857 trips {
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530858 pmi632_vbat_lvl0: vbat-lvl0 {
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530859 temperature = <3000>;
860 hysteresis = <100>;
861 type = "passive";
862 };
863 };
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530864 };
865
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530866 pmi-vbat-lvl1 {
867 polling-delay-passive = <0>;
868 polling-delay = <0>;
869 thermal-governor = "low_limits_cap";
870 thermal-sensors = <&bcl_sensor 3>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530871 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530872 tracks-low;
873
874 trips {
875 vbat-lvl1 {
876 temperature = <2800>;
877 hysteresis = <100>;
878 type = "passive";
879 };
880 };
881 };
882
883 pmi-vbat-lvl2 {
884 polling-delay-passive = <0>;
885 polling-delay = <0>;
886 thermal-governor = "low_limits_cap";
887 thermal-sensors = <&bcl_sensor 4>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530888 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhi20763dda2018-03-09 19:34:43 +0530889 tracks-low;
890
891 trips {
892 vbat-lvl1 {
893 temperature = <2600>;
894 hysteresis = <100>;
895 type = "passive";
896 };
897 };
898 };
899
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530900 soc {
901 polling-delay-passive = <100>;
902 polling-delay = <0>;
903 thermal-governor = "low_limits_cap";
904 thermal-sensors = <&bcl_soc>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530905 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530906 tracks-low;
907
908 trips {
909 pmi632_low_soc: low-soc {
910 temperature = <10>;
911 hysteresis = <0>;
912 type = "passive";
913 };
914 };
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530915 };
Manaf Meethalavalappu Pallikunhiabfcb46b2018-03-15 17:51:29 +0530916
917 pmi632_tz {
918 polling-delay-passive = <0>;
919 polling-delay = <0>;
920 thermal-governor = "step_wise";
921 thermal-sensors = <&pmi632_tz>;
Manaf Meethalavalappu Pallikunhi72554b12019-07-30 22:24:45 +0530922 wake-capable-sensor;
Manaf Meethalavalappu Pallikunhiabfcb46b2018-03-15 17:51:29 +0530923
924 trips {
925 pmi632_tz_trip0: pmi632-trip0 {
926 temperature = <105000>;
927 hysteresis = <0>;
928 type = "passive";
929 };
930 pmi632_tz_trip1: pmi632-trip1 {
931 temperature = <125000>;
932 hysteresis = <0>;
933 type = "passive";
934 };
935 pmi632_tz_trip2: pmi632-trip2 {
936 temperature = <145000>;
937 hysteresis = <0>;
938 type = "passive";
939 };
940 };
941 };
Manaf Meethalavalappu Pallikunhi0c5f0162018-02-24 01:55:58 +0530942};