Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatchin...
[linux-2.6-microblaze.git] / include / linux / mfd / da9063 / registers.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Registers definition for DA9063 modules
4  *
5  * Copyright 2012 Dialog Semiconductor Ltd.
6  *
7  * Author: Michal Hajduk, Dialog Semiconductor
8  * Author: Krystian Garbaciak, Dialog Semiconductor
9  */
10
11 #ifndef _DA9063_REG_H
12 #define _DA9063_REG_H
13
14 #define DA9063_I2C_PAGE_SEL_SHIFT       1
15 #define DA9063_EVENT_REG_NUM            4
16
17 /* Page selection I2C or SPI always in the begining of any page. */
18 /* Page 0 : I2C access 0x000 - 0x0FF    SPI access 0x000 - 0x07F */
19 /* Page 1 :                             SPI access 0x080 - 0x0FF */
20 /* Page 2 : I2C access 0x100 - 0x1FF    SPI access 0x100 - 0x17F */
21 /* Page 3 :                             SPI access 0x180 - 0x1FF */
22 #define DA9063_REG_PAGE_CON             0x00
23
24 /* System Control and Event Registers */
25 #define DA9063_REG_STATUS_A             0x01
26 #define DA9063_REG_STATUS_B             0x02
27 #define DA9063_REG_STATUS_C             0x03
28 #define DA9063_REG_STATUS_D             0x04
29 #define DA9063_REG_FAULT_LOG            0x05
30 #define DA9063_REG_EVENT_A              0x06
31 #define DA9063_REG_EVENT_B              0x07
32 #define DA9063_REG_EVENT_C              0x08
33 #define DA9063_REG_EVENT_D              0x09
34 #define DA9063_REG_IRQ_MASK_A           0x0A
35 #define DA9063_REG_IRQ_MASK_B           0x0B
36 #define DA9063_REG_IRQ_MASK_C           0x0C
37 #define DA9063_REG_IRQ_MASK_D           0x0D
38 #define DA9063_REG_CONTROL_A            0x0E
39 #define DA9063_REG_CONTROL_B            0x0F
40 #define DA9063_REG_CONTROL_C            0x10
41 #define DA9063_REG_CONTROL_D            0x11
42 #define DA9063_REG_CONTROL_E            0x12
43 #define DA9063_REG_CONTROL_F            0x13
44 #define DA9063_REG_PD_DIS               0x14
45
46 /* GPIO Control Registers */
47 #define DA9063_REG_GPIO_0_1             0x15
48 #define DA9063_REG_GPIO_2_3             0x16
49 #define DA9063_REG_GPIO_4_5             0x17
50 #define DA9063_REG_GPIO_6_7             0x18
51 #define DA9063_REG_GPIO_8_9             0x19
52 #define DA9063_REG_GPIO_10_11           0x1A
53 #define DA9063_REG_GPIO_12_13           0x1B
54 #define DA9063_REG_GPIO_14_15           0x1C
55 #define DA9063_REG_GPIO_MODE0_7         0x1D
56 #define DA9063_REG_GPIO_MODE8_15        0x1E
57 #define DA9063_REG_SWITCH_CONT          0x1F
58
59 /* Regulator Control Registers */
60 #define DA9063_REG_BCORE2_CONT          0x20
61 #define DA9063_REG_BCORE1_CONT          0x21
62 #define DA9063_REG_BPRO_CONT            0x22
63 #define DA9063_REG_BMEM_CONT            0x23
64 #define DA9063_REG_BIO_CONT             0x24
65 #define DA9063_REG_BPERI_CONT           0x25
66 #define DA9063_REG_LDO1_CONT            0x26
67 #define DA9063_REG_LDO2_CONT            0x27
68 #define DA9063_REG_LDO3_CONT            0x28
69 #define DA9063_REG_LDO4_CONT            0x29
70 #define DA9063_REG_LDO5_CONT            0x2A
71 #define DA9063_REG_LDO6_CONT            0x2B
72 #define DA9063_REG_LDO7_CONT            0x2C
73 #define DA9063_REG_LDO8_CONT            0x2D
74 #define DA9063_REG_LDO9_CONT            0x2E
75 #define DA9063_REG_LDO10_CONT           0x2F
76 #define DA9063_REG_LDO11_CONT           0x30
77 #define DA9063_REG_SUPPLIES             0x31
78 #define DA9063_REG_DVC_1                0x32
79 #define DA9063_REG_DVC_2                0x33
80
81 /* GP-ADC Control Registers */
82 #define DA9063_REG_ADC_MAN              0x34
83 #define DA9063_REG_ADC_CONT             0x35
84 #define DA9063_REG_VSYS_MON             0x36
85 #define DA9063_REG_ADC_RES_L            0x37
86 #define DA9063_REG_ADC_RES_H            0x38
87 #define DA9063_REG_VSYS_RES             0x39
88 #define DA9063_REG_ADCIN1_RES           0x3A
89 #define DA9063_REG_ADCIN2_RES           0x3B
90 #define DA9063_REG_ADCIN3_RES           0x3C
91 #define DA9063_REG_MON_A8_RES           0x3D
92 #define DA9063_REG_MON_A9_RES           0x3E
93 #define DA9063_REG_MON_A10_RES          0x3F
94
95 /* RTC Calendar and Alarm Registers */
96 #define DA9063_REG_COUNT_S              0x40
97 #define DA9063_REG_COUNT_MI             0x41
98 #define DA9063_REG_COUNT_H              0x42
99 #define DA9063_REG_COUNT_D              0x43
100 #define DA9063_REG_COUNT_MO             0x44
101 #define DA9063_REG_COUNT_Y              0x45
102
103 #define DA9063_AD_REG_ALARM_MI          0x46
104 #define DA9063_AD_REG_ALARM_H           0x47
105 #define DA9063_AD_REG_ALARM_D           0x48
106 #define DA9063_AD_REG_ALARM_MO          0x49
107 #define DA9063_AD_REG_ALARM_Y           0x4A
108 #define DA9063_AD_REG_SECOND_A          0x4B
109 #define DA9063_AD_REG_SECOND_B          0x4C
110 #define DA9063_AD_REG_SECOND_C          0x4D
111 #define DA9063_AD_REG_SECOND_D          0x4E
112
113 #define DA9063_BB_REG_ALARM_S           0x46
114 #define DA9063_BB_REG_ALARM_MI          0x47
115 #define DA9063_BB_REG_ALARM_H           0x48
116 #define DA9063_BB_REG_ALARM_D           0x49
117 #define DA9063_BB_REG_ALARM_MO          0x4A
118 #define DA9063_BB_REG_ALARM_Y           0x4B
119 #define DA9063_BB_REG_SECOND_A          0x4C
120 #define DA9063_BB_REG_SECOND_B          0x4D
121 #define DA9063_BB_REG_SECOND_C          0x4E
122 #define DA9063_BB_REG_SECOND_D          0x4F
123
124 /* Sequencer Control Registers */
125 #define DA9063_REG_SEQ                  0x81
126 #define DA9063_REG_SEQ_TIMER            0x82
127 #define DA9063_REG_ID_2_1               0x83
128 #define DA9063_REG_ID_4_3               0x84
129 #define DA9063_REG_ID_6_5               0x85
130 #define DA9063_REG_ID_8_7               0x86
131 #define DA9063_REG_ID_10_9              0x87
132 #define DA9063_REG_ID_12_11             0x88
133 #define DA9063_REG_ID_14_13             0x89
134 #define DA9063_REG_ID_16_15             0x8A
135 #define DA9063_REG_ID_18_17             0x8B
136 #define DA9063_REG_ID_20_19             0x8C
137 #define DA9063_REG_ID_22_21             0x8D
138 #define DA9063_REG_ID_24_23             0x8E
139 #define DA9063_REG_ID_26_25             0x8F
140 #define DA9063_REG_ID_28_27             0x90
141 #define DA9063_REG_ID_30_29             0x91
142 #define DA9063_REG_ID_32_31             0x92
143 #define DA9063_REG_SEQ_A                0x95
144 #define DA9063_REG_SEQ_B                0x96
145 #define DA9063_REG_WAIT                 0x97
146 #define DA9063_REG_EN_32K               0x98
147 #define DA9063_REG_RESET                0x99
148
149 /* Regulator Setting Registers */
150 #define DA9063_REG_BUCK_ILIM_A          0x9A
151 #define DA9063_REG_BUCK_ILIM_B          0x9B
152 #define DA9063_REG_BUCK_ILIM_C          0x9C
153 #define DA9063_REG_BCORE2_CFG           0x9D
154 #define DA9063_REG_BCORE1_CFG           0x9E
155 #define DA9063_REG_BPRO_CFG             0x9F
156 #define DA9063_REG_BIO_CFG              0xA0
157 #define DA9063_REG_BMEM_CFG             0xA1
158 #define DA9063_REG_BPERI_CFG            0xA2
159 #define DA9063_REG_VBCORE2_A            0xA3
160 #define DA9063_REG_VBCORE1_A            0xA4
161 #define DA9063_REG_VBPRO_A              0xA5
162 #define DA9063_REG_VBMEM_A              0xA6
163 #define DA9063_REG_VBIO_A               0xA7
164 #define DA9063_REG_VBPERI_A             0xA8
165 #define DA9063_REG_VLDO1_A              0xA9
166 #define DA9063_REG_VLDO2_A              0xAA
167 #define DA9063_REG_VLDO3_A              0xAB
168 #define DA9063_REG_VLDO4_A              0xAC
169 #define DA9063_REG_VLDO5_A              0xAD
170 #define DA9063_REG_VLDO6_A              0xAE
171 #define DA9063_REG_VLDO7_A              0xAF
172 #define DA9063_REG_VLDO8_A              0xB0
173 #define DA9063_REG_VLDO9_A              0xB1
174 #define DA9063_REG_VLDO10_A             0xB2
175 #define DA9063_REG_VLDO11_A             0xB3
176 #define DA9063_REG_VBCORE2_B            0xB4
177 #define DA9063_REG_VBCORE1_B            0xB5
178 #define DA9063_REG_VBPRO_B              0xB6
179 #define DA9063_REG_VBMEM_B              0xB7
180 #define DA9063_REG_VBIO_B               0xB8
181 #define DA9063_REG_VBPERI_B             0xB9
182 #define DA9063_REG_VLDO1_B              0xBA
183 #define DA9063_REG_VLDO2_B              0xBB
184 #define DA9063_REG_VLDO3_B              0xBC
185 #define DA9063_REG_VLDO4_B              0xBD
186 #define DA9063_REG_VLDO5_B              0xBE
187 #define DA9063_REG_VLDO6_B              0xBF
188 #define DA9063_REG_VLDO7_B              0xC0
189 #define DA9063_REG_VLDO8_B              0xC1
190 #define DA9063_REG_VLDO9_B              0xC2
191 #define DA9063_REG_VLDO10_B             0xC3
192 #define DA9063_REG_VLDO11_B             0xC4
193
194 /* Backup Battery Charger Control Register */
195 #define DA9063_REG_BBAT_CONT            0xC5
196
197 /* GPIO PWM (LED) */
198 #define DA9063_REG_GPO11_LED            0xC6
199 #define DA9063_REG_GPO14_LED            0xC7
200 #define DA9063_REG_GPO15_LED            0xC8
201
202 /* GP-ADC Threshold Registers */
203 #define DA9063_REG_ADC_CFG              0xC9
204 #define DA9063_REG_AUTO1_HIGH           0xCA
205 #define DA9063_REG_AUTO1_LOW            0xCB
206 #define DA9063_REG_AUTO2_HIGH           0xCC
207 #define DA9063_REG_AUTO2_LOW            0xCD
208 #define DA9063_REG_AUTO3_HIGH           0xCE
209 #define DA9063_REG_AUTO3_LOW            0xCF
210
211 /* DA9063 Configuration registers */
212 /* OTP */
213 #define DA9063_REG_OTP_CONT             0x101
214 #define DA9063_REG_OTP_ADDR             0x102
215 #define DA9063_REG_OTP_DATA             0x103
216
217 /* Customer Trim and Configuration */
218 #define DA9063_REG_T_OFFSET             0x104
219 #define DA9063_REG_INTERFACE            0x105
220 #define DA9063_REG_CONFIG_A             0x106
221 #define DA9063_REG_CONFIG_B             0x107
222 #define DA9063_REG_CONFIG_C             0x108
223 #define DA9063_REG_CONFIG_D             0x109
224 #define DA9063_REG_CONFIG_E             0x10A
225 #define DA9063_REG_CONFIG_F             0x10B
226 #define DA9063_REG_CONFIG_G             0x10C
227 #define DA9063_REG_CONFIG_H             0x10D
228 #define DA9063_REG_CONFIG_I             0x10E
229 #define DA9063_REG_CONFIG_J             0x10F
230 #define DA9063_REG_CONFIG_K             0x110
231 #define DA9063_REG_CONFIG_L             0x111
232
233 #define DA9063_AD_REG_MON_REG_1         0x112
234 #define DA9063_AD_REG_MON_REG_2         0x113
235 #define DA9063_AD_REG_MON_REG_3         0x114
236 #define DA9063_AD_REG_MON_REG_4         0x115
237 #define DA9063_AD_REG_MON_REG_5         0x116
238 #define DA9063_AD_REG_MON_REG_6         0x117
239 #define DA9063_AD_REG_TRIM_CLDR         0x118
240
241 #define DA9063_AD_REG_GP_ID_0           0x119
242 #define DA9063_AD_REG_GP_ID_1           0x11A
243 #define DA9063_AD_REG_GP_ID_2           0x11B
244 #define DA9063_AD_REG_GP_ID_3           0x11C
245 #define DA9063_AD_REG_GP_ID_4           0x11D
246 #define DA9063_AD_REG_GP_ID_5           0x11E
247 #define DA9063_AD_REG_GP_ID_6           0x11F
248 #define DA9063_AD_REG_GP_ID_7           0x120
249 #define DA9063_AD_REG_GP_ID_8           0x121
250 #define DA9063_AD_REG_GP_ID_9           0x122
251 #define DA9063_AD_REG_GP_ID_10          0x123
252 #define DA9063_AD_REG_GP_ID_11          0x124
253 #define DA9063_AD_REG_GP_ID_12          0x125
254 #define DA9063_AD_REG_GP_ID_13          0x126
255 #define DA9063_AD_REG_GP_ID_14          0x127
256 #define DA9063_AD_REG_GP_ID_15          0x128
257 #define DA9063_AD_REG_GP_ID_16          0x129
258 #define DA9063_AD_REG_GP_ID_17          0x12A
259 #define DA9063_AD_REG_GP_ID_18          0x12B
260 #define DA9063_AD_REG_GP_ID_19          0x12C
261
262 #define DA9063_BB_REG_CONFIG_M          0x112
263 #define DA9063_BB_REG_CONFIG_N          0x113
264
265 #define DA9063_BB_REG_MON_REG_1         0x114
266 #define DA9063_BB_REG_MON_REG_2         0x115
267 #define DA9063_BB_REG_MON_REG_3         0x116
268 #define DA9063_BB_REG_MON_REG_4         0x117
269 #define DA9063_BB_REG_MON_REG_5         0x11E
270 #define DA9063_BB_REG_MON_REG_6         0x11F
271 #define DA9063_BB_REG_TRIM_CLDR         0x120
272 /* General Purpose Registers */
273 #define DA9063_BB_REG_GP_ID_0           0x121
274 #define DA9063_BB_REG_GP_ID_1           0x122
275 #define DA9063_BB_REG_GP_ID_2           0x123
276 #define DA9063_BB_REG_GP_ID_3           0x124
277 #define DA9063_BB_REG_GP_ID_4           0x125
278 #define DA9063_BB_REG_GP_ID_5           0x126
279 #define DA9063_BB_REG_GP_ID_6           0x127
280 #define DA9063_BB_REG_GP_ID_7           0x128
281 #define DA9063_BB_REG_GP_ID_8           0x129
282 #define DA9063_BB_REG_GP_ID_9           0x12A
283 #define DA9063_BB_REG_GP_ID_10          0x12B
284 #define DA9063_BB_REG_GP_ID_11          0x12C
285 #define DA9063_BB_REG_GP_ID_12          0x12D
286 #define DA9063_BB_REG_GP_ID_13          0x12E
287 #define DA9063_BB_REG_GP_ID_14          0x12F
288 #define DA9063_BB_REG_GP_ID_15          0x130
289 #define DA9063_BB_REG_GP_ID_16          0x131
290 #define DA9063_BB_REG_GP_ID_17          0x132
291 #define DA9063_BB_REG_GP_ID_18          0x133
292 #define DA9063_BB_REG_GP_ID_19          0x134
293
294 /* Chip ID and variant */
295 #define DA9063_REG_CHIP_ID              0x181
296 #define DA9063_REG_CHIP_VARIANT         0x182
297
298 /*
299  * PMIC registers bits
300  */
301 /* DA9063_REG_PAGE_CON (addr=0x00) */
302 #define DA9063_PEG_PAGE_SHIFT                   0
303 #define DA9063_REG_PAGE_MASK                    0x07
304 #define         DA9063_REG_PAGE0                0x00
305 #define         DA9063_REG_PAGE2                0x02
306 #define DA9063_PAGE_WRITE_MODE                  0x00
307 #define DA9063_REPEAT_WRITE_MODE                0x40
308 #define DA9063_PAGE_REVERT                      0x80
309
310 /* DA9063_REG_STATUS_A (addr=0x01) */
311 #define DA9063_NONKEY                           0x01
312 #define DA9063_WAKE                             0x02
313 #define DA9063_DVC_BUSY                         0x04
314 #define DA9063_COMP_1V2                         0x08
315
316 /* DA9063_REG_STATUS_B (addr=0x02) */
317 #define DA9063_GPI0                             0x01
318 #define DA9063_GPI1                             0x02
319 #define DA9063_GPI2                             0x04
320 #define DA9063_GPI3                             0x08
321 #define DA9063_GPI4                             0x10
322 #define DA9063_GPI5                             0x20
323 #define DA9063_GPI6                             0x40
324 #define DA9063_GPI7                             0x80
325
326 /* DA9063_REG_STATUS_C (addr=0x03) */
327 #define DA9063_GPI8                             0x01
328 #define DA9063_GPI9                             0x02
329 #define DA9063_GPI10                            0x04
330 #define DA9063_GPI11                            0x08
331 #define DA9063_GPI12                            0x10
332 #define DA9063_GPI13                            0x20
333 #define DA9063_GPI14                            0x40
334 #define DA9063_GPI15                            0x80
335
336 /* DA9063_REG_STATUS_D (addr=0x04) */
337 #define DA9063_LDO3_LIM                         0x08
338 #define DA9063_LDO4_LIM                         0x10
339 #define DA9063_LDO7_LIM                         0x20
340 #define DA9063_LDO8_LIM                         0x40
341 #define DA9063_LDO11_LIM                        0x80
342
343 /* DA9063_REG_FAULT_LOG (addr=0x05) */
344 #define DA9063_TWD_ERROR                        0x01
345 #define DA9063_POR                              0x02
346 #define DA9063_VDD_FAULT                        0x04
347 #define DA9063_VDD_START                        0x08
348 #define DA9063_TEMP_CRIT                        0x10
349 #define DA9063_KEY_RESET                        0x20
350 #define DA9063_NSHUTDOWN                        0x40
351 #define DA9063_WAIT_SHUT                        0x80
352
353 /* DA9063_REG_EVENT_A (addr=0x06) */
354 #define DA9063_E_NONKEY                         0x01
355 #define DA9063_E_ALARM                          0x02
356 #define DA9063_E_TICK                           0x04
357 #define DA9063_E_ADC_RDY                        0x08
358 #define DA9063_E_SEQ_RDY                        0x10
359 #define DA9063_EVENTS_B                         0x20
360 #define DA9063_EVENTS_C                         0x40
361 #define DA9063_EVENTS_D                         0x80
362
363 /* DA9063_REG_EVENT_B (addr=0x07) */
364 #define DA9063_E_WAKE                           0x01
365 #define DA9063_E_TEMP                           0x02
366 #define DA9063_E_COMP_1V2                       0x04
367 #define DA9063_E_LDO_LIM                        0x08
368 #define DA9063_E_REG_UVOV                       0x10
369 #define DA9063_E_DVC_RDY                        0x20
370 #define DA9063_E_VDD_MON                        0x40
371 #define DA9063_E_VDD_WARN                       0x80
372
373 /* DA9063_REG_EVENT_C (addr=0x08) */
374 #define DA9063_E_GPI0                           0x01
375 #define DA9063_E_GPI1                           0x02
376 #define DA9063_E_GPI2                           0x04
377 #define DA9063_E_GPI3                           0x08
378 #define DA9063_E_GPI4                           0x10
379 #define DA9063_E_GPI5                           0x20
380 #define DA9063_E_GPI6                           0x40
381 #define DA9063_E_GPI7                           0x80
382
383 /* DA9063_REG_EVENT_D (addr=0x09) */
384 #define DA9063_E_GPI8                           0x01
385 #define DA9063_E_GPI9                           0x02
386 #define DA9063_E_GPI10                          0x04
387 #define DA9063_E_GPI11                          0x08
388 #define DA9063_E_GPI12                          0x10
389 #define DA9063_E_GPI13                          0x20
390 #define DA9063_E_GPI14                          0x40
391 #define DA9063_E_GPI15                          0x80
392
393 /* DA9063_REG_IRQ_MASK_A (addr=0x0A) */
394 #define DA9063_M_ONKEY                          0x01
395 #define DA9063_M_ALARM                          0x02
396 #define DA9063_M_TICK                           0x04
397 #define DA9063_M_ADC_RDY                        0x08
398 #define DA9063_M_SEQ_RDY                        0x10
399
400 /* DA9063_REG_IRQ_MASK_B (addr=0x0B) */
401 #define DA9063_M_WAKE                           0x01
402 #define DA9063_M_TEMP                           0x02
403 #define DA9063_M_COMP_1V2                       0x04
404 #define DA9063_M_LDO_LIM                        0x08
405 #define DA9063_M_UVOV                           0x10
406 #define DA9063_M_DVC_RDY                        0x20
407 #define DA9063_M_VDD_MON                        0x40
408 #define DA9063_M_VDD_WARN                       0x80
409
410 /* DA9063_REG_IRQ_MASK_C (addr=0x0C) */
411 #define DA9063_M_GPI0                           0x01
412 #define DA9063_M_GPI1                           0x02
413 #define DA9063_M_GPI2                           0x04
414 #define DA9063_M_GPI3                           0x08
415 #define DA9063_M_GPI4                           0x10
416 #define DA9063_M_GPI5                           0x20
417 #define DA9063_M_GPI6                           0x40
418 #define DA9063_M_GPI7                           0x80
419
420 /* DA9063_REG_IRQ_MASK_D (addr=0x0D) */
421 #define DA9063_M_GPI8                           0x01
422 #define DA9063_M_GPI9                           0x02
423 #define DA9063_M_GPI10                          0x04
424 #define DA9063_M_GPI11                          0x08
425 #define DA9063_M_GPI12                          0x10
426 #define DA9063_M_GPI13                          0x20
427 #define DA9063_M_GPI14                          0x40
428 #define DA9063_M_GPI15                          0x80
429
430 /* DA9063_REG_CONTROL_A (addr=0x0E) */
431 #define DA9063_SYSTEM_EN                        0x01
432 #define DA9063_POWER_EN                         0x02
433 #define DA9063_POWER1_EN                        0x04
434 #define DA9063_STANDBY                          0x08
435 #define DA9063_M_SYSTEM_EN                      0x10
436 #define DA9063_M_POWER_EN                       0x20
437 #define DA9063_M_POWER1_EN                      0x40
438 #define DA9063_CP_EN                            0x80
439
440 /* DA9063_REG_CONTROL_B (addr=0x0F) */
441 #define DA9063_CHG_SEL                          0x01
442 #define DA9063_WATCHDOG_PD                      0x02
443 #define DA9063_BB_RESET_BLINKING                0x04
444 #define DA9063_NRES_MODE                        0x08
445 #define DA9063_NONKEY_LOCK                      0x10
446 #define DA9063_BB_BUCK_SLOWSTART                0x80
447
448 /* DA9063_REG_CONTROL_C (addr=0x10) */
449 #define DA9063_DEBOUNCING_MASK                  0x07
450 #define         DA9063_DEBOUNCING_OFF           0x0
451 #define         DA9063_DEBOUNCING_0MS1          0x1
452 #define         DA9063_DEBOUNCING_1MS           0x2
453 #define         DA9063_DEBOUNCING_10MS24        0x3
454 #define         DA9063_DEBOUNCING_51MS2         0x4
455 #define         DA9063_DEBOUNCING_256MS         0x5
456 #define         DA9063_DEBOUNCING_512MS         0x6
457 #define         DA9063_DEBOUNCING_1024MS        0x7
458
459 #define DA9063_AUTO_BOOT                        0x08
460 #define DA9063_OTPREAD_EN                       0x10
461 #define DA9063_SLEW_RATE_MASK                   0x60
462 #define         DA9063_SLEW_RATE_4US            0x00
463 #define         DA9063_SLEW_RATE_3US            0x20
464 #define         DA9063_SLEW_RATE_1US            0x40
465 #define         DA9063_SLEW_RATE_0US5           0x60
466 #define DA9063_DEF_SUPPLY                       0x80
467
468 /* DA9063_REG_CONTROL_D (addr=0x11) */
469 #define DA9063_TWDSCALE_MASK                    0x07
470 #define DA9063_BLINK_FRQ_MASK                   0x38
471 #define         DA9063_BLINK_FRQ_OFF            0x00
472 #define         DA9063_BLINK_FRQ_1S0            0x08
473 #define         DA9063_BLINK_FRQ_2S0            0x10
474 #define         DA9063_BLINK_FRQ_4S0            0x18
475 #define         DA9063_BLINK_FRQ_0S18           0x20
476 #define         DA9063_BLINK_FRQ_2S0_VDD        0x28
477 #define         DA9063_BLINK_FRQ_4S0_VDD        0x30
478 #define         DA9063_BLINK_FRQ_0S18_VDD       0x38
479
480 #define DA9063_BLINK_DUR_MASK                   0xC0
481 #define         DA9063_BLINK_DUR_10MS           0x00
482 #define         DA9063_BLINK_DUR_20MS           0x40
483 #define         DA9063_BLINK_DUR_40MS           0x80
484 #define         DA9063_BLINK_DUR_20MSDBL        0xC0
485
486 /* DA9063_REG_CONTROL_E (addr=0x12) */
487 #define DA9063_RTC_MODE_PD                      0x01
488 #define DA9063_RTC_MODE_SD                      0x02
489 #define DA9063_RTC_EN                           0x04
490 #define DA9063_ECO_MODE                         0x08
491 #define DA9063_PM_FB1_PIN                       0x10
492 #define DA9063_PM_FB2_PIN                       0x20
493 #define DA9063_PM_FB3_PIN                       0x40
494 #define DA9063_V_LOCK                           0x80
495
496 /* DA9063_REG_CONTROL_F (addr=0x13) */
497 #define DA9063_WATCHDOG                         0x01
498 #define DA9063_SHUTDOWN                         0x02
499 #define DA9063_WAKE_UP                          0x04
500
501 /* DA9063_REG_PD_DIS (addr=0x14) */
502 #define DA9063_GPI_DIS                          0x01
503 #define DA9063_GPADC_PAUSE                      0x02
504 #define DA9063_PMIF_DIS                         0x04
505 #define DA9063_HS2WIRE_DIS                      0x08
506 #define DA9063_BB_CLDR_PAUSE                    0x10
507 #define DA9063_BBAT_DIS                         0x20
508 #define DA9063_OUT_32K_PAUSE                    0x40
509 #define DA9063_PMCONT_DIS                       0x80
510
511 /* DA9063_REG_GPIO_0_1 (addr=0x15) */
512 #define DA9063_GPIO0_PIN_MASK                   0x03
513 #define         DA9063_GPIO0_PIN_ADCIN1         0x00
514 #define         DA9063_GPIO0_PIN_GPI            0x01
515 #define         DA9063_GPIO0_PIN_GPO_OD         0x02
516 #define         DA9063_GPIO0_PIN_GPO            0x03
517 #define DA9063_GPIO0_TYPE                       0x04
518 #define         DA9063_GPIO0_TYPE_GPI_ACT_LOW   0x00
519 #define         DA9063_GPIO0_TYPE_GPO_VDD_IO1   0x00
520 #define         DA9063_GPIO0_TYPE_GPI_ACT_HIGH  0x04
521 #define         DA9063_GPIO0_TYPE_GPO_VDD_IO2   0x04
522 #define DA9063_GPIO0_NO_WAKEUP                  0x08
523 #define DA9063_GPIO1_PIN_MASK                   0x30
524 #define         DA9063_GPIO1_PIN_ADCIN2_COMP    0x00
525 #define         DA9063_GPIO1_PIN_GPI            0x10
526 #define         DA9063_GPIO1_PIN_GPO_OD         0x20
527 #define         DA9063_GPIO1_PIN_GPO            0x30
528 #define DA9063_GPIO1_TYPE                       0x40
529 #define         DA9063_GPIO1_TYPE_GPI_ACT_LOW   0x00
530 #define         DA9063_GPIO1_TYPE_GPO_VDD_IO1   0x00
531 #define         DA9063_GPIO1_TYPE_GPI_ACT_HIGH  0x04
532 #define         DA9063_GPIO1_TYPE_GPO_VDD_IO2   0x04
533 #define DA9063_GPIO1_NO_WAKEUP                  0x80
534
535 /* DA9063_REG_GPIO_2_3 (addr=0x16) */
536 #define DA9063_GPIO2_PIN_MASK                   0x03
537 #define         DA9063_GPIO2_PIN_ADCIN3         0x00
538 #define         DA9063_GPIO2_PIN_GPI            0x01
539 #define         DA9063_GPIO2_PIN_GPO_PSS        0x02
540 #define         DA9063_GPIO2_PIN_GPO            0x03
541 #define DA9063_GPIO2_TYPE                       0x04
542 #define         DA9063_GPIO2_TYPE_GPI_ACT_LOW   0x00
543 #define         DA9063_GPIO2_TYPE_GPO_VDD_IO1   0x00
544 #define         DA9063_GPIO2_TYPE_GPI_ACT_HIGH  0x04
545 #define         DA9063_GPIO2_TYPE_GPO_VDD_IO2   0x04
546 #define DA9063_GPIO2_NO_WAKEUP                  0x08
547 #define DA9063_GPIO3_PIN_MASK                   0x30
548 #define         DA9063_GPIO3_PIN_CORE_SW_G      0x00
549 #define         DA9063_GPIO3_PIN_GPI            0x10
550 #define         DA9063_GPIO3_PIN_GPO_OD         0x20
551 #define         DA9063_GPIO3_PIN_GPO            0x30
552 #define DA9063_GPIO3_TYPE                       0x40
553 #define         DA9063_GPIO3_TYPE_GPI_ACT_LOW   0x00
554 #define         DA9063_GPIO3_TYPE_GPO_VDD_IO1   0x00
555 #define         DA9063_GPIO3_TYPE_GPI_ACT_HIGH  0x04
556 #define         DA9063_GPIO3_TYPE_GPO_VDD_IO2   0x04
557 #define DA9063_GPIO3_NO_WAKEUP                  0x80
558
559 /* DA9063_REG_GPIO_4_5 (addr=0x17) */
560 #define DA9063_GPIO4_PIN_MASK                   0x03
561 #define         DA9063_GPIO4_PIN_CORE_SW_S      0x00
562 #define         DA9063_GPIO4_PIN_GPI            0x01
563 #define         DA9063_GPIO4_PIN_GPO_OD         0x02
564 #define         DA9063_GPIO4_PIN_GPO            0x03
565 #define DA9063_GPIO4_TYPE                       0x04
566 #define         DA9063_GPIO4_TYPE_GPI_ACT_LOW   0x00
567 #define         DA9063_GPIO4_TYPE_GPO_VDD_IO1   0x00
568 #define         DA9063_GPIO4_TYPE_GPI_ACT_HIGH  0x04
569 #define         DA9063_GPIO4_TYPE_GPO_VDD_IO2   0x04
570 #define DA9063_GPIO4_NO_WAKEUP                  0x08
571 #define DA9063_GPIO5_PIN_MASK                   0x30
572 #define         DA9063_GPIO5_PIN_PERI_SW_G      0x00
573 #define         DA9063_GPIO5_PIN_GPI            0x10
574 #define         DA9063_GPIO5_PIN_GPO_OD         0x20
575 #define         DA9063_GPIO5_PIN_GPO            0x30
576 #define DA9063_GPIO5_TYPE                       0x40
577 #define         DA9063_GPIO5_TYPE_GPI_ACT_LOW   0x00
578 #define         DA9063_GPIO5_TYPE_GPO_VDD_IO1   0x00
579 #define         DA9063_GPIO5_TYPE_GPI_ACT_HIGH  0x04
580 #define         DA9063_GPIO5_TYPE_GPO_VDD_IO2   0x04
581 #define DA9063_GPIO5_NO_WAKEUP                  0x80
582
583 /* DA9063_REG_GPIO_6_7 (addr=0x18) */
584 #define DA9063_GPIO6_PIN_MASK                   0x03
585 #define         DA9063_GPIO6_PIN_PERI_SW_S      0x00
586 #define         DA9063_GPIO6_PIN_GPI            0x01
587 #define         DA9063_GPIO6_PIN_GPO_OD         0x02
588 #define         DA9063_GPIO6_PIN_GPO            0x03
589 #define DA9063_GPIO6_TYPE                       0x04
590 #define         DA9063_GPIO6_TYPE_GPI_ACT_LOW   0x00
591 #define         DA9063_GPIO6_TYPE_GPO_VDD_IO1   0x00
592 #define         DA9063_GPIO6_TYPE_GPI_ACT_HIGH  0x04
593 #define         DA9063_GPIO6_TYPE_GPO_VDD_IO2   0x04
594 #define DA9063_GPIO6_NO_WAKEUP                  0x08
595 #define DA9063_GPIO7_PIN_MASK                   0x30
596 #define         DA9063_GPIO7_PIN_GPI            0x10
597 #define         DA9063_GPIO7_PIN_GPO_PSS        0x20
598 #define         DA9063_GPIO7_PIN_GPO            0x30
599 #define DA9063_GPIO7_TYPE                       0x40
600 #define         DA9063_GPIO7_TYPE_GPI_ACT_LOW   0x00
601 #define         DA9063_GPIO7_TYPE_GPO_VDD_IO1   0x00
602 #define         DA9063_GPIO7_TYPE_GPI_ACT_HIGH  0x04
603 #define         DA9063_GPIO7_TYPE_GPO_VDD_IO2   0x04
604 #define DA9063_GPIO7_NO_WAKEUP                  0x80
605
606 /* DA9063_REG_GPIO_8_9 (addr=0x19) */
607 #define DA9063_GPIO8_PIN_MASK                   0x03
608 #define         DA9063_GPIO8_PIN_GPI_SYS_EN     0x00
609 #define         DA9063_GPIO8_PIN_GPI            0x01
610 #define         DA9063_GPIO8_PIN_GPO_PSS        0x02
611 #define         DA9063_GPIO8_PIN_GPO            0x03
612 #define DA9063_GPIO8_TYPE                       0x04
613 #define         DA9063_GPIO8_TYPE_GPI_ACT_LOW   0x00
614 #define         DA9063_GPIO8_TYPE_GPO_VDD_IO1   0x00
615 #define         DA9063_GPIO8_TYPE_GPI_ACT_HIGH  0x04
616 #define         DA9063_GPIO8_TYPE_GPO_VDD_IO2   0x04
617 #define DA9063_GPIO8_NO_WAKEUP                  0x08
618 #define DA9063_GPIO9_PIN_MASK                   0x30
619 #define         DA9063_GPIO9_PIN_GPI_PWR_EN     0x00
620 #define         DA9063_GPIO9_PIN_GPI            0x10
621 #define         DA9063_GPIO9_PIN_GPO_PSS        0x20
622 #define         DA9063_GPIO9_PIN_GPO            0x30
623 #define DA9063_GPIO9_TYPE                       0x40
624 #define         DA9063_GPIO9_TYPE_GPI_ACT_LOW   0x00
625 #define         DA9063_GPIO9_TYPE_GPO_VDD_IO1   0x00
626 #define         DA9063_GPIO9_TYPE_GPI_ACT_HIGH  0x04
627 #define         DA9063_GPIO9_TYPE_GPO_VDD_IO2   0x04
628 #define DA9063_GPIO9_NO_WAKEUP                  0x80
629
630 /* DA9063_REG_GPIO_10_11 (addr=0x1A) */
631 #define DA9063_GPIO10_PIN_MASK                  0x03
632 #define         DA9063_GPIO10_PIN_GPI_PWR1_EN   0x00
633 #define         DA9063_GPIO10_PIN_GPI           0x01
634 #define         DA9063_GPIO10_PIN_GPO_OD        0x02
635 #define         DA9063_GPIO10_PIN_GPO           0x03
636 #define DA9063_GPIO10_TYPE                      0x04
637 #define         DA9063_GPIO10_TYPE_GPI_ACT_LOW  0x00
638 #define         DA9063_GPIO10_TYPE_GPO_VDD_IO1  0x00
639 #define         DA9063_GPIO10_TYPE_GPI_ACT_HIGH 0x04
640 #define         DA9063_GPIO10_TYPE_GPO_VDD_IO2  0x04
641 #define DA9063_GPIO10_NO_WAKEUP                 0x08
642 #define DA9063_GPIO11_PIN_MASK                  0x30
643 #define         DA9063_GPIO11_PIN_GPO_OD        0x00
644 #define         DA9063_GPIO11_PIN_GPI           0x10
645 #define         DA9063_GPIO11_PIN_GPO_PSS       0x20
646 #define         DA9063_GPIO11_PIN_GPO           0x30
647 #define DA9063_GPIO11_TYPE                      0x40
648 #define         DA9063_GPIO11_TYPE_GPI_ACT_LOW  0x00
649 #define         DA9063_GPIO11_TYPE_GPO_VDD_IO1  0x00
650 #define         DA9063_GPIO11_TYPE_GPI_ACT_HIGH 0x04
651 #define         DA9063_GPIO11_TYPE_GPO_VDD_IO2  0x04
652 #define DA9063_GPIO11_NO_WAKEUP                 0x80
653
654 /* DA9063_REG_GPIO_12_13 (addr=0x1B) */
655 #define DA9063_GPIO12_PIN_MASK                  0x03
656 #define         DA9063_GPIO12_PIN_NVDDFLT_OUT   0x00
657 #define         DA9063_GPIO12_PIN_GPI           0x01
658 #define         DA9063_GPIO12_PIN_VSYSMON_OUT   0x02
659 #define         DA9063_GPIO12_PIN_GPO           0x03
660 #define DA9063_GPIO12_TYPE                      0x04
661 #define         DA9063_GPIO12_TYPE_GPI_ACT_LOW  0x00
662 #define         DA9063_GPIO12_TYPE_GPO_VDD_IO1  0x00
663 #define         DA9063_GPIO12_TYPE_GPI_ACT_HIGH 0x04
664 #define         DA9063_GPIO12_TYPE_GPO_VDD_IO2  0x04
665 #define DA9063_GPIO12_NO_WAKEUP                 0x08
666 #define DA9063_GPIO13_PIN_MASK                  0x30
667 #define         DA9063_GPIO13_PIN_GPFB1_OUT     0x00
668 #define         DA9063_GPIO13_PIN_GPI           0x10
669 #define         DA9063_GPIO13_PIN_GPFB1_OUTOD   0x20
670 #define         DA9063_GPIO13_PIN_GPO           0x30
671 #define DA9063_GPIO13_TYPE                      0x40
672 #define         DA9063_GPIO13_TYPE_GPFB1_OUT    0x00
673 #define         DA9063_GPIO13_TYPE_GPI          0x00
674 #define         DA9063_GPIO13_TYPE_GPFB1_OUTOD  0x04
675 #define         DA9063_GPIO13_TYPE_GPO          0x04
676 #define DA9063_GPIO13_NO_WAKEUP                 0x80
677
678 /* DA9063_REG_GPIO_14_15 (addr=0x1C) */
679 #define DA9063_GPIO14_PIN_MASK                  0x03
680 #define         DA9063_GPIO14_PIN_GPO_OD        0x00
681 #define         DA9063_GPIO14_PIN_GPI           0x01
682 #define         DA9063_GPIO14_PIN_HS2DATA       0x02
683 #define         DA9063_GPIO14_PIN_GPO           0x03
684 #define DA9063_GPIO14_TYPE                      0x04
685 #define         DA9063_GPIO14_TYPE_GPI_ACT_LOW  0x00
686 #define         DA9063_GPIO14_TYPE_GPO_VDD_IO1  0x00
687 #define         DA9063_GPIO14_TYPE_GPI_ACT_HIGH 0x04
688 #define         DA9063_GPIO14_TYPE_GPO_VDD_IO2  0x04
689 #define DA9063_GPIO14_NO_WAKEUP                 0x08
690 #define DA9063_GPIO15_PIN_MASK                  0x30
691 #define         DA9063_GPIO15_PIN_GPO_OD        0x00
692 #define         DA9063_GPIO15_PIN_GPI           0x10
693 #define         DA9063_GPIO15_PIN_GPO           0x30
694 #define DA9063_GPIO15_TYPE                      0x40
695 #define         DA9063_GPIO15_TYPE_GPFB1_OUT    0x00
696 #define         DA9063_GPIO15_TYPE_GPI          0x00
697 #define         DA9063_GPIO15_TYPE_GPFB1_OUTOD  0x04
698 #define         DA9063_GPIO15_TYPE_GPO          0x04
699 #define DA9063_GPIO15_NO_WAKEUP                 0x80
700
701 /* DA9063_REG_GPIO_MODE0_7 (addr=0x1D) */
702 #define DA9063_GPIO0_MODE                       0x01
703 #define DA9063_GPIO1_MODE                       0x02
704 #define DA9063_GPIO2_MODE                       0x04
705 #define DA9063_GPIO3_MODE                       0x08
706 #define DA9063_GPIO4_MODE                       0x10
707 #define DA9063_GPIO5_MODE                       0x20
708 #define DA9063_GPIO6_MODE                       0x40
709 #define DA9063_GPIO7_MODE                       0x80
710
711 /* DA9063_REG_GPIO_MODE8_15 (addr=0x1E) */
712 #define DA9063_GPIO8_MODE                       0x01
713 #define DA9063_GPIO9_MODE                       0x02
714 #define DA9063_GPIO10_MODE                      0x04
715 #define DA9063_GPIO11_MODE                      0x08
716 #define         DA9063_GPIO11_MODE_LED_ACT_HIGH 0x00
717 #define         DA9063_GPIO11_MODE_LED_ACT_LOW  0x08
718 #define DA9063_GPIO12_MODE                      0x10
719 #define DA9063_GPIO13_MODE                      0x20
720 #define DA9063_GPIO14_MODE                      0x40
721 #define         DA9063_GPIO14_MODE_LED_ACT_HIGH 0x00
722 #define         DA9063_GPIO14_MODE_LED_ACT_LOW  0x40
723 #define DA9063_GPIO15_MODE                      0x80
724 #define         DA9063_GPIO15_MODE_LED_ACT_HIGH 0x00
725 #define         DA9063_GPIO15_MODE_LED_ACT_LOW  0x80
726
727 /* DA9063_REG_SWITCH_CONT (addr=0x1F) */
728 #define DA9063_CORE_SW_GPI_MASK                 0x03
729 #define         DA9063_CORE_SW_GPI_OFF          0x00
730 #define         DA9063_CORE_SW_GPI_GPIO1        0x01
731 #define         DA9063_CORE_SW_GPI_GPIO2        0x02
732 #define         DA9063_CORE_SW_GPI_GPIO13       0x03
733 #define DA9063_PERI_SW_GPI_MASK                 0x0C
734 #define         DA9063_PERI_SW_GPI_OFF          0x00
735 #define         DA9063_PERI_SW_GPI_GPIO1        0x04
736 #define         DA9063_PERI_SW_GPI_GPIO2        0x08
737 #define         DA9063_PERI_SW_GPI_GPIO13       0x0C
738 #define DA9063_SWITCH_SR_MASK                   0x30
739 #define         DA9063_SWITCH_SR_1MV            0x00
740 #define         DA9063_SWITCH_SR_5MV            0x10
741 #define         DA9063_SWITCH_SR_10MV           0x20
742 #define         DA9063_SWITCH_SR_50MV           0x30
743 #define DA9063_CORE_SW_INTERNAL                 0x40
744 #define DA9063_CP_EN_MODE                       0x80
745
746 /* DA9063_REGL_Bxxxx_CONT common bits (addr=0x20-0x25) */
747 #define DA9063_BUCK_EN                          0x01
748 #define DA9063_BUCK_GPI_MASK                    0x06
749 #define         DA9063_BUCK_GPI_OFF             0x00
750 #define         DA9063_BUCK_GPI_GPIO1           0x02
751 #define         DA9063_BUCK_GPI_GPIO2           0x04
752 #define         DA9063_BUCK_GPI_GPIO13          0x06
753 #define DA9063_BUCK_CONF                        0x08
754 #define DA9063_VBUCK_GPI_MASK                   0x60
755 #define         DA9063_VBUCK_GPI_OFF            0x00
756 #define         DA9063_VBUCK_GPI_GPIO1          0x20
757 #define         DA9063_VBUCK_GPI_GPIO2          0x40
758 #define         DA9063_VBUCK_GPI_GPIO13         0x60
759
760 /* DA9063_REG_BCORE1_CONT specific bits (addr=0x21) */
761 #define DA9063_CORE_SW_EN                       0x10
762 #define DA9063_CORE_SW_CONF                     0x80
763
764 /* DA9063_REG_BPERI_CONT specific bits (addr=0x25) */
765 #define DA9063_PERI_SW_EN                       0x10
766 #define DA9063_PERI_SW_CONF                     0x80
767
768 /* DA9063_REG_LDOx_CONT common bits (addr=0x26-0x30) */
769 #define DA9063_LDO_EN                           0x01
770 #define DA9063_LDO_GPI_MASK                     0x06
771 #define         DA9063_LDO_GPI_OFF              0x00
772 #define         DA9063_LDO_GPI_GPIO1            0x02
773 #define         DA9063_LDO_GPI_GPIO2            0x04
774 #define         DA9063_LDO_GPI_GPIO13           0x06
775 #define DA9063_LDO_PD_DIS                       0x08
776 #define DA9063_VLDO_GPI_MASK                    0x60
777 #define         DA9063_VLDO_GPI_OFF             0x00
778 #define         DA9063_VLDO_GPI_GPIO1           0x20
779 #define         DA9063_VLDO_GPI_GPIO2           0x40
780 #define         DA9063_VLDO_GPI_GPIO13          0x60
781 #define DA9063_LDO_CONF                         0x80
782
783 /* DA9063_REG_LDO5_CONT specific bits (addr=0x2A) */
784 #define DA9063_VLDO5_SEL                        0x10
785
786 /* DA9063_REG_LDO6_CONT specific bits (addr=0x2B) */
787 #define DA9063_VLDO6_SEL                        0x10
788
789 /* DA9063_REG_LDO7_CONT specific bits (addr=0x2C) */
790 #define DA9063_VLDO7_SEL                        0x10
791
792 /* DA9063_REG_LDO8_CONT specific bits (addr=0x2D) */
793 #define DA9063_VLDO8_SEL                        0x10
794
795 /* DA9063_REG_LDO9_CONT specific bits (addr=0x2E) */
796 #define DA9063_VLDO9_SEL                        0x10
797
798 /* DA9063_REG_LDO10_CONT specific bits (addr=0x2F) */
799 #define DA9063_VLDO10_SEL                       0x10
800
801 /* DA9063_REG_LDO11_CONT specific bits (addr=0x30) */
802 #define DA9063_VLDO11_SEL                       0x10
803
804 /* DA9063_REG_VIB (addr=0x31) */
805 #define DA9063_VIB_SET_MASK                     0x3F
806 #define         DA9063_VIB_SET_OFF              0
807 #define         DA9063_VIB_SET_MAX              0x3F
808
809 /* DA9063_REG_DVC_1 (addr=0x32) */
810 #define DA9063_VBCORE1_SEL                      0x01
811 #define DA9063_VBCORE2_SEL                      0x02
812 #define DA9063_VBPRO_SEL                        0x04
813 #define DA9063_VBMEM_SEL                        0x08
814 #define DA9063_VBPERI_SEL                       0x10
815 #define DA9063_VLDO1_SEL                        0x20
816 #define DA9063_VLDO2_SEL                        0x40
817 #define DA9063_VLDO3_SEL                        0x80
818
819 /* DA9063_REG_DVC_2 (addr=0x33) */
820 #define DA9063_VBIO_SEL                         0x01
821 #define DA9063_VLDO4_SEL                        0x80
822
823 /* DA9063_REG_ADC_MAN (addr=0x34) */
824 #define DA9063_ADC_MUX_MASK                     0x0F
825 #define         DA9063_ADC_MUX_VSYS             0x00
826 #define         DA9063_ADC_MUX_ADCIN1           0x01
827 #define         DA9063_ADC_MUX_ADCIN2           0x02
828 #define         DA9063_ADC_MUX_ADCIN3           0x03
829 #define         DA9063_ADC_MUX_T_SENSE          0x04
830 #define         DA9063_ADC_MUX_VBBAT            0x05
831 #define         DA9063_ADC_MUX_LDO_G1           0x08
832 #define         DA9063_ADC_MUX_LDO_G2           0x09
833 #define         DA9063_ADC_MUX_LDO_G3           0x0A
834 #define DA9063_ADC_MAN                          0x10
835 #define DA9063_ADC_MODE                         0x20
836
837 /* DA9063_REG_ADC_CONT (addr=0x35) */
838 #define DA9063_ADC_AUTO_VSYS_EN                 0x01
839 #define DA9063_ADC_AUTO_AD1_EN                  0x02
840 #define DA9063_ADC_AUTO_AD2_EN                  0x04
841 #define DA9063_ADC_AUTO_AD3_EN                  0x08
842 #define DA9063_ADC_AD1_ISRC_EN                  0x10
843 #define DA9063_ADC_AD2_ISRC_EN                  0x20
844 #define DA9063_ADC_AD3_ISRC_EN                  0x40
845 #define DA9063_COMP1V2_EN                       0x80
846
847 /* DA9063_REG_VSYS_MON (addr=0x36) */
848 #define DA9063_VSYS_VAL_MASK                    0xFF
849 #define DA9063_VSYS_VAL_BASE                    0x00
850
851 /* DA9063_REG_ADC_RES_L (addr=0x37) */
852 #define DA9063_ADC_RES_L_BITS                   2
853 #define DA9063_ADC_RES_L_MASK                   0xC0
854
855 /* DA9063_REG_ADC_RES_H (addr=0x38) */
856 #define DA9063_ADC_RES_M_BITS                   8
857 #define DA9063_ADC_RES_M_MASK                   0xFF
858
859 /* DA9063_REG_(xxx_RES/ADC_RES_H) (addr=0x39-0x3F) */
860 #define DA9063_ADC_VAL_MASK                     0xFF
861
862 /* DA9063_REG_COUNT_S (addr=0x40) */
863 #define DA9063_RTC_READ                         0x80
864 #define DA9063_COUNT_SEC_MASK                   0x3F
865
866 /* DA9063_REG_COUNT_MI (addr=0x41) */
867 #define DA9063_COUNT_MIN_MASK                   0x3F
868
869 /* DA9063_REG_COUNT_H (addr=0x42) */
870 #define DA9063_COUNT_HOUR_MASK                  0x1F
871
872 /* DA9063_REG_COUNT_D (addr=0x43) */
873 #define DA9063_COUNT_DAY_MASK                   0x1F
874
875 /* DA9063_REG_COUNT_MO (addr=0x44) */
876 #define DA9063_COUNT_MONTH_MASK                 0x0F
877
878 /* DA9063_REG_COUNT_Y (addr=0x45) */
879 #define DA9063_COUNT_YEAR_MASK                  0x3F
880 #define DA9063_MONITOR                          0x40
881
882 /* DA9063_REG_ALARM_S (addr=0x46) */
883 #define DA9063_BB_ALARM_S_MASK                  0x3F
884 #define DA9063_ALARM_STATUS_ALARM               0x80
885 #define DA9063_ALARM_STATUS_TICK                0x40
886 /* DA9063_REG_ALARM_MI (addr=0x47) */
887 #define DA9063_ALARM_MIN_MASK                   0x3F
888
889 /* DA9063_REG_ALARM_H (addr=0x48) */
890 #define DA9063_ALARM_HOUR_MASK                  0x1F
891
892 /* DA9063_REG_ALARM_D (addr=0x49) */
893 #define DA9063_ALARM_DAY_MASK                   0x1F
894
895 /* DA9063_REG_ALARM_MO (addr=0x4A) */
896 #define DA9063_TICK_WAKE                        0x20
897 #define DA9063_TICK_TYPE                        0x10
898 #define         DA9063_TICK_TYPE_SEC            0x00
899 #define         DA9063_TICK_TYPE_MIN            0x10
900 #define DA9063_ALARM_MONTH_MASK                 0x0F
901
902 /* DA9063_REG_ALARM_Y (addr=0x4B) */
903 #define DA9063_TICK_ON                          0x80
904 #define DA9063_ALARM_ON                         0x40
905 #define DA9063_ALARM_YEAR_MASK                  0x3F
906
907 /* DA9063_REG_WAIT (addr=0x97)*/
908 #define DA9063_REG_WAIT_TIME_MASK               0xF
909 #define DA9063_WAIT_TIME_0_US                   0x0
910 #define DA9063_WAIT_TIME_512_US                 0x1
911 #define DA9063_WAIT_TIME_1_MS                   0x2
912 #define DA9063_WAIT_TIME_2_MS                   0x3
913 #define DA9063_WAIT_TIME_4_1_MS                 0x4
914 #define DA9063_WAIT_TIME_8_2_MS                 0x5
915 #define DA9063_WAIT_TIME_16_4_MS                0x6
916 #define DA9063_WAIT_TIME_32_8_MS                0x7
917 #define DA9063_WAIT_TIME_65_5_MS                0x8
918 #define DA9063_WAIT_TIME_128_MS                 0x9
919 #define DA9063_WAIT_TIME_256_MS                 0xA
920 #define DA9063_WAIT_TIME_512_MS                 0xB
921 #define DA9063_WAIT_TIME_1_S                    0xC
922 #define DA9063_WAIT_TIME_2_1_S                  0xD
923
924 /* DA9063_REG_EN_32K  (addr=0x98)*/
925 #define DA9063_STABILIZ_TIME_MASK               0x7
926 #define DA9063_CRYSTAL                          0x08
927 #define DA9063_DELAY_MODE                       0x10
928 #define DA9063_OUT_CLOCK                        0x20
929 #define DA9063_RTC_CLOCK                        0x40
930 #define DA9063_OUT_32K_EN                       0x80
931
932 /* DA9063_REG_CHIP_VARIANT */
933 #define DA9063_CHIP_VARIANT_SHIFT               4
934
935 /* DA9063_REG_BUCK_ILIM_A (addr=0x9A) */
936 #define DA9063_BIO_ILIM_MASK                    0x0F
937 #define DA9063_BMEM_ILIM_MASK                   0xF0
938
939 /* DA9063_REG_BUCK_ILIM_B (addr=0x9B) */
940 #define DA9063_BPRO_ILIM_MASK                   0x0F
941 #define DA9063_BPERI_ILIM_MASK                  0xF0
942
943 /* DA9063_REG_BUCK_ILIM_C (addr=0x9C) */
944 #define DA9063_BCORE1_ILIM_MASK                 0x0F
945 #define DA9063_BCORE2_ILIM_MASK                 0xF0
946
947 /* DA9063_REG_Bxxxx_CFG common bits (addr=0x9D-0xA2) */
948 #define DA9063_BUCK_FB_MASK                     0x07
949 #define DA9063_BUCK_PD_DIS_MASK         0x20
950 #define DA9063_BUCK_MODE_MASK                   0xC0
951 #define         DA9063_BUCK_MODE_MANUAL         0x00
952 #define         DA9063_BUCK_MODE_SLEEP          0x40
953 #define         DA9063_BUCK_MODE_SYNC           0x80
954 #define         DA9063_BUCK_MODE_AUTO           0xC0
955
956 /* DA9063_REG_BPRO_CFG (addr=0x9F) */
957 #define DA9063_BPRO_VTTR_EN                     0x08
958 #define DA9063_BPRO_VTT_EN                      0x10
959
960 /* DA9063_REG_VBxxxx_A/B (addr=0xA3-0xA8, 0xB4-0xB9) */
961 #define DA9063_VBUCK_MASK                       0x7F
962 #define DA9063_VBUCK_BIAS                       0
963 #define DA9063_BUCK_SL                          0x80
964
965 /* DA9063_REG_VLDOx_A/B (addr=0xA9-0x3, 0xBA-0xC4) */
966 #define DA9063_LDO_SL                           0x80
967
968 /* DA9063_REG_VLDO1_A/B (addr=0xA9, 0xBA) */
969 #define DA9063_VLDO1_MASK                       0x3F
970 #define DA9063_VLDO1_BIAS                       0
971
972 /* DA9063_REG_VLDO2_A/B (addr=0xAA, 0xBB) */
973 #define DA9063_VLDO2_MASK                       0x3F
974 #define DA9063_VLDO2_BIAS                       0
975
976 /* DA9063_REG_VLDO3_A/B (addr=0xAB, 0xBC) */
977 #define DA9063_VLDO3_MASK                       0x7F
978 #define DA9063_VLDO3_BIAS                       0
979
980 /* DA9063_REG_VLDO4_A/B (addr=0xAC, 0xBD) */
981 #define DA9063_VLDO4_MASK                       0x7F
982 #define DA9063_VLDO4_BIAS                       0
983
984 /* DA9063_REG_VLDO5_A/B (addr=0xAD, 0xBE) */
985 #define DA9063_VLDO5_MASK                       0x3F
986 #define DA9063_VLDO5_BIAS                       2
987
988 /* DA9063_REG_VLDO6_A/B (addr=0xAE, 0xBF) */
989 #define DA9063_VLDO6_MASK                       0x3F
990 #define DA9063_VLDO6_BIAS                       2
991
992 /* DA9063_REG_VLDO7_A/B (addr=0xAF, 0xC0) */
993 #define DA9063_VLDO7_MASK                       0x3F
994 #define DA9063_VLDO7_BIAS                       2
995
996 /* DA9063_REG_VLDO8_A/B (addr=0xB0, 0xC1) */
997 #define DA9063_VLDO8_MASK                       0x3F
998 #define DA9063_VLDO8_BIAS                       2
999
1000 /* DA9063_REG_VLDO9_A/B (addr=0xB1, 0xC2) */
1001 #define DA9063_VLDO9_MASK                       0x3F
1002 #define DA9063_VLDO9_BIAS                       3
1003
1004 /* DA9063_REG_VLDO10_A/B (addr=0xB2, 0xC3) */
1005 #define DA9063_VLDO10_MASK                      0x3F
1006 #define DA9063_VLDO10_BIAS                      2
1007
1008 /* DA9063_REG_VLDO11_A/B (addr=0xB3, 0xC4) */
1009 #define DA9063_VLDO11_MASK                      0x3F
1010 #define DA9063_VLDO11_BIAS                      2
1011
1012 /* DA9063_REG_GPO11_LED (addr=0xC6) */
1013 /* DA9063_REG_GPO14_LED (addr=0xC7) */
1014 /* DA9063_REG_GPO15_LED (addr=0xC8) */
1015 #define DA9063_GPIO_DIM                         0x80
1016 #define DA9063_GPIO_PWM_MASK                    0x7F
1017
1018 /* DA9063_REG_CONFIG_H (addr=0x10D) */
1019 #define DA9063_PWM_CLK_MASK                     0x01
1020 #define         DA9063_PWM_CLK_PWM2MHZ          0x00
1021 #define         DA9063_PWM_CLK_PWM1MHZ          0x01
1022 #define DA9063_LDO8_MODE_MASK                   0x02
1023 #define         DA9063_LDO8_MODE_LDO            0
1024 #define         DA9063_LDO8_MODE_VIBR           0x02
1025 #define DA9063_MERGE_SENSE_MASK                 0x04
1026 #define         DA9063_MERGE_SENSE_GP_FB2       0x00
1027 #define         DA9063_MERGE_SENSE_GPIO4        0x04
1028 #define DA9063_BCORE_MERGE                      0x08
1029 #define DA9063_BPRO_OD                          0x10
1030 #define DA9063_BCORE2_OD                        0x20
1031 #define DA9063_BCORE1_OD                        0x40
1032 #define DA9063_BUCK_MERGE                       0x80
1033
1034 /* DA9063_REG_CONFIG_I (addr=0x10E) */
1035 #define DA9063_NONKEY_PIN_MASK                  0x03
1036 #define         DA9063_NONKEY_PIN_PORT          0x00
1037 #define         DA9063_NONKEY_PIN_SWDOWN        0x01
1038 #define         DA9063_NONKEY_PIN_AUTODOWN      0x02
1039 #define         DA9063_NONKEY_PIN_AUTOFLPRT     0x03
1040
1041 /* DA9063_REG_MON_REG_5 (addr=0x116) */
1042 #define DA9063_MON_A8_IDX_MASK                  0x07
1043 #define         DA9063_MON_A8_IDX_NONE          0x00
1044 #define         DA9063_MON_A8_IDX_BCORE1        0x01
1045 #define         DA9063_MON_A8_IDX_BCORE2        0x02
1046 #define         DA9063_MON_A8_IDX_BPRO          0x03
1047 #define         DA9063_MON_A8_IDX_LDO3          0x04
1048 #define         DA9063_MON_A8_IDX_LDO4          0x05
1049 #define         DA9063_MON_A8_IDX_LDO11         0x06
1050 #define DA9063_MON_A9_IDX_MASK                  0x70
1051 #define         DA9063_MON_A9_IDX_NONE          0x00
1052 #define         DA9063_MON_A9_IDX_BIO           0x01
1053 #define         DA9063_MON_A9_IDX_BMEM          0x02
1054 #define         DA9063_MON_A9_IDX_BPERI         0x03
1055 #define         DA9063_MON_A9_IDX_LDO1          0x04
1056 #define         DA9063_MON_A9_IDX_LDO2          0x05
1057 #define         DA9063_MON_A9_IDX_LDO5          0x06
1058
1059 /* DA9063_REG_MON_REG_6 (addr=0x117) */
1060 #define DA9063_MON_A10_IDX_MASK                 0x07
1061 #define         DA9063_MON_A10_IDX_NONE         0x00
1062 #define         DA9063_MON_A10_IDX_LDO6         0x01
1063 #define         DA9063_MON_A10_IDX_LDO7         0x02
1064 #define         DA9063_MON_A10_IDX_LDO8         0x03
1065 #define         DA9063_MON_A10_IDX_LDO9         0x04
1066 #define         DA9063_MON_A10_IDX_LDO10        0x05
1067
1068 #endif /* _DA9063_REG_H */