Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / include / linux / mfd / da9052 / reg.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Register declarations for DA9052 PMICs.
4  *
5  * Copyright(c) 2011 Dialog Semiconductor Ltd.
6  *
7  * Author: David Dajun Chen <dchen@diasemi.com>
8  */
9
10 #ifndef __LINUX_MFD_DA9052_REG_H
11 #define __LINUX_MFD_DA9052_REG_H
12
13 /* PAGE REGISTERS */
14 #define DA9052_PAGE0_CON_REG            0
15 #define DA9052_PAGE1_CON_REG            128
16
17 /* STATUS REGISTERS */
18 #define DA9052_STATUS_A_REG             1
19 #define DA9052_STATUS_B_REG             2
20 #define DA9052_STATUS_C_REG             3
21 #define DA9052_STATUS_D_REG             4
22
23 /* PARK REGISTER */
24 #define DA9052_PARK_REGISTER            DA9052_STATUS_D_REG
25
26 /* EVENT REGISTERS */
27 #define DA9052_EVENT_A_REG              5
28 #define DA9052_EVENT_B_REG              6
29 #define DA9052_EVENT_C_REG              7
30 #define DA9052_EVENT_D_REG              8
31 #define DA9052_FAULTLOG_REG             9
32
33 /* IRQ REGISTERS */
34 #define DA9052_IRQ_MASK_A_REG           10
35 #define DA9052_IRQ_MASK_B_REG           11
36 #define DA9052_IRQ_MASK_C_REG           12
37 #define DA9052_IRQ_MASK_D_REG           13
38
39 /* CONTROL REGISTERS */
40 #define DA9052_CONTROL_A_REG            14
41 #define DA9052_CONTROL_B_REG            15
42 #define DA9052_CONTROL_C_REG            16
43 #define DA9052_CONTROL_D_REG            17
44
45 #define DA9052_PDDIS_REG                18
46 #define DA9052_INTERFACE_REG            19
47 #define DA9052_RESET_REG                20
48
49 /* GPIO REGISTERS */
50 #define DA9052_GPIO_0_1_REG             21
51 #define DA9052_GPIO_2_3_REG             22
52 #define DA9052_GPIO_4_5_REG             23
53 #define DA9052_GPIO_6_7_REG             24
54 #define DA9052_GPIO_8_9_REG             25
55 #define DA9052_GPIO_10_11_REG           26
56 #define DA9052_GPIO_12_13_REG           27
57 #define DA9052_GPIO_14_15_REG           28
58
59 /* POWER SEQUENCER CONTROL REGISTERS */
60 #define DA9052_ID_0_1_REG               29
61 #define DA9052_ID_2_3_REG               30
62 #define DA9052_ID_4_5_REG               31
63 #define DA9052_ID_6_7_REG               32
64 #define DA9052_ID_8_9_REG               33
65 #define DA9052_ID_10_11_REG             34
66 #define DA9052_ID_12_13_REG             35
67 #define DA9052_ID_14_15_REG             36
68 #define DA9052_ID_16_17_REG             37
69 #define DA9052_ID_18_19_REG             38
70 #define DA9052_ID_20_21_REG             39
71 #define DA9052_SEQ_STATUS_REG           40
72 #define DA9052_SEQ_A_REG                41
73 #define DA9052_SEQ_B_REG                42
74 #define DA9052_SEQ_TIMER_REG            43
75
76 /* LDO AND BUCK REGISTERS */
77 #define DA9052_BUCKA_REG                44
78 #define DA9052_BUCKB_REG                45
79 #define DA9052_BUCKCORE_REG             46
80 #define DA9052_BUCKPRO_REG              47
81 #define DA9052_BUCKMEM_REG              48
82 #define DA9052_BUCKPERI_REG             49
83 #define DA9052_LDO1_REG         50
84 #define DA9052_LDO2_REG         51
85 #define DA9052_LDO3_REG         52
86 #define DA9052_LDO4_REG         53
87 #define DA9052_LDO5_REG         54
88 #define DA9052_LDO6_REG         55
89 #define DA9052_LDO7_REG         56
90 #define DA9052_LDO8_REG         57
91 #define DA9052_LDO9_REG         58
92 #define DA9052_LDO10_REG                59
93 #define DA9052_SUPPLY_REG               60
94 #define DA9052_PULLDOWN_REG             61
95 #define DA9052_CHGBUCK_REG              62
96 #define DA9052_WAITCONT_REG             63
97 #define DA9052_ISET_REG         64
98 #define DA9052_BATCHG_REG               65
99
100 /* BATTERY CONTROL REGISTRS */
101 #define DA9052_CHG_CONT_REG             66
102 #define DA9052_INPUT_CONT_REG           67
103 #define DA9052_CHG_TIME_REG             68
104 #define DA9052_BBAT_CONT_REG            69
105
106 /* LED CONTROL REGISTERS */
107 #define DA9052_BOOST_REG                70
108 #define DA9052_LED_CONT_REG             71
109 #define DA9052_LEDMIN123_REG            72
110 #define DA9052_LED1_CONF_REG            73
111 #define DA9052_LED2_CONF_REG            74
112 #define DA9052_LED3_CONF_REG            75
113 #define DA9052_LED1CONT_REG             76
114 #define DA9052_LED2CONT_REG             77
115 #define DA9052_LED3CONT_REG             78
116 #define DA9052_LED_CONT_4_REG           79
117 #define DA9052_LED_CONT_5_REG           80
118
119 /* ADC CONTROL REGISTERS */
120 #define DA9052_ADC_MAN_REG              81
121 #define DA9052_ADC_CONT_REG             82
122 #define DA9052_ADC_RES_L_REG            83
123 #define DA9052_ADC_RES_H_REG            84
124 #define DA9052_VDD_RES_REG              85
125 #define DA9052_VDD_MON_REG              86
126
127 #define DA9052_ICHG_AV_REG              87
128 #define DA9052_ICHG_THD_REG             88
129 #define DA9052_ICHG_END_REG             89
130 #define DA9052_TBAT_RES_REG             90
131 #define DA9052_TBAT_HIGHP_REG           91
132 #define DA9052_TBAT_HIGHN_REG           92
133 #define DA9052_TBAT_LOW_REG             93
134 #define DA9052_T_OFFSET_REG             94
135
136 #define DA9052_ADCIN4_RES_REG           95
137 #define DA9052_AUTO4_HIGH_REG           96
138 #define DA9052_AUTO4_LOW_REG            97
139 #define DA9052_ADCIN5_RES_REG           98
140 #define DA9052_AUTO5_HIGH_REG           99
141 #define DA9052_AUTO5_LOW_REG            100
142 #define DA9052_ADCIN6_RES_REG           101
143 #define DA9052_AUTO6_HIGH_REG           102
144 #define DA9052_AUTO6_LOW_REG            103
145
146 #define DA9052_TJUNC_RES_REG            104
147
148 /* TSI CONTROL REGISTERS */
149 #define DA9052_TSI_CONT_A_REG           105
150 #define DA9052_TSI_CONT_B_REG           106
151 #define DA9052_TSI_X_MSB_REG            107
152 #define DA9052_TSI_Y_MSB_REG            108
153 #define DA9052_TSI_LSB_REG              109
154 #define DA9052_TSI_Z_MSB_REG            110
155
156 /* RTC COUNT REGISTERS */
157 #define DA9052_COUNT_S_REG              111
158 #define DA9052_COUNT_MI_REG             112
159 #define DA9052_COUNT_H_REG              113
160 #define DA9052_COUNT_D_REG              114
161 #define DA9052_COUNT_MO_REG             115
162 #define DA9052_COUNT_Y_REG              116
163
164 /* RTC CONTROL REGISTERS */
165 #define DA9052_ALARM_MI_REG             117
166 #define DA9052_ALARM_H_REG              118
167 #define DA9052_ALARM_D_REG              119
168 #define DA9052_ALARM_MO_REG             120
169 #define DA9052_ALARM_Y_REG              121
170 #define DA9052_SECOND_A_REG             122
171 #define DA9052_SECOND_B_REG             123
172 #define DA9052_SECOND_C_REG             124
173 #define DA9052_SECOND_D_REG             125
174
175 /* PAGE CONFIGURATION BIT */
176 #define DA9052_PAGE_CONF                0X80
177
178 /* STATUS REGISTER A BITS */
179 #define DA9052_STATUSA_VDATDET          0X80
180 #define DA9052_STATUSA_VBUSSEL          0X40
181 #define DA9052_STATUSA_DCINSEL          0X20
182 #define DA9052_STATUSA_VBUSDET          0X10
183 #define DA9052_STATUSA_DCINDET          0X08
184 #define DA9052_STATUSA_IDGND            0X04
185 #define DA9052_STATUSA_IDFLOAT          0X02
186 #define DA9052_STATUSA_NONKEY           0X01
187
188 /* STATUS REGISTER B BITS */
189 #define DA9052_STATUSB_COMPDET          0X80
190 #define DA9052_STATUSB_SEQUENCING       0X40
191 #define DA9052_STATUSB_GPFB2            0X20
192 #define DA9052_STATUSB_CHGTO            0X10
193 #define DA9052_STATUSB_CHGEND           0X08
194 #define DA9052_STATUSB_CHGLIM           0X04
195 #define DA9052_STATUSB_CHGPRE           0X02
196 #define DA9052_STATUSB_CHGATT           0X01
197
198 /* STATUS REGISTER C BITS */
199 #define DA9052_STATUSC_GPI7             0X80
200 #define DA9052_STATUSC_GPI6             0X40
201 #define DA9052_STATUSC_GPI5             0X20
202 #define DA9052_STATUSC_GPI4             0X10
203 #define DA9052_STATUSC_GPI3             0X08
204 #define DA9052_STATUSC_GPI2             0X04
205 #define DA9052_STATUSC_GPI1             0X02
206 #define DA9052_STATUSC_GPI0             0X01
207
208 /* STATUS REGISTER D BITS */
209 #define DA9052_STATUSD_GPI15            0X80
210 #define DA9052_STATUSD_GPI14            0X40
211 #define DA9052_STATUSD_GPI13            0X20
212 #define DA9052_STATUSD_GPI12            0X10
213 #define DA9052_STATUSD_GPI11            0X08
214 #define DA9052_STATUSD_GPI10            0X04
215 #define DA9052_STATUSD_GPI9             0X02
216 #define DA9052_STATUSD_GPI8             0X01
217
218 /* EVENT REGISTER A BITS */
219 #define DA9052_EVENTA_ECOMP1V2          0X80
220 #define DA9052_EVENTA_ESEQRDY           0X40
221 #define DA9052_EVENTA_EALRAM            0X20
222 #define DA9052_EVENTA_EVDDLOW           0X10
223 #define DA9052_EVENTA_EVBUSREM          0X08
224 #define DA9052_EVENTA_EDCINREM          0X04
225 #define DA9052_EVENTA_EVBUSDET          0X02
226 #define DA9052_EVENTA_EDCINDET          0X01
227
228 /* EVENT REGISTER B BITS */
229 #define DA9052_EVENTB_ETSIREADY 0X80
230 #define DA9052_EVENTB_EPENDOWN          0X40
231 #define DA9052_EVENTB_EADCEOM           0X20
232 #define DA9052_EVENTB_ETBAT             0X10
233 #define DA9052_EVENTB_ECHGEND           0X08
234 #define DA9052_EVENTB_EIDGND            0X04
235 #define DA9052_EVENTB_EIDFLOAT          0X02
236 #define DA9052_EVENTB_ENONKEY           0X01
237
238 /* EVENT REGISTER C BITS */
239 #define DA9052_EVENTC_EGPI7             0X80
240 #define DA9052_EVENTC_EGPI6             0X40
241 #define DA9052_EVENTC_EGPI5             0X20
242 #define DA9052_EVENTC_EGPI4             0X10
243 #define DA9052_EVENTC_EGPI3             0X08
244 #define DA9052_EVENTC_EGPI2             0X04
245 #define DA9052_EVENTC_EGPI1             0X02
246 #define DA9052_EVENTC_EGPI0             0X01
247
248 /* EVENT REGISTER D BITS */
249 #define DA9052_EVENTD_EGPI15            0X80
250 #define DA9052_EVENTD_EGPI14            0X40
251 #define DA9052_EVENTD_EGPI13            0X20
252 #define DA9052_EVENTD_EGPI12            0X10
253 #define DA9052_EVENTD_EGPI11            0X08
254 #define DA9052_EVENTD_EGPI10            0X04
255 #define DA9052_EVENTD_EGPI9             0X02
256 #define DA9052_EVENTD_EGPI8             0X01
257
258 /* IRQ MASK REGISTERS BITS */
259 #define DA9052_M_NONKEY         0X0100
260
261 /* TSI EVENT REGISTERS BITS */
262 #define DA9052_E_PEN_DOWN               0X4000
263 #define DA9052_E_TSI_READY              0X8000
264
265 /* FAULT LOG REGISTER BITS */
266 #define DA9052_FAULTLOG_WAITSET 0X80
267 #define DA9052_FAULTLOG_NSDSET          0X40
268 #define DA9052_FAULTLOG_KEYSHUT 0X20
269 #define DA9052_FAULTLOG_TEMPOVER        0X08
270 #define DA9052_FAULTLOG_VDDSTART        0X04
271 #define DA9052_FAULTLOG_VDDFAULT        0X02
272 #define DA9052_FAULTLOG_TWDERROR        0X01
273
274 /* CONTROL REGISTER A BITS */
275 #define DA9052_CONTROLA_GPIV            0X80
276 #define DA9052_CONTROLA_PMOTYPE 0X20
277 #define DA9052_CONTROLA_PMOV            0X10
278 #define DA9052_CONTROLA_PMIV            0X08
279 #define DA9052_CONTROLA_PMIFV           0X08
280 #define DA9052_CONTROLA_PWR1EN          0X04
281 #define DA9052_CONTROLA_PWREN           0X02
282 #define DA9052_CONTROLA_SYSEN           0X01
283
284 /* CONTROL REGISTER B BITS */
285 #define DA9052_CONTROLB_SHUTDOWN        0X80
286 #define DA9052_CONTROLB_DEEPSLEEP       0X40
287 #define DA9052_CONTROL_B_WRITEMODE      0X20
288 #define DA9052_CONTROLB_BBATEN          0X10
289 #define DA9052_CONTROLB_OTPREADEN       0X08
290 #define DA9052_CONTROLB_AUTOBOOT        0X04
291 #define DA9052_CONTROLB_ACTDIODE        0X02
292 #define DA9052_CONTROLB_BUCKMERGE       0X01
293
294 /* CONTROL REGISTER C BITS */
295 #define DA9052_CONTROLC_BLINKDUR        0X80
296 #define DA9052_CONTROLC_BLINKFRQ        0X60
297 #define DA9052_CONTROLC_DEBOUNCING      0X1C
298 #define DA9052_CONTROLC_PMFB2PIN        0X02
299 #define DA9052_CONTROLC_PMFB1PIN        0X01
300
301 /* CONTROL REGISTER D BITS */
302 #define DA9052_CONTROLD_WATCHDOG        0X80
303 #define DA9052_CONTROLD_ACCDETEN        0X40
304 #define DA9052_CONTROLD_GPI1415SD       0X20
305 #define DA9052_CONTROLD_NONKEYSD        0X10
306 #define DA9052_CONTROLD_KEEPACTEN       0X08
307 #define DA9052_CONTROLD_TWDSCALE        0X07
308
309 /* POWER DOWN DISABLE REGISTER BITS */
310 #define DA9052_PDDIS_PMCONTPD           0X80
311 #define DA9052_PDDIS_OUT32KPD           0X40
312 #define DA9052_PDDIS_CHGBBATPD          0X20
313 #define DA9052_PDDIS_CHGPD              0X10
314 #define DA9052_PDDIS_HS2WIREPD          0X08
315 #define DA9052_PDDIS_PMIFPD             0X04
316 #define DA9052_PDDIS_GPADCPD            0X02
317 #define DA9052_PDDIS_GPIOPD             0X01
318
319 /* CONTROL REGISTER D BITS */
320 #define DA9052_INTERFACE_IFBASEADDR     0XE0
321 #define DA9052_INTERFACE_NCSPOL 0X10
322 #define DA9052_INTERFACE_RWPOL          0X08
323 #define DA9052_INTERFACE_CPHA           0X04
324 #define DA9052_INTERFACE_CPOL           0X02
325 #define DA9052_INTERFACE_IFTYPE 0X01
326
327 /* CONTROL REGISTER D BITS */
328 #define DA9052_RESET_RESETEVENT 0XC0
329 #define DA9052_RESET_RESETTIMER 0X3F
330
331 /* GPIO REGISTERS */
332 /* GPIO CONTROL REGISTER BITS */
333 #define DA9052_GPIO_EVEN_PORT_PIN       0X03
334 #define DA9052_GPIO_EVEN_PORT_TYPE      0X04
335 #define DA9052_GPIO_EVEN_PORT_MODE      0X08
336
337 #define DA9052_GPIO_ODD_PORT_PIN        0X30
338 #define DA9052_GPIO_ODD_PORT_TYPE       0X40
339 #define DA9052_GPIO_ODD_PORT_MODE       0X80
340
341 /*POWER SEQUENCER REGISTER BITS */
342 /* SEQ CONTROL REGISTER BITS FOR ID 0 AND 1 */
343 #define DA9052_ID01_LDO1STEP            0XF0
344 #define DA9052_ID01_SYSPRE              0X04
345 #define DA9052_ID01_DEFSUPPLY           0X02
346 #define DA9052_ID01_NRESMODE            0X01
347
348 /* SEQ CONTROL REGISTER BITS FOR ID 2 AND 3 */
349 #define DA9052_ID23_LDO3STEP            0XF0
350 #define DA9052_ID23_LDO2STEP            0X0F
351
352 /* SEQ CONTROL REGISTER BITS FOR ID 4 AND 5 */
353 #define DA9052_ID45_LDO5STEP            0XF0
354 #define DA9052_ID45_LDO4STEP            0X0F
355
356 /* SEQ CONTROL REGISTER BITS FOR ID 6 AND 7 */
357 #define DA9052_ID67_LDO7STEP            0XF0
358 #define DA9052_ID67_LDO6STEP            0X0F
359
360 /* SEQ CONTROL REGISTER BITS FOR ID 8 AND 9 */
361 #define DA9052_ID89_LDO9STEP            0XF0
362 #define DA9052_ID89_LDO8STEP            0X0F
363
364 /* SEQ CONTROL REGISTER BITS FOR ID 10 AND 11 */
365 #define DA9052_ID1011_PDDISSTEP 0XF0
366 #define DA9052_ID1011_LDO10STEP 0X0F
367
368 /* SEQ CONTROL REGISTER BITS FOR ID 12 AND 13 */
369 #define DA9052_ID1213_VMEMSWSTEP        0XF0
370 #define DA9052_ID1213_VPERISWSTEP       0X0F
371
372 /* SEQ CONTROL REGISTER BITS FOR ID 14 AND 15 */
373 #define DA9052_ID1415_BUCKPROSTEP       0XF0
374 #define DA9052_ID1415_BUCKCORESTEP      0X0F
375
376 /* SEQ CONTROL REGISTER BITS FOR ID 16 AND 17 */
377 #define DA9052_ID1617_BUCKPERISTEP      0XF0
378 #define DA9052_ID1617_BUCKMEMSTEP       0X0F
379
380 /* SEQ CONTROL REGISTER BITS FOR ID 18 AND 19 */
381 #define DA9052_ID1819_GPRISE2STEP       0XF0
382 #define DA9052_ID1819_GPRISE1STEP       0X0F
383
384 /* SEQ CONTROL REGISTER BITS FOR ID 20 AND 21 */
385 #define DA9052_ID2021_GPFALL2STEP       0XF0
386 #define DA9052_ID2021_GPFALL1STEP       0X0F
387
388 /* POWER SEQ STATUS REGISTER BITS */
389 #define DA9052_SEQSTATUS_SEQPOINTER     0XF0
390 #define DA9052_SEQSTATUS_WAITSTEP       0X0F
391
392 /* POWER SEQ A REGISTER BITS */
393 #define DA9052_SEQA_POWEREND            0XF0
394 #define DA9052_SEQA_SYSTEMEND           0X0F
395
396 /* POWER SEQ B REGISTER BITS */
397 #define DA9052_SEQB_PARTDOWN            0XF0
398 #define DA9052_SEQB_MAXCOUNT            0X0F
399
400 /* POWER SEQ TIMER REGISTER BITS */
401 #define DA9052_SEQTIMER_SEQDUMMY        0XF0
402 #define DA9052_SEQTIMER_SEQTIME 0X0F
403
404 /*POWER SUPPLY CONTROL REGISTER BITS */
405 /* BUCK REGISTER A BITS */
406 #define DA9052_BUCKA_BPROILIM           0XC0
407 #define DA9052_BUCKA_BPROMODE           0X30
408 #define DA9052_BUCKA_BCOREILIM          0X0C
409 #define DA9052_BUCKA_BCOREMODE          0X03
410
411 /* BUCK REGISTER B BITS */
412 #define DA9052_BUCKB_BERIILIM           0XC0
413 #define DA9052_BUCKB_BPERIMODE          0X30
414 #define DA9052_BUCKB_BMEMILIM           0X0C
415 #define DA9052_BUCKB_BMEMMODE           0X03
416
417 /* BUCKCORE REGISTER BITS */
418 #define DA9052_BUCKCORE_BCORECONF       0X80
419 #define DA9052_BUCKCORE_BCOREEN 0X40
420 #define DA9052_BUCKCORE_VBCORE          0X3F
421
422 /* BUCKPRO REGISTER BITS */
423 #define DA9052_BUCKPRO_BPROCONF 0X80
424 #define DA9052_BUCKPRO_BPROEN           0X40
425 #define DA9052_BUCKPRO_VBPRO            0X3F
426
427 /* BUCKMEM REGISTER BITS */
428 #define DA9052_BUCKMEM_BMEMCONF 0X80
429 #define DA9052_BUCKMEM_BMEMEN           0X40
430 #define DA9052_BUCKMEM_VBMEM            0X3F
431
432 /* BUCKPERI REGISTER BITS */
433 #define DA9052_BUCKPERI_BPERICONF       0X80
434 #define DA9052_BUCKPERI_BPERIEN 0X40
435 #define DA9052_BUCKPERI_BPERIHS 0X20
436 #define DA9052_BUCKPERI_VBPERI          0X1F
437
438 /* LDO1 REGISTER BITS */
439 #define DA9052_LDO1_LDO1CONF            0X80
440 #define DA9052_LDO1_LDO1EN              0X40
441 #define DA9052_LDO1_VLDO1               0X1F
442
443 /* LDO2 REGISTER BITS */
444 #define DA9052_LDO2_LDO2CONF            0X80
445 #define DA9052_LDO2_LDO2EN              0X40
446 #define DA9052_LDO2_VLDO2               0X3F
447
448 /* LDO3 REGISTER BITS */
449 #define DA9052_LDO3_LDO3CONF            0X80
450 #define DA9052_LDO3_LDO3EN              0X40
451 #define DA9052_LDO3_VLDO3               0X3F
452
453 /* LDO4 REGISTER BITS */
454 #define DA9052_LDO4_LDO4CONF            0X80
455 #define DA9052_LDO4_LDO4EN              0X40
456 #define DA9052_LDO4_VLDO4               0X3F
457
458 /* LDO5 REGISTER BITS */
459 #define DA9052_LDO5_LDO5CONF            0X80
460 #define DA9052_LDO5_LDO5EN              0X40
461 #define DA9052_LDO5_VLDO5               0X3F
462
463 /* LDO6 REGISTER BITS */
464 #define DA9052_LDO6_LDO6CONF            0X80
465 #define DA9052_LDO6_LDO6EN              0X40
466 #define DA9052_LDO6_VLDO6               0X3F
467
468 /* LDO7 REGISTER BITS */
469 #define DA9052_LDO7_LDO7CONF            0X80
470 #define DA9052_LDO7_LDO7EN              0X40
471 #define DA9052_LDO7_VLDO7               0X3F
472
473 /* LDO8 REGISTER BITS */
474 #define DA9052_LDO8_LDO8CONF            0X80
475 #define DA9052_LDO8_LDO8EN              0X40
476 #define DA9052_LDO8_VLDO8               0X3F
477
478 /* LDO9 REGISTER BITS */
479 #define DA9052_LDO9_LDO9CONF            0X80
480 #define DA9052_LDO9_LDO9EN              0X40
481 #define DA9052_LDO9_VLDO9               0X3F
482
483 /* LDO10 REGISTER BITS */
484 #define DA9052_LDO10_LDO10CONF          0X80
485 #define DA9052_LDO10_LDO10EN            0X40
486 #define DA9052_LDO10_VLDO10             0X3F
487
488 /* SUPPLY REGISTER BITS */
489 #define DA9052_SUPPLY_VLOCK             0X80
490 #define DA9052_SUPPLY_VMEMSWEN          0X40
491 #define DA9052_SUPPLY_VPERISWEN 0X20
492 #define DA9052_SUPPLY_VLDO3GO           0X10
493 #define DA9052_SUPPLY_VLDO2GO           0X08
494 #define DA9052_SUPPLY_VBMEMGO           0X04
495 #define DA9052_SUPPLY_VBPROGO           0X02
496 #define DA9052_SUPPLY_VBCOREGO          0X01
497
498 /* PULLDOWN REGISTER BITS */
499 #define DA9052_PULLDOWN_LDO5PDDIS       0X20
500 #define DA9052_PULLDOWN_LDO2PDDIS       0X10
501 #define DA9052_PULLDOWN_LDO1PDDIS       0X08
502 #define DA9052_PULLDOWN_MEMPDDIS        0X04
503 #define DA9052_PULLDOWN_PROPDDIS        0X02
504 #define DA9052_PULLDOWN_COREPDDIS       0X01
505
506 /* BAT CHARGER REGISTER BITS */
507 /* CHARGER BUCK REGISTER BITS */
508 #define DA9052_CHGBUCK_CHGTEMP          0X80
509 #define DA9052_CHGBUCK_CHGUSBILIM       0X40
510 #define DA9052_CHGBUCK_CHGBUCKLP        0X20
511 #define DA9052_CHGBUCK_CHGBUCKEN        0X10
512 #define DA9052_CHGBUCK_ISETBUCK 0X0F
513
514 /* WAIT COUNTER REGISTER BITS */
515 #define DA9052_WAITCONT_WAITDIR 0X80
516 #define DA9052_WAITCONT_RTCCLOCK        0X40
517 #define DA9052_WAITCONT_WAITMODE        0X20
518 #define DA9052_WAITCONT_EN32KOUT        0X10
519 #define DA9052_WAITCONT_DELAYTIME       0X0F
520
521 /* ISET CONTROL REGISTER BITS */
522 #define DA9052_ISET_ISETDCIN            0XF0
523 #define DA9052_ISET_ISETVBUS            0X0F
524
525 /* BATTERY CHARGER CONTROL REGISTER BITS */
526 #define DA9052_BATCHG_ICHGPRE           0XC0
527 #define DA9052_BATCHG_ICHGBAT           0X3F
528
529 /* CHARGER COUNTER REGISTER BITS */
530 #define DA9052_CHG_CONT_VCHG_BAT        0XF8
531 #define DA9052_CHG_CONT_TCTR            0X07
532
533 /* INPUT CONTROL REGISTER BITS */
534 #define DA9052_INPUT_CONT_TCTR_MODE     0X80
535 #define DA9052_INPUT_CONT_VBUS_SUSP     0X10
536 #define DA9052_INPUT_CONT_DCIN_SUSP     0X08
537
538 /* CHARGING TIME REGISTER BITS */
539 #define DA9052_CHGTIME_CHGTIME          0XFF
540
541 /* BACKUP BATTERY CONTROL REGISTER BITS */
542 #define DA9052_BBATCONT_BCHARGERISET    0XF0
543 #define DA9052_BBATCONT_BCHARGERVSET    0X0F
544
545 /* LED REGISTERS BITS */
546 /* LED BOOST REGISTER BITS */
547 #define DA9052_BOOST_EBFAULT            0X80
548 #define DA9052_BOOST_MBFAULT            0X40
549 #define DA9052_BOOST_BOOSTFRQ           0X20
550 #define DA9052_BOOST_BOOSTILIM          0X10
551 #define DA9052_BOOST_LED3INEN           0X08
552 #define DA9052_BOOST_LED2INEN           0X04
553 #define DA9052_BOOST_LED1INEN           0X02
554 #define DA9052_BOOST_BOOSTEN            0X01
555
556 /* LED CONTROL REGISTER BITS */
557 #define DA9052_LEDCONT_SELLEDMODE       0X80
558 #define DA9052_LEDCONT_LED3ICONT        0X40
559 #define DA9052_LEDCONT_LED3RAMP 0X20
560 #define DA9052_LEDCONT_LED3EN           0X10
561 #define DA9052_LEDCONT_LED2RAMP 0X08
562 #define DA9052_LEDCONT_LED2EN           0X04
563 #define DA9052_LEDCONT_LED1RAMP 0X02
564 #define DA9052_LEDCONT_LED1EN           0X01
565
566 /* LEDMIN123 REGISTER BIT */
567 #define DA9052_LEDMIN123_LEDMINCURRENT  0XFF
568
569 /* LED1CONF REGISTER BIT */
570 #define DA9052_LED1CONF_LED1CURRENT     0XFF
571
572 /* LED2CONF REGISTER BIT */
573 #define DA9052_LED2CONF_LED2CURRENT     0XFF
574
575 /* LED3CONF REGISTER BIT */
576 #define DA9052_LED3CONF_LED3CURRENT     0XFF
577
578 /* LED COUNT REGISTER BIT */
579 #define DA9052_LED_CONT_DIM             0X80
580
581 /* ADC MAN REGISTERS BITS */
582 #define DA9052_ADC_MAN_MAN_CONV 0X10
583 #define DA9052_ADC_MAN_MUXSEL_VDDOUT    0X00
584 #define DA9052_ADC_MAN_MUXSEL_ICH       0X01
585 #define DA9052_ADC_MAN_MUXSEL_TBAT      0X02
586 #define DA9052_ADC_MAN_MUXSEL_VBAT      0X03
587 #define DA9052_ADC_MAN_MUXSEL_AD4       0X04
588 #define DA9052_ADC_MAN_MUXSEL_AD5       0X05
589 #define DA9052_ADC_MAN_MUXSEL_AD6       0X06
590 #define DA9052_ADC_MAN_MUXSEL_VBBAT     0X09
591
592 /* ADC CONTROL REGSISTERS BITS */
593 #define DA9052_ADCCONT_COMP1V2EN        0X80
594 #define DA9052_ADCCONT_ADCMODE          0X40
595 #define DA9052_ADCCONT_TBATISRCEN       0X20
596 #define DA9052_ADCCONT_AD4ISRCEN        0X10
597 #define DA9052_ADCCONT_AUTOAD6EN        0X08
598 #define DA9052_ADCCONT_AUTOAD5EN        0X04
599 #define DA9052_ADCCONT_AUTOAD4EN        0X02
600 #define DA9052_ADCCONT_AUTOVDDEN        0X01
601
602 /* ADC 10 BIT MANUAL CONVERSION RESULT LOW REGISTER */
603 #define DA9052_ADC_RES_LSB              0X03
604
605 /* ADC 10 BIT MANUAL CONVERSION RESULT HIGH REGISTER */
606 #define DA9052_ADCRESH_ADCRESMSB        0XFF
607
608 /* VDD RES REGSISTER BIT*/
609 #define DA9052_VDDRES_VDDOUTRES 0XFF
610
611 /* VDD MON REGSISTER BIT */
612 #define DA9052_VDDMON_VDDOUTMON 0XFF
613
614 /* ICHG_AV REGSISTER BIT */
615 #define DA9052_ICHGAV_ICHGAV            0XFF
616
617 /* ICHG_THD REGSISTER BIT */
618 #define DA9052_ICHGTHD_ICHGTHD          0XFF
619
620 /* ICHG_END REGSISTER BIT */
621 #define DA9052_ICHGEND_ICHGEND          0XFF
622
623 /* TBAT_RES REGSISTER BIT */
624 #define DA9052_TBATRES_TBATRES          0XFF
625
626 /* TBAT_HIGHP REGSISTER BIT */
627 #define DA9052_TBATHIGHP_TBATHIGHP      0XFF
628
629 /* TBAT_HIGHN REGSISTER BIT */
630 #define DA9052_TBATHIGHN_TBATHIGHN      0XFF
631
632 /* TBAT_LOW REGSISTER BIT */
633 #define DA9052_TBATLOW_TBATLOW          0XFF
634
635 /* T_OFFSET REGSISTER BIT */
636 #define DA9052_TOFFSET_TOFFSET          0XFF
637
638 /* ADCIN4_RES REGSISTER BIT */
639 #define DA9052_ADCIN4RES_ADCIN4RES      0XFF
640
641 /* ADCIN4_HIGH REGSISTER BIT */
642 #define DA9052_AUTO4HIGH_AUTO4HIGH      0XFF
643
644 /* ADCIN4_LOW REGSISTER BIT */
645 #define DA9052_AUTO4LOW_AUTO4LOW        0XFF
646
647 /* ADCIN5_RES REGSISTER BIT */
648 #define DA9052_ADCIN5RES_ADCIN5RES      0XFF
649
650 /* ADCIN5_HIGH REGSISTER BIT */
651 #define DA9052_AUTO5HIGH_AUTOHIGH       0XFF
652
653 /* ADCIN5_LOW REGSISTER BIT */
654 #define DA9052_AUTO5LOW_AUTO5LOW        0XFF
655
656 /* ADCIN6_RES REGSISTER BIT */
657 #define DA9052_ADCIN6RES_ADCIN6RES      0XFF
658
659 /* ADCIN6_HIGH REGSISTER BIT */
660 #define DA9052_AUTO6HIGH_AUTO6HIGH      0XFF
661
662 /* ADCIN6_LOW REGSISTER BIT */
663 #define DA9052_AUTO6LOW_AUTO6LOW        0XFF
664
665 /* TJUNC_RES REGSISTER BIT*/
666 #define DA9052_TJUNCRES_TJUNCRES        0XFF
667
668 /* TSI REGISTER */
669 /* TSI CONTROL REGISTER A BITS */
670 #define DA9052_TSICONTA_TSIDELAY        0XC0
671 #define DA9052_TSICONTA_TSISKIP 0X38
672 #define DA9052_TSICONTA_TSIMODE 0X04
673 #define DA9052_TSICONTA_PENDETEN        0X02
674 #define DA9052_TSICONTA_AUTOTSIEN       0X01
675
676 /* TSI CONTROL REGISTER B BITS */
677 #define DA9052_TSICONTB_ADCREF          0X80
678 #define DA9052_TSICONTB_TSIMAN          0X40
679 #define DA9052_TSICONTB_TSIMUX_XP       0X00
680 #define DA9052_TSICONTB_TSIMUX_YP       0X10
681 #define DA9052_TSICONTB_TSIMUX_XN       0X20
682 #define DA9052_TSICONTB_TSIMUX_YN       0X30
683 #define DA9052_TSICONTB_TSISEL3 0X08
684 #define DA9052_TSICONTB_TSISEL2 0X04
685 #define DA9052_TSICONTB_TSISEL1 0X02
686 #define DA9052_TSICONTB_TSISEL0 0X01
687
688 /* TSI X CO-ORDINATE MSB RESULT REGISTER BITS */
689 #define DA9052_TSIXMSB_TSIXM            0XFF
690
691 /* TSI Y CO-ORDINATE MSB RESULT REGISTER BITS */
692 #define DA9052_TSIYMSB_TSIYM            0XFF
693
694 /* TSI CO-ORDINATE LSB RESULT REGISTER BITS */
695 #define DA9052_TSILSB_PENDOWN           0X40
696 #define DA9052_TSILSB_TSIZL             0X30
697 #define DA9052_TSILSB_TSIZL_SHIFT       4
698 #define DA9052_TSILSB_TSIZL_BITS        2
699 #define DA9052_TSILSB_TSIYL             0X0C
700 #define DA9052_TSILSB_TSIYL_SHIFT       2
701 #define DA9052_TSILSB_TSIYL_BITS        2
702 #define DA9052_TSILSB_TSIXL             0X03
703 #define DA9052_TSILSB_TSIXL_SHIFT       0
704 #define DA9052_TSILSB_TSIXL_BITS        2
705
706 /* TSI Z MEASUREMENT MSB RESULT REGISTER BIT */
707 #define DA9052_TSIZMSB_TSIZM            0XFF
708
709 /* RTC REGISTER */
710 /* RTC TIMER SECONDS REGISTER BITS */
711 #define DA9052_COUNTS_MONITOR           0X40
712 #define DA9052_RTC_SEC                  0X3F
713
714 /* RTC TIMER MINUTES REGISTER BIT */
715 #define DA9052_RTC_MIN                  0X3F
716
717 /* RTC TIMER HOUR REGISTER BIT */
718 #define DA9052_RTC_HOUR         0X1F
719
720 /* RTC TIMER DAYS REGISTER BIT */
721 #define DA9052_RTC_DAY                  0X1F
722
723 /* RTC TIMER MONTHS REGISTER BIT */
724 #define DA9052_RTC_MONTH                0X0F
725
726 /* RTC TIMER YEARS REGISTER BIT */
727 #define DA9052_RTC_YEAR         0X3F
728
729 /* RTC ALARM MINUTES REGISTER BITS */
730 #define DA9052_ALARMM_I_TICK_TYPE       0X80
731 #define DA9052_ALARMMI_ALARMTYPE        0X40
732
733 /* RTC ALARM YEARS REGISTER BITS */
734 #define DA9052_ALARM_Y_TICK_ON          0X80
735 #define DA9052_ALARM_Y_ALARM_ON 0X40
736
737 /* RTC SECONDS REGISTER A BITS */
738 #define DA9052_SECONDA_SECONDSA 0XFF
739
740 /* RTC SECONDS REGISTER B BITS */
741 #define DA9052_SECONDB_SECONDSB 0XFF
742
743 /* RTC SECONDS REGISTER C BITS */
744 #define DA9052_SECONDC_SECONDSC 0XFF
745
746 /* RTC SECONDS REGISTER D BITS */
747 #define DA9052_SECONDD_SECONDSD 0XFF
748
749 #endif
750 /* __LINUX_MFD_DA9052_REG_H */