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_DEVICE_ID		0x181
296 #define	DA9063_REG_VARIANT_ID		0x182
297 #define	DA9063_REG_CUSTOMER_ID		0x183
298 #define	DA9063_REG_CONFIG_ID		0x184
299 
300 /*
301  * PMIC registers bits
302  */
303 /* DA9063_REG_PAGE_CON (addr=0x00) */
304 #define	DA9063_PEG_PAGE_SHIFT			0
305 #define	DA9063_REG_PAGE_MASK			0x07
306 #define		DA9063_REG_PAGE0		0x00
307 #define		DA9063_REG_PAGE2		0x02
308 #define	DA9063_PAGE_WRITE_MODE			0x00
309 #define	DA9063_REPEAT_WRITE_MODE		0x40
310 #define	DA9063_PAGE_REVERT			0x80
311 
312 /* DA9063_REG_STATUS_A (addr=0x01) */
313 #define	DA9063_NONKEY				0x01
314 #define	DA9063_WAKE				0x02
315 #define	DA9063_DVC_BUSY				0x04
316 #define	DA9063_COMP_1V2				0x08
317 
318 /* DA9063_REG_STATUS_B (addr=0x02) */
319 #define	DA9063_GPI0				0x01
320 #define	DA9063_GPI1				0x02
321 #define	DA9063_GPI2				0x04
322 #define	DA9063_GPI3				0x08
323 #define	DA9063_GPI4				0x10
324 #define	DA9063_GPI5				0x20
325 #define	DA9063_GPI6				0x40
326 #define	DA9063_GPI7				0x80
327 
328 /* DA9063_REG_STATUS_C (addr=0x03) */
329 #define	DA9063_GPI8				0x01
330 #define	DA9063_GPI9				0x02
331 #define	DA9063_GPI10				0x04
332 #define	DA9063_GPI11				0x08
333 #define	DA9063_GPI12				0x10
334 #define	DA9063_GPI13				0x20
335 #define	DA9063_GPI14				0x40
336 #define	DA9063_GPI15				0x80
337 
338 /* DA9063_REG_STATUS_D (addr=0x04) */
339 #define	DA9063_LDO3_LIM				0x08
340 #define	DA9063_LDO4_LIM				0x10
341 #define	DA9063_LDO7_LIM				0x20
342 #define	DA9063_LDO8_LIM				0x40
343 #define	DA9063_LDO11_LIM			0x80
344 
345 /* DA9063_REG_FAULT_LOG (addr=0x05) */
346 #define	DA9063_TWD_ERROR			0x01
347 #define	DA9063_POR				0x02
348 #define	DA9063_VDD_FAULT			0x04
349 #define	DA9063_VDD_START			0x08
350 #define	DA9063_TEMP_CRIT			0x10
351 #define	DA9063_KEY_RESET			0x20
352 #define	DA9063_NSHUTDOWN			0x40
353 #define	DA9063_WAIT_SHUT			0x80
354 
355 /* DA9063_REG_EVENT_A (addr=0x06) */
356 #define	DA9063_E_NONKEY				0x01
357 #define	DA9063_E_ALARM				0x02
358 #define	DA9063_E_TICK				0x04
359 #define	DA9063_E_ADC_RDY			0x08
360 #define	DA9063_E_SEQ_RDY			0x10
361 #define	DA9063_EVENTS_B				0x20
362 #define	DA9063_EVENTS_C				0x40
363 #define	DA9063_EVENTS_D				0x80
364 
365 /* DA9063_REG_EVENT_B (addr=0x07) */
366 #define	DA9063_E_WAKE				0x01
367 #define	DA9063_E_TEMP				0x02
368 #define	DA9063_E_COMP_1V2			0x04
369 #define	DA9063_E_LDO_LIM			0x08
370 #define	DA9063_E_REG_UVOV			0x10
371 #define	DA9063_E_DVC_RDY			0x20
372 #define	DA9063_E_VDD_MON			0x40
373 #define	DA9063_E_VDD_WARN			0x80
374 
375 /* DA9063_REG_EVENT_C (addr=0x08) */
376 #define	DA9063_E_GPI0				0x01
377 #define	DA9063_E_GPI1				0x02
378 #define	DA9063_E_GPI2				0x04
379 #define	DA9063_E_GPI3				0x08
380 #define	DA9063_E_GPI4				0x10
381 #define	DA9063_E_GPI5				0x20
382 #define	DA9063_E_GPI6				0x40
383 #define	DA9063_E_GPI7				0x80
384 
385 /* DA9063_REG_EVENT_D (addr=0x09) */
386 #define	DA9063_E_GPI8				0x01
387 #define	DA9063_E_GPI9				0x02
388 #define	DA9063_E_GPI10				0x04
389 #define	DA9063_E_GPI11				0x08
390 #define	DA9063_E_GPI12				0x10
391 #define	DA9063_E_GPI13				0x20
392 #define	DA9063_E_GPI14				0x40
393 #define	DA9063_E_GPI15				0x80
394 
395 /* DA9063_REG_IRQ_MASK_A (addr=0x0A) */
396 #define	DA9063_M_ONKEY				0x01
397 #define	DA9063_M_ALARM				0x02
398 #define	DA9063_M_TICK				0x04
399 #define	DA9063_M_ADC_RDY			0x08
400 #define	DA9063_M_SEQ_RDY			0x10
401 
402 /* DA9063_REG_IRQ_MASK_B (addr=0x0B) */
403 #define	DA9063_M_WAKE				0x01
404 #define	DA9063_M_TEMP				0x02
405 #define	DA9063_M_COMP_1V2			0x04
406 #define	DA9063_M_LDO_LIM			0x08
407 #define	DA9063_M_UVOV				0x10
408 #define	DA9063_M_DVC_RDY			0x20
409 #define	DA9063_M_VDD_MON			0x40
410 #define	DA9063_M_VDD_WARN			0x80
411 
412 /* DA9063_REG_IRQ_MASK_C (addr=0x0C) */
413 #define	DA9063_M_GPI0				0x01
414 #define	DA9063_M_GPI1				0x02
415 #define	DA9063_M_GPI2				0x04
416 #define	DA9063_M_GPI3				0x08
417 #define	DA9063_M_GPI4				0x10
418 #define	DA9063_M_GPI5				0x20
419 #define	DA9063_M_GPI6				0x40
420 #define	DA9063_M_GPI7				0x80
421 
422 /* DA9063_REG_IRQ_MASK_D (addr=0x0D) */
423 #define	DA9063_M_GPI8				0x01
424 #define	DA9063_M_GPI9				0x02
425 #define	DA9063_M_GPI10				0x04
426 #define	DA9063_M_GPI11				0x08
427 #define	DA9063_M_GPI12				0x10
428 #define	DA9063_M_GPI13				0x20
429 #define	DA9063_M_GPI14				0x40
430 #define	DA9063_M_GPI15				0x80
431 
432 /* DA9063_REG_CONTROL_A (addr=0x0E) */
433 #define	DA9063_SYSTEM_EN			0x01
434 #define	DA9063_POWER_EN				0x02
435 #define	DA9063_POWER1_EN			0x04
436 #define	DA9063_STANDBY				0x08
437 #define	DA9063_M_SYSTEM_EN			0x10
438 #define	DA9063_M_POWER_EN			0x20
439 #define	DA9063_M_POWER1_EN			0x40
440 #define	DA9063_CP_EN				0x80
441 
442 /* DA9063_REG_CONTROL_B (addr=0x0F) */
443 #define	DA9063_CHG_SEL				0x01
444 #define	DA9063_WATCHDOG_PD			0x02
445 #define	DA9063_BB_RESET_BLINKING		0x04
446 #define	DA9063_NRES_MODE			0x08
447 #define	DA9063_NONKEY_LOCK			0x10
448 #define	DA9063_BB_BUCK_SLOWSTART		0x80
449 
450 /* DA9063_REG_CONTROL_C (addr=0x10) */
451 #define	DA9063_DEBOUNCING_MASK			0x07
452 #define		DA9063_DEBOUNCING_OFF		0x0
453 #define		DA9063_DEBOUNCING_0MS1		0x1
454 #define		DA9063_DEBOUNCING_1MS		0x2
455 #define		DA9063_DEBOUNCING_10MS24	0x3
456 #define		DA9063_DEBOUNCING_51MS2		0x4
457 #define		DA9063_DEBOUNCING_256MS		0x5
458 #define		DA9063_DEBOUNCING_512MS		0x6
459 #define		DA9063_DEBOUNCING_1024MS	0x7
460 
461 #define	DA9063_AUTO_BOOT			0x08
462 #define	DA9063_OTPREAD_EN			0x10
463 #define	DA9063_SLEW_RATE_MASK			0x60
464 #define		DA9063_SLEW_RATE_4US		0x00
465 #define		DA9063_SLEW_RATE_3US		0x20
466 #define		DA9063_SLEW_RATE_1US		0x40
467 #define		DA9063_SLEW_RATE_0US5		0x60
468 #define	DA9063_DEF_SUPPLY			0x80
469 
470 /* DA9063_REG_CONTROL_D (addr=0x11) */
471 #define	DA9063_TWDSCALE_MASK			0x07
472 #define	DA9063_BLINK_FRQ_MASK			0x38
473 #define		DA9063_BLINK_FRQ_OFF		0x00
474 #define		DA9063_BLINK_FRQ_1S0		0x08
475 #define		DA9063_BLINK_FRQ_2S0		0x10
476 #define		DA9063_BLINK_FRQ_4S0		0x18
477 #define		DA9063_BLINK_FRQ_0S18		0x20
478 #define		DA9063_BLINK_FRQ_2S0_VDD	0x28
479 #define		DA9063_BLINK_FRQ_4S0_VDD	0x30
480 #define		DA9063_BLINK_FRQ_0S18_VDD	0x38
481 
482 #define	DA9063_BLINK_DUR_MASK			0xC0
483 #define		DA9063_BLINK_DUR_10MS		0x00
484 #define		DA9063_BLINK_DUR_20MS		0x40
485 #define		DA9063_BLINK_DUR_40MS		0x80
486 #define		DA9063_BLINK_DUR_20MSDBL	0xC0
487 
488 /* DA9063_REG_CONTROL_E (addr=0x12) */
489 #define	DA9063_RTC_MODE_PD			0x01
490 #define	DA9063_RTC_MODE_SD			0x02
491 #define	DA9063_RTC_EN				0x04
492 #define	DA9063_ECO_MODE				0x08
493 #define	DA9063_PM_FB1_PIN			0x10
494 #define	DA9063_PM_FB2_PIN			0x20
495 #define	DA9063_PM_FB3_PIN			0x40
496 #define	DA9063_V_LOCK				0x80
497 
498 /* DA9063_REG_CONTROL_F (addr=0x13) */
499 #define	DA9063_WATCHDOG				0x01
500 #define	DA9063_SHUTDOWN				0x02
501 #define	DA9063_WAKE_UP				0x04
502 
503 /* DA9063_REG_PD_DIS (addr=0x14) */
504 #define	DA9063_GPI_DIS				0x01
505 #define	DA9063_GPADC_PAUSE			0x02
506 #define	DA9063_PMIF_DIS				0x04
507 #define	DA9063_HS2WIRE_DIS			0x08
508 #define	DA9063_BB_CLDR_PAUSE			0x10
509 #define	DA9063_BBAT_DIS				0x20
510 #define	DA9063_OUT_32K_PAUSE			0x40
511 #define	DA9063_PMCONT_DIS			0x80
512 
513 /* DA9063_REG_GPIO_0_1 (addr=0x15) */
514 #define	DA9063_GPIO0_PIN_MASK			0x03
515 #define		DA9063_GPIO0_PIN_ADCIN1		0x00
516 #define		DA9063_GPIO0_PIN_GPI		0x01
517 #define		DA9063_GPIO0_PIN_GPO_OD		0x02
518 #define		DA9063_GPIO0_PIN_GPO		0x03
519 #define	DA9063_GPIO0_TYPE			0x04
520 #define		DA9063_GPIO0_TYPE_GPI_ACT_LOW	0x00
521 #define		DA9063_GPIO0_TYPE_GPO_VDD_IO1	0x00
522 #define		DA9063_GPIO0_TYPE_GPI_ACT_HIGH	0x04
523 #define		DA9063_GPIO0_TYPE_GPO_VDD_IO2	0x04
524 #define	DA9063_GPIO0_NO_WAKEUP			0x08
525 #define	DA9063_GPIO1_PIN_MASK			0x30
526 #define		DA9063_GPIO1_PIN_ADCIN2_COMP	0x00
527 #define		DA9063_GPIO1_PIN_GPI		0x10
528 #define		DA9063_GPIO1_PIN_GPO_OD		0x20
529 #define		DA9063_GPIO1_PIN_GPO		0x30
530 #define	DA9063_GPIO1_TYPE			0x40
531 #define		DA9063_GPIO1_TYPE_GPI_ACT_LOW	0x00
532 #define		DA9063_GPIO1_TYPE_GPO_VDD_IO1	0x00
533 #define		DA9063_GPIO1_TYPE_GPI_ACT_HIGH	0x04
534 #define		DA9063_GPIO1_TYPE_GPO_VDD_IO2	0x04
535 #define	DA9063_GPIO1_NO_WAKEUP			0x80
536 
537 /* DA9063_REG_GPIO_2_3 (addr=0x16) */
538 #define	DA9063_GPIO2_PIN_MASK			0x03
539 #define		DA9063_GPIO2_PIN_ADCIN3		0x00
540 #define		DA9063_GPIO2_PIN_GPI		0x01
541 #define		DA9063_GPIO2_PIN_GPO_PSS	0x02
542 #define		DA9063_GPIO2_PIN_GPO		0x03
543 #define	DA9063_GPIO2_TYPE			0x04
544 #define		DA9063_GPIO2_TYPE_GPI_ACT_LOW	0x00
545 #define		DA9063_GPIO2_TYPE_GPO_VDD_IO1	0x00
546 #define		DA9063_GPIO2_TYPE_GPI_ACT_HIGH	0x04
547 #define		DA9063_GPIO2_TYPE_GPO_VDD_IO2	0x04
548 #define	DA9063_GPIO2_NO_WAKEUP			0x08
549 #define	DA9063_GPIO3_PIN_MASK			0x30
550 #define		DA9063_GPIO3_PIN_CORE_SW_G	0x00
551 #define		DA9063_GPIO3_PIN_GPI		0x10
552 #define		DA9063_GPIO3_PIN_GPO_OD		0x20
553 #define		DA9063_GPIO3_PIN_GPO		0x30
554 #define	DA9063_GPIO3_TYPE			0x40
555 #define		DA9063_GPIO3_TYPE_GPI_ACT_LOW	0x00
556 #define		DA9063_GPIO3_TYPE_GPO_VDD_IO1	0x00
557 #define		DA9063_GPIO3_TYPE_GPI_ACT_HIGH	0x04
558 #define		DA9063_GPIO3_TYPE_GPO_VDD_IO2	0x04
559 #define	DA9063_GPIO3_NO_WAKEUP			0x80
560 
561 /* DA9063_REG_GPIO_4_5 (addr=0x17) */
562 #define	DA9063_GPIO4_PIN_MASK			0x03
563 #define		DA9063_GPIO4_PIN_CORE_SW_S	0x00
564 #define		DA9063_GPIO4_PIN_GPI		0x01
565 #define		DA9063_GPIO4_PIN_GPO_OD		0x02
566 #define		DA9063_GPIO4_PIN_GPO		0x03
567 #define	DA9063_GPIO4_TYPE			0x04
568 #define		DA9063_GPIO4_TYPE_GPI_ACT_LOW	0x00
569 #define		DA9063_GPIO4_TYPE_GPO_VDD_IO1	0x00
570 #define		DA9063_GPIO4_TYPE_GPI_ACT_HIGH	0x04
571 #define		DA9063_GPIO4_TYPE_GPO_VDD_IO2	0x04
572 #define	DA9063_GPIO4_NO_WAKEUP			0x08
573 #define	DA9063_GPIO5_PIN_MASK			0x30
574 #define		DA9063_GPIO5_PIN_PERI_SW_G	0x00
575 #define		DA9063_GPIO5_PIN_GPI		0x10
576 #define		DA9063_GPIO5_PIN_GPO_OD		0x20
577 #define		DA9063_GPIO5_PIN_GPO		0x30
578 #define	DA9063_GPIO5_TYPE			0x40
579 #define		DA9063_GPIO5_TYPE_GPI_ACT_LOW	0x00
580 #define		DA9063_GPIO5_TYPE_GPO_VDD_IO1	0x00
581 #define		DA9063_GPIO5_TYPE_GPI_ACT_HIGH	0x04
582 #define		DA9063_GPIO5_TYPE_GPO_VDD_IO2	0x04
583 #define	DA9063_GPIO5_NO_WAKEUP			0x80
584 
585 /* DA9063_REG_GPIO_6_7 (addr=0x18) */
586 #define	DA9063_GPIO6_PIN_MASK			0x03
587 #define		DA9063_GPIO6_PIN_PERI_SW_S	0x00
588 #define		DA9063_GPIO6_PIN_GPI		0x01
589 #define		DA9063_GPIO6_PIN_GPO_OD		0x02
590 #define		DA9063_GPIO6_PIN_GPO		0x03
591 #define	DA9063_GPIO6_TYPE			0x04
592 #define		DA9063_GPIO6_TYPE_GPI_ACT_LOW	0x00
593 #define		DA9063_GPIO6_TYPE_GPO_VDD_IO1	0x00
594 #define		DA9063_GPIO6_TYPE_GPI_ACT_HIGH	0x04
595 #define		DA9063_GPIO6_TYPE_GPO_VDD_IO2	0x04
596 #define	DA9063_GPIO6_NO_WAKEUP			0x08
597 #define	DA9063_GPIO7_PIN_MASK			0x30
598 #define		DA9063_GPIO7_PIN_GPI		0x10
599 #define		DA9063_GPIO7_PIN_GPO_PSS	0x20
600 #define		DA9063_GPIO7_PIN_GPO		0x30
601 #define	DA9063_GPIO7_TYPE			0x40
602 #define		DA9063_GPIO7_TYPE_GPI_ACT_LOW	0x00
603 #define		DA9063_GPIO7_TYPE_GPO_VDD_IO1	0x00
604 #define		DA9063_GPIO7_TYPE_GPI_ACT_HIGH	0x04
605 #define		DA9063_GPIO7_TYPE_GPO_VDD_IO2	0x04
606 #define	DA9063_GPIO7_NO_WAKEUP			0x80
607 
608 /* DA9063_REG_GPIO_8_9 (addr=0x19) */
609 #define	DA9063_GPIO8_PIN_MASK			0x03
610 #define		DA9063_GPIO8_PIN_GPI_SYS_EN	0x00
611 #define		DA9063_GPIO8_PIN_GPI		0x01
612 #define		DA9063_GPIO8_PIN_GPO_PSS	0x02
613 #define		DA9063_GPIO8_PIN_GPO		0x03
614 #define	DA9063_GPIO8_TYPE			0x04
615 #define		DA9063_GPIO8_TYPE_GPI_ACT_LOW	0x00
616 #define		DA9063_GPIO8_TYPE_GPO_VDD_IO1	0x00
617 #define		DA9063_GPIO8_TYPE_GPI_ACT_HIGH	0x04
618 #define		DA9063_GPIO8_TYPE_GPO_VDD_IO2	0x04
619 #define	DA9063_GPIO8_NO_WAKEUP			0x08
620 #define	DA9063_GPIO9_PIN_MASK			0x30
621 #define		DA9063_GPIO9_PIN_GPI_PWR_EN	0x00
622 #define		DA9063_GPIO9_PIN_GPI		0x10
623 #define		DA9063_GPIO9_PIN_GPO_PSS	0x20
624 #define		DA9063_GPIO9_PIN_GPO		0x30
625 #define	DA9063_GPIO9_TYPE			0x40
626 #define		DA9063_GPIO9_TYPE_GPI_ACT_LOW	0x00
627 #define		DA9063_GPIO9_TYPE_GPO_VDD_IO1	0x00
628 #define		DA9063_GPIO9_TYPE_GPI_ACT_HIGH	0x04
629 #define		DA9063_GPIO9_TYPE_GPO_VDD_IO2	0x04
630 #define	DA9063_GPIO9_NO_WAKEUP			0x80
631 
632 /* DA9063_REG_GPIO_10_11 (addr=0x1A) */
633 #define	DA9063_GPIO10_PIN_MASK			0x03
634 #define		DA9063_GPIO10_PIN_GPI_PWR1_EN	0x00
635 #define		DA9063_GPIO10_PIN_GPI		0x01
636 #define		DA9063_GPIO10_PIN_GPO_OD	0x02
637 #define		DA9063_GPIO10_PIN_GPO		0x03
638 #define	DA9063_GPIO10_TYPE			0x04
639 #define		DA9063_GPIO10_TYPE_GPI_ACT_LOW	0x00
640 #define		DA9063_GPIO10_TYPE_GPO_VDD_IO1	0x00
641 #define		DA9063_GPIO10_TYPE_GPI_ACT_HIGH	0x04
642 #define		DA9063_GPIO10_TYPE_GPO_VDD_IO2	0x04
643 #define	DA9063_GPIO10_NO_WAKEUP			0x08
644 #define	DA9063_GPIO11_PIN_MASK			0x30
645 #define		DA9063_GPIO11_PIN_GPO_OD	0x00
646 #define		DA9063_GPIO11_PIN_GPI		0x10
647 #define		DA9063_GPIO11_PIN_GPO_PSS	0x20
648 #define		DA9063_GPIO11_PIN_GPO		0x30
649 #define	DA9063_GPIO11_TYPE			0x40
650 #define		DA9063_GPIO11_TYPE_GPI_ACT_LOW	0x00
651 #define		DA9063_GPIO11_TYPE_GPO_VDD_IO1	0x00
652 #define		DA9063_GPIO11_TYPE_GPI_ACT_HIGH	0x04
653 #define		DA9063_GPIO11_TYPE_GPO_VDD_IO2	0x04
654 #define	DA9063_GPIO11_NO_WAKEUP			0x80
655 
656 /* DA9063_REG_GPIO_12_13 (addr=0x1B) */
657 #define	DA9063_GPIO12_PIN_MASK			0x03
658 #define		DA9063_GPIO12_PIN_NVDDFLT_OUT	0x00
659 #define		DA9063_GPIO12_PIN_GPI		0x01
660 #define		DA9063_GPIO12_PIN_VSYSMON_OUT	0x02
661 #define		DA9063_GPIO12_PIN_GPO		0x03
662 #define	DA9063_GPIO12_TYPE			0x04
663 #define		DA9063_GPIO12_TYPE_GPI_ACT_LOW	0x00
664 #define		DA9063_GPIO12_TYPE_GPO_VDD_IO1	0x00
665 #define		DA9063_GPIO12_TYPE_GPI_ACT_HIGH	0x04
666 #define		DA9063_GPIO12_TYPE_GPO_VDD_IO2	0x04
667 #define	DA9063_GPIO12_NO_WAKEUP			0x08
668 #define	DA9063_GPIO13_PIN_MASK			0x30
669 #define		DA9063_GPIO13_PIN_GPFB1_OUT	0x00
670 #define		DA9063_GPIO13_PIN_GPI		0x10
671 #define		DA9063_GPIO13_PIN_GPFB1_OUTOD	0x20
672 #define		DA9063_GPIO13_PIN_GPO		0x30
673 #define	DA9063_GPIO13_TYPE			0x40
674 #define		DA9063_GPIO13_TYPE_GPFB1_OUT	0x00
675 #define		DA9063_GPIO13_TYPE_GPI		0x00
676 #define		DA9063_GPIO13_TYPE_GPFB1_OUTOD	0x04
677 #define		DA9063_GPIO13_TYPE_GPO		0x04
678 #define	DA9063_GPIO13_NO_WAKEUP			0x80
679 
680 /* DA9063_REG_GPIO_14_15 (addr=0x1C) */
681 #define	DA9063_GPIO14_PIN_MASK			0x03
682 #define		DA9063_GPIO14_PIN_GPO_OD	0x00
683 #define		DA9063_GPIO14_PIN_GPI		0x01
684 #define		DA9063_GPIO14_PIN_HS2DATA	0x02
685 #define		DA9063_GPIO14_PIN_GPO		0x03
686 #define	DA9063_GPIO14_TYPE			0x04
687 #define		DA9063_GPIO14_TYPE_GPI_ACT_LOW	0x00
688 #define		DA9063_GPIO14_TYPE_GPO_VDD_IO1	0x00
689 #define		DA9063_GPIO14_TYPE_GPI_ACT_HIGH	0x04
690 #define		DA9063_GPIO14_TYPE_GPO_VDD_IO2	0x04
691 #define	DA9063_GPIO14_NO_WAKEUP			0x08
692 #define	DA9063_GPIO15_PIN_MASK			0x30
693 #define		DA9063_GPIO15_PIN_GPO_OD	0x00
694 #define		DA9063_GPIO15_PIN_GPI		0x10
695 #define		DA9063_GPIO15_PIN_GPO		0x30
696 #define	DA9063_GPIO15_TYPE			0x40
697 #define		DA9063_GPIO15_TYPE_GPFB1_OUT	0x00
698 #define		DA9063_GPIO15_TYPE_GPI		0x00
699 #define		DA9063_GPIO15_TYPE_GPFB1_OUTOD	0x04
700 #define		DA9063_GPIO15_TYPE_GPO		0x04
701 #define	DA9063_GPIO15_NO_WAKEUP			0x80
702 
703 /* DA9063_REG_GPIO_MODE0_7 (addr=0x1D) */
704 #define	DA9063_GPIO0_MODE			0x01
705 #define	DA9063_GPIO1_MODE			0x02
706 #define	DA9063_GPIO2_MODE			0x04
707 #define	DA9063_GPIO3_MODE			0x08
708 #define	DA9063_GPIO4_MODE			0x10
709 #define	DA9063_GPIO5_MODE			0x20
710 #define	DA9063_GPIO6_MODE			0x40
711 #define	DA9063_GPIO7_MODE			0x80
712 
713 /* DA9063_REG_GPIO_MODE8_15 (addr=0x1E) */
714 #define	DA9063_GPIO8_MODE			0x01
715 #define	DA9063_GPIO9_MODE			0x02
716 #define	DA9063_GPIO10_MODE			0x04
717 #define	DA9063_GPIO11_MODE			0x08
718 #define		DA9063_GPIO11_MODE_LED_ACT_HIGH	0x00
719 #define		DA9063_GPIO11_MODE_LED_ACT_LOW	0x08
720 #define	DA9063_GPIO12_MODE			0x10
721 #define	DA9063_GPIO13_MODE			0x20
722 #define	DA9063_GPIO14_MODE			0x40
723 #define		DA9063_GPIO14_MODE_LED_ACT_HIGH	0x00
724 #define		DA9063_GPIO14_MODE_LED_ACT_LOW	0x40
725 #define	DA9063_GPIO15_MODE			0x80
726 #define		DA9063_GPIO15_MODE_LED_ACT_HIGH	0x00
727 #define		DA9063_GPIO15_MODE_LED_ACT_LOW	0x80
728 
729 /* DA9063_REG_SWITCH_CONT (addr=0x1F) */
730 #define	DA9063_CORE_SW_GPI_MASK			0x03
731 #define		DA9063_CORE_SW_GPI_OFF		0x00
732 #define		DA9063_CORE_SW_GPI_GPIO1	0x01
733 #define		DA9063_CORE_SW_GPI_GPIO2	0x02
734 #define		DA9063_CORE_SW_GPI_GPIO13	0x03
735 #define	DA9063_PERI_SW_GPI_MASK			0x0C
736 #define		DA9063_PERI_SW_GPI_OFF		0x00
737 #define		DA9063_PERI_SW_GPI_GPIO1	0x04
738 #define		DA9063_PERI_SW_GPI_GPIO2	0x08
739 #define		DA9063_PERI_SW_GPI_GPIO13	0x0C
740 #define	DA9063_SWITCH_SR_MASK			0x30
741 #define		DA9063_SWITCH_SR_1MV		0x00
742 #define		DA9063_SWITCH_SR_5MV		0x10
743 #define		DA9063_SWITCH_SR_10MV		0x20
744 #define		DA9063_SWITCH_SR_50MV		0x30
745 #define	DA9063_CORE_SW_INTERNAL			0x40
746 #define	DA9063_CP_EN_MODE			0x80
747 
748 /* DA9063_REGL_Bxxxx_CONT common bits (addr=0x20-0x25) */
749 #define	DA9063_BUCK_EN				0x01
750 #define	DA9063_BUCK_GPI_MASK			0x06
751 #define		DA9063_BUCK_GPI_OFF		0x00
752 #define		DA9063_BUCK_GPI_GPIO1		0x02
753 #define		DA9063_BUCK_GPI_GPIO2		0x04
754 #define		DA9063_BUCK_GPI_GPIO13		0x06
755 #define	DA9063_BUCK_CONF			0x08
756 #define	DA9063_VBUCK_GPI_MASK			0x60
757 #define		DA9063_VBUCK_GPI_OFF		0x00
758 #define		DA9063_VBUCK_GPI_GPIO1		0x20
759 #define		DA9063_VBUCK_GPI_GPIO2		0x40
760 #define		DA9063_VBUCK_GPI_GPIO13		0x60
761 
762 /* DA9063_REG_BCORE1_CONT specific bits (addr=0x21) */
763 #define	DA9063_CORE_SW_EN			0x10
764 #define	DA9063_CORE_SW_CONF			0x80
765 
766 /* DA9063_REG_BPERI_CONT specific bits (addr=0x25) */
767 #define	DA9063_PERI_SW_EN			0x10
768 #define	DA9063_PERI_SW_CONF			0x80
769 
770 /* DA9063_REG_LDOx_CONT common bits (addr=0x26-0x30) */
771 #define	DA9063_LDO_EN				0x01
772 #define DA9063_LDO_GPI_MASK			0x06
773 #define		DA9063_LDO_GPI_OFF		0x00
774 #define		DA9063_LDO_GPI_GPIO1		0x02
775 #define		DA9063_LDO_GPI_GPIO2		0x04
776 #define		DA9063_LDO_GPI_GPIO13		0x06
777 #define	DA9063_LDO_PD_DIS			0x08
778 #define	DA9063_VLDO_GPI_MASK			0x60
779 #define		DA9063_VLDO_GPI_OFF		0x00
780 #define		DA9063_VLDO_GPI_GPIO1		0x20
781 #define		DA9063_VLDO_GPI_GPIO2		0x40
782 #define		DA9063_VLDO_GPI_GPIO13		0x60
783 #define	DA9063_LDO_CONF				0x80
784 
785 /* DA9063_REG_LDO5_CONT specific bits (addr=0x2A) */
786 #define	DA9063_VLDO5_SEL			0x10
787 
788 /* DA9063_REG_LDO6_CONT specific bits (addr=0x2B) */
789 #define	DA9063_VLDO6_SEL			0x10
790 
791 /* DA9063_REG_LDO7_CONT specific bits (addr=0x2C) */
792 #define	DA9063_VLDO7_SEL			0x10
793 
794 /* DA9063_REG_LDO8_CONT specific bits (addr=0x2D) */
795 #define	DA9063_VLDO8_SEL			0x10
796 
797 /* DA9063_REG_LDO9_CONT specific bits (addr=0x2E) */
798 #define	DA9063_VLDO9_SEL			0x10
799 
800 /* DA9063_REG_LDO10_CONT specific bits (addr=0x2F) */
801 #define	DA9063_VLDO10_SEL			0x10
802 
803 /* DA9063_REG_LDO11_CONT specific bits (addr=0x30) */
804 #define	DA9063_VLDO11_SEL			0x10
805 
806 /* DA9063_REG_VIB (addr=0x31) */
807 #define DA9063_VIB_SET_MASK			0x3F
808 #define		DA9063_VIB_SET_OFF		0
809 #define		DA9063_VIB_SET_MAX		0x3F
810 
811 /* DA9063_REG_DVC_1 (addr=0x32) */
812 #define	DA9063_VBCORE1_SEL			0x01
813 #define	DA9063_VBCORE2_SEL			0x02
814 #define	DA9063_VBPRO_SEL			0x04
815 #define	DA9063_VBMEM_SEL			0x08
816 #define	DA9063_VBPERI_SEL			0x10
817 #define	DA9063_VLDO1_SEL			0x20
818 #define	DA9063_VLDO2_SEL			0x40
819 #define	DA9063_VLDO3_SEL			0x80
820 
821 /* DA9063_REG_DVC_2 (addr=0x33) */
822 #define	DA9063_VBIO_SEL				0x01
823 #define	DA9063_VLDO4_SEL			0x80
824 
825 /* DA9063_REG_ADC_MAN (addr=0x34) */
826 #define	DA9063_ADC_MUX_MASK			0x0F
827 #define		DA9063_ADC_MUX_VSYS		0x00
828 #define		DA9063_ADC_MUX_ADCIN1		0x01
829 #define		DA9063_ADC_MUX_ADCIN2		0x02
830 #define		DA9063_ADC_MUX_ADCIN3		0x03
831 #define		DA9063_ADC_MUX_T_SENSE		0x04
832 #define		DA9063_ADC_MUX_VBBAT		0x05
833 #define		DA9063_ADC_MUX_LDO_G1		0x08
834 #define		DA9063_ADC_MUX_LDO_G2		0x09
835 #define		DA9063_ADC_MUX_LDO_G3		0x0A
836 #define	DA9063_ADC_MAN				0x10
837 #define	DA9063_ADC_MODE				0x20
838 
839 /* DA9063_REG_ADC_CONT (addr=0x35) */
840 #define	DA9063_ADC_AUTO_VSYS_EN			0x01
841 #define	DA9063_ADC_AUTO_AD1_EN			0x02
842 #define	DA9063_ADC_AUTO_AD2_EN			0x04
843 #define	DA9063_ADC_AUTO_AD3_EN			0x08
844 #define	DA9063_ADC_AD1_ISRC_EN			0x10
845 #define	DA9063_ADC_AD2_ISRC_EN			0x20
846 #define	DA9063_ADC_AD3_ISRC_EN			0x40
847 #define	DA9063_COMP1V2_EN			0x80
848 
849 /* DA9063_REG_VSYS_MON (addr=0x36) */
850 #define	DA9063_VSYS_VAL_MASK			0xFF
851 #define	DA9063_VSYS_VAL_BASE			0x00
852 
853 /* DA9063_REG_ADC_RES_L (addr=0x37) */
854 #define	DA9063_ADC_RES_L_BITS			2
855 #define	DA9063_ADC_RES_L_MASK			0xC0
856 
857 /* DA9063_REG_ADC_RES_H (addr=0x38) */
858 #define	DA9063_ADC_RES_M_BITS			8
859 #define	DA9063_ADC_RES_M_MASK			0xFF
860 
861 /* DA9063_REG_(xxx_RES/ADC_RES_H) (addr=0x39-0x3F) */
862 #define	DA9063_ADC_VAL_MASK			0xFF
863 
864 /* DA9063_REG_COUNT_S (addr=0x40) */
865 #define DA9063_RTC_READ				0x80
866 #define DA9063_COUNT_SEC_MASK			0x3F
867 
868 /* DA9063_REG_COUNT_MI (addr=0x41) */
869 #define DA9063_COUNT_MIN_MASK			0x3F
870 
871 /* DA9063_REG_COUNT_H (addr=0x42) */
872 #define DA9063_COUNT_HOUR_MASK			0x1F
873 
874 /* DA9063_REG_COUNT_D (addr=0x43) */
875 #define DA9063_COUNT_DAY_MASK			0x1F
876 
877 /* DA9063_REG_COUNT_MO (addr=0x44) */
878 #define DA9063_COUNT_MONTH_MASK			0x0F
879 
880 /* DA9063_REG_COUNT_Y (addr=0x45) */
881 #define DA9063_COUNT_YEAR_MASK			0x3F
882 #define DA9063_MONITOR				0x40
883 
884 /* DA9063_REG_ALARM_S (addr=0x46) */
885 #define DA9063_BB_ALARM_S_MASK			0x3F
886 #define DA9063_ALARM_STATUS_ALARM		0x80
887 #define DA9063_ALARM_STATUS_TICK		0x40
888 /* DA9063_REG_ALARM_MI (addr=0x47) */
889 #define DA9063_ALARM_MIN_MASK			0x3F
890 
891 /* DA9063_REG_ALARM_H (addr=0x48) */
892 #define DA9063_ALARM_HOUR_MASK			0x1F
893 
894 /* DA9063_REG_ALARM_D (addr=0x49) */
895 #define DA9063_ALARM_DAY_MASK			0x1F
896 
897 /* DA9063_REG_ALARM_MO (addr=0x4A) */
898 #define DA9063_TICK_WAKE			0x20
899 #define DA9063_TICK_TYPE			0x10
900 #define		DA9063_TICK_TYPE_SEC		0x00
901 #define		DA9063_TICK_TYPE_MIN		0x10
902 #define DA9063_ALARM_MONTH_MASK			0x0F
903 
904 /* DA9063_REG_ALARM_Y (addr=0x4B) */
905 #define DA9063_TICK_ON				0x80
906 #define DA9063_ALARM_ON				0x40
907 #define DA9063_ALARM_YEAR_MASK			0x3F
908 
909 /* DA9063_REG_WAIT (addr=0x97)*/
910 #define	DA9063_REG_WAIT_TIME_MASK		0xF
911 #define	DA9063_WAIT_TIME_0_US			0x0
912 #define	DA9063_WAIT_TIME_512_US			0x1
913 #define	DA9063_WAIT_TIME_1_MS			0x2
914 #define	DA9063_WAIT_TIME_2_MS			0x3
915 #define	DA9063_WAIT_TIME_4_1_MS			0x4
916 #define	DA9063_WAIT_TIME_8_2_MS			0x5
917 #define	DA9063_WAIT_TIME_16_4_MS		0x6
918 #define	DA9063_WAIT_TIME_32_8_MS		0x7
919 #define	DA9063_WAIT_TIME_65_5_MS		0x8
920 #define	DA9063_WAIT_TIME_128_MS			0x9
921 #define	DA9063_WAIT_TIME_256_MS			0xA
922 #define	DA9063_WAIT_TIME_512_MS			0xB
923 #define	DA9063_WAIT_TIME_1_S			0xC
924 #define	DA9063_WAIT_TIME_2_1_S			0xD
925 
926 /* DA9063_REG_EN_32K  (addr=0x98)*/
927 #define	DA9063_STABILIZ_TIME_MASK		0x7
928 #define	DA9063_CRYSTAL				0x08
929 #define	DA9063_DELAY_MODE			0x10
930 #define	DA9063_OUT_CLOCK			0x20
931 #define	DA9063_RTC_CLOCK			0x40
932 #define	DA9063_OUT_32K_EN			0x80
933 
934 /* DA9063_REG_BUCK_ILIM_A (addr=0x9A) */
935 #define DA9063_BIO_ILIM_MASK			0x0F
936 #define DA9063_BMEM_ILIM_MASK			0xF0
937 
938 /* DA9063_REG_BUCK_ILIM_B (addr=0x9B) */
939 #define DA9063_BPRO_ILIM_MASK			0x0F
940 #define DA9063_BPERI_ILIM_MASK			0xF0
941 
942 /* DA9063_REG_BUCK_ILIM_C (addr=0x9C) */
943 #define DA9063_BCORE1_ILIM_MASK			0x0F
944 #define DA9063_BCORE2_ILIM_MASK			0xF0
945 
946 /* DA9063_REG_Bxxxx_CFG common bits (addr=0x9D-0xA2) */
947 #define DA9063_BUCK_FB_MASK			0x07
948 #define DA9063_BUCK_PD_DIS_MASK		0x20
949 #define DA9063_BUCK_MODE_MASK			0xC0
950 #define		DA9063_BUCK_MODE_MANUAL		0x00
951 #define		DA9063_BUCK_MODE_SLEEP		0x40
952 #define		DA9063_BUCK_MODE_SYNC		0x80
953 #define		DA9063_BUCK_MODE_AUTO		0xC0
954 
955 /* DA9063_REG_BPRO_CFG (addr=0x9F) */
956 #define	DA9063_BPRO_VTTR_EN			0x08
957 #define	DA9063_BPRO_VTT_EN			0x10
958 
959 /* DA9063_REG_VBxxxx_A/B (addr=0xA3-0xA8, 0xB4-0xB9) */
960 #define DA9063_VBUCK_MASK			0x7F
961 #define DA9063_VBUCK_BIAS			0
962 #define DA9063_BUCK_SL				0x80
963 
964 /* DA9063_REG_VLDOx_A/B (addr=0xA9-0x3, 0xBA-0xC4) */
965 #define DA9063_LDO_SL				0x80
966 
967 /* DA9063_REG_VLDO1_A/B (addr=0xA9, 0xBA) */
968 #define DA9063_VLDO1_MASK			0x3F
969 #define DA9063_VLDO1_BIAS			0
970 
971 /* DA9063_REG_VLDO2_A/B (addr=0xAA, 0xBB) */
972 #define DA9063_VLDO2_MASK			0x3F
973 #define DA9063_VLDO2_BIAS			0
974 
975 /* DA9063_REG_VLDO3_A/B (addr=0xAB, 0xBC) */
976 #define DA9063_VLDO3_MASK			0x7F
977 #define DA9063_VLDO3_BIAS			0
978 
979 /* DA9063_REG_VLDO4_A/B (addr=0xAC, 0xBD) */
980 #define DA9063_VLDO4_MASK			0x7F
981 #define DA9063_VLDO4_BIAS			0
982 
983 /* DA9063_REG_VLDO5_A/B (addr=0xAD, 0xBE) */
984 #define DA9063_VLDO5_MASK			0x3F
985 #define DA9063_VLDO5_BIAS			2
986 
987 /* DA9063_REG_VLDO6_A/B (addr=0xAE, 0xBF) */
988 #define DA9063_VLDO6_MASK			0x3F
989 #define DA9063_VLDO6_BIAS			2
990 
991 /* DA9063_REG_VLDO7_A/B (addr=0xAF, 0xC0) */
992 #define DA9063_VLDO7_MASK			0x3F
993 #define DA9063_VLDO7_BIAS			2
994 
995 /* DA9063_REG_VLDO8_A/B (addr=0xB0, 0xC1) */
996 #define DA9063_VLDO8_MASK			0x3F
997 #define DA9063_VLDO8_BIAS			2
998 
999 /* DA9063_REG_VLDO9_A/B (addr=0xB1, 0xC2) */
1000 #define DA9063_VLDO9_MASK			0x3F
1001 #define DA9063_VLDO9_BIAS			3
1002 
1003 /* DA9063_REG_VLDO10_A/B (addr=0xB2, 0xC3) */
1004 #define DA9063_VLDO10_MASK			0x3F
1005 #define DA9063_VLDO10_BIAS			2
1006 
1007 /* DA9063_REG_VLDO11_A/B (addr=0xB3, 0xC4) */
1008 #define DA9063_VLDO11_MASK			0x3F
1009 #define DA9063_VLDO11_BIAS			2
1010 
1011 /* DA9063_REG_GPO11_LED (addr=0xC6) */
1012 /* DA9063_REG_GPO14_LED (addr=0xC7) */
1013 /* DA9063_REG_GPO15_LED (addr=0xC8) */
1014 #define DA9063_GPIO_DIM				0x80
1015 #define DA9063_GPIO_PWM_MASK			0x7F
1016 
1017 /* DA9063_REG_CONFIG_H (addr=0x10D) */
1018 #define DA9063_PWM_CLK_MASK			0x01
1019 #define		DA9063_PWM_CLK_PWM2MHZ		0x00
1020 #define		DA9063_PWM_CLK_PWM1MHZ		0x01
1021 #define DA9063_LDO8_MODE_MASK			0x02
1022 #define		DA9063_LDO8_MODE_LDO		0
1023 #define		DA9063_LDO8_MODE_VIBR		0x02
1024 #define DA9063_MERGE_SENSE_MASK			0x04
1025 #define		DA9063_MERGE_SENSE_GP_FB2	0x00
1026 #define		DA9063_MERGE_SENSE_GPIO4	0x04
1027 #define DA9063_BCORE_MERGE			0x08
1028 #define DA9063_BPRO_OD				0x10
1029 #define DA9063_BCORE2_OD			0x20
1030 #define DA9063_BCORE1_OD			0x40
1031 #define DA9063_BUCK_MERGE			0x80
1032 
1033 /* DA9063_REG_CONFIG_I (addr=0x10E) */
1034 #define DA9063_NONKEY_PIN_MASK			0x03
1035 #define		DA9063_NONKEY_PIN_PORT		0x00
1036 #define		DA9063_NONKEY_PIN_SWDOWN	0x01
1037 #define		DA9063_NONKEY_PIN_AUTODOWN	0x02
1038 #define		DA9063_NONKEY_PIN_AUTOFLPRT	0x03
1039 
1040 /* DA9063_REG_CONFIG_J (addr=0x10F) */
1041 #define DA9063_TWOWIRE_TO			0x40
1042 
1043 /* DA9063_REG_MON_REG_2 (addr=0x115) */
1044 #define DA9063_LDO1_MON_EN			0x01
1045 #define DA9063_LDO2_MON_EN			0x02
1046 #define DA9063_LDO3_MON_EN			0x04
1047 #define DA9063_LDO4_MON_EN			0x08
1048 #define DA9063_LDO5_MON_EN			0x10
1049 #define DA9063_LDO6_MON_EN			0x20
1050 #define DA9063_LDO7_MON_EN			0x40
1051 #define DA9063_LDO8_MON_EN			0x80
1052 
1053 /* DA9063_REG_MON_REG_3 (addr=0x116) */
1054 #define DA9063_LDO9_MON_EN			0x01
1055 #define DA9063_LDO10_MON_EN			0x02
1056 #define DA9063_LDO11_MON_EN			0x04
1057 
1058 /* DA9063_REG_MON_REG_4 (addr=0x117) */
1059 #define DA9063_BCORE1_MON_EN			0x04
1060 #define DA9063_BCORE2_MON_EN			0x08
1061 #define DA9063_BPRO_MON_EN			0x10
1062 #define DA9063_BIO_MON_EN			0x20
1063 #define DA9063_BMEM_MON_EN			0x40
1064 #define DA9063_BPERI_MON_EN			0x80
1065 
1066 /* DA9063_REG_MON_REG_5 (addr=0x116) */
1067 #define DA9063_MON_A8_IDX_MASK			0x07
1068 #define		DA9063_MON_A8_IDX_NONE		0x00
1069 #define		DA9063_MON_A8_IDX_BCORE1	0x01
1070 #define		DA9063_MON_A8_IDX_BCORE2	0x02
1071 #define		DA9063_MON_A8_IDX_BPRO		0x03
1072 #define		DA9063_MON_A8_IDX_LDO3		0x04
1073 #define		DA9063_MON_A8_IDX_LDO4		0x05
1074 #define		DA9063_MON_A8_IDX_LDO11		0x06
1075 #define DA9063_MON_A9_IDX_MASK			0x70
1076 #define		DA9063_MON_A9_IDX_NONE		0x00
1077 #define		DA9063_MON_A9_IDX_BIO		0x01
1078 #define		DA9063_MON_A9_IDX_BMEM		0x02
1079 #define		DA9063_MON_A9_IDX_BPERI		0x03
1080 #define		DA9063_MON_A9_IDX_LDO1		0x04
1081 #define		DA9063_MON_A9_IDX_LDO2		0x05
1082 #define		DA9063_MON_A9_IDX_LDO5		0x06
1083 
1084 /* DA9063_REG_MON_REG_6 (addr=0x117) */
1085 #define DA9063_MON_A10_IDX_MASK			0x07
1086 #define		DA9063_MON_A10_IDX_NONE		0x00
1087 #define		DA9063_MON_A10_IDX_LDO6		0x01
1088 #define		DA9063_MON_A10_IDX_LDO7		0x02
1089 #define		DA9063_MON_A10_IDX_LDO8		0x03
1090 #define		DA9063_MON_A10_IDX_LDO9		0x04
1091 #define		DA9063_MON_A10_IDX_LDO10	0x05
1092 
1093 /* DA9063_REG_VARIANT_ID (addr=0x182) */
1094 #define	DA9063_VARIANT_ID_VRC_SHIFT		0
1095 #define DA9063_VARIANT_ID_VRC_MASK		0x0F
1096 #define	DA9063_VARIANT_ID_MRC_SHIFT		4
1097 #define DA9063_VARIANT_ID_MRC_MASK		0xF0
1098 
1099 #endif /* _DA9063_REG_H */
1100