1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * DA9150 MFD Driver - Registers
4 *
5 * Copyright (c) 2014 Dialog Semiconductor
6 *
7 * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
8 */
9
10#ifndef __DA9150_REGISTERS_H
11#define __DA9150_REGISTERS_H
12
13#include <linux/bitops.h>
14
15/* Registers */
16#define DA9150_PAGE_CON 0x000
17#define DA9150_STATUS_A 0x068
18#define DA9150_STATUS_B 0x069
19#define DA9150_STATUS_C 0x06A
20#define DA9150_STATUS_D 0x06B
21#define DA9150_STATUS_E 0x06C
22#define DA9150_STATUS_F 0x06D
23#define DA9150_STATUS_G 0x06E
24#define DA9150_STATUS_H 0x06F
25#define DA9150_STATUS_I 0x070
26#define DA9150_STATUS_J 0x071
27#define DA9150_STATUS_K 0x072
28#define DA9150_STATUS_L 0x073
29#define DA9150_STATUS_N 0x074
30#define DA9150_FAULT_LOG_A 0x076
31#define DA9150_FAULT_LOG_B 0x077
32#define DA9150_EVENT_E 0x078
33#define DA9150_EVENT_F 0x079
34#define DA9150_EVENT_G 0x07A
35#define DA9150_EVENT_H 0x07B
36#define DA9150_IRQ_MASK_E 0x07C
37#define DA9150_IRQ_MASK_F 0x07D
38#define DA9150_IRQ_MASK_G 0x07E
39#define DA9150_IRQ_MASK_H 0x07F
40#define DA9150_PAGE_CON_1 0x080
41#define DA9150_CONFIG_A 0x0E0
42#define DA9150_CONFIG_B 0x0E1
43#define DA9150_CONFIG_C 0x0E2
44#define DA9150_CONFIG_D 0x0E3
45#define DA9150_CONFIG_E 0x0E4
46#define DA9150_CONTROL_A 0x0E5
47#define DA9150_CONTROL_B 0x0E6
48#define DA9150_CONTROL_C 0x0E7
49#define DA9150_GPIO_A_B 0x0E8
50#define DA9150_GPIO_C_D 0x0E9
51#define DA9150_GPIO_MODE_CONT 0x0EA
52#define DA9150_GPIO_CTRL_B 0x0EB
53#define DA9150_GPIO_CTRL_A 0x0EC
54#define DA9150_GPIO_CTRL_C 0x0ED
55#define DA9150_GPIO_CFG_A 0x0EE
56#define DA9150_GPIO_CFG_B 0x0EF
57#define DA9150_GPIO_CFG_C 0x0F0
58#define DA9150_GPADC_MAN 0x0F2
59#define DA9150_GPADC_RES_A 0x0F4
60#define DA9150_GPADC_RES_B 0x0F5
61#define DA9150_PAGE_CON_2 0x100
62#define DA9150_OTP_CONT_SHARED 0x101
63#define DA9150_INTERFACE_SHARED 0x105
64#define DA9150_CONFIG_A_SHARED 0x106
65#define DA9150_CONFIG_D_SHARED 0x109
66#define DA9150_ADETVB_CFG_C 0x150
67#define DA9150_ADETD_STAT 0x151
68#define DA9150_ADET_CMPSTAT 0x152
69#define DA9150_ADET_CTRL_A 0x153
70#define DA9150_ADETVB_CFG_B 0x154
71#define DA9150_ADETVB_CFG_A 0x155
72#define DA9150_ADETAC_CFG_A 0x156
73#define DA9150_ADDETAC_CFG_B 0x157
74#define DA9150_ADETAC_CFG_C 0x158
75#define DA9150_ADETAC_CFG_D 0x159
76#define DA9150_ADETVB_CFG_D 0x15A
77#define DA9150_ADETID_CFG_A 0x15B
78#define DA9150_ADET_RID_PT_CHG_H 0x15C
79#define DA9150_ADET_RID_PT_CHG_L 0x15D
80#define DA9150_PPR_TCTR_B 0x160
81#define DA9150_PPR_BKCTRL_A 0x163
82#define DA9150_PPR_BKCFG_A 0x164
83#define DA9150_PPR_BKCFG_B 0x165
84#define DA9150_PPR_CHGCTRL_A 0x166
85#define DA9150_PPR_CHGCTRL_B 0x167
86#define DA9150_PPR_CHGCTRL_C 0x168
87#define DA9150_PPR_TCTR_A 0x169
88#define DA9150_PPR_CHGCTRL_D 0x16A
89#define DA9150_PPR_CHGCTRL_E 0x16B
90#define DA9150_PPR_CHGCTRL_F 0x16C
91#define DA9150_PPR_CHGCTRL_G 0x16D
92#define DA9150_PPR_CHGCTRL_H 0x16E
93#define DA9150_PPR_CHGCTRL_I 0x16F
94#define DA9150_PPR_CHGCTRL_J 0x170
95#define DA9150_PPR_CHGCTRL_K 0x171
96#define DA9150_PPR_CHGCTRL_L 0x172
97#define DA9150_PPR_CHGCTRL_M 0x173
98#define DA9150_PPR_THYST_A 0x174
99#define DA9150_PPR_THYST_B 0x175
100#define DA9150_PPR_THYST_C 0x176
101#define DA9150_PPR_THYST_D 0x177
102#define DA9150_PPR_THYST_E 0x178
103#define DA9150_PPR_THYST_F 0x179
104#define DA9150_PPR_THYST_G 0x17A
105#define DA9150_PAGE_CON_3 0x180
106#define DA9150_PAGE_CON_4 0x200
107#define DA9150_PAGE_CON_5 0x280
108#define DA9150_PAGE_CON_6 0x300
109#define DA9150_COREBTLD_STAT_A 0x302
110#define DA9150_COREBTLD_CTRL_A 0x303
111#define DA9150_CORE_CONFIG_A 0x304
112#define DA9150_CORE_CONFIG_C 0x305
113#define DA9150_CORE_CONFIG_B 0x306
114#define DA9150_CORE_CFG_DATA_A 0x307
115#define DA9150_CORE_CFG_DATA_B 0x308
116#define DA9150_CORE_CMD_A 0x309
117#define DA9150_CORE_DATA_A 0x30A
118#define DA9150_CORE_DATA_B 0x30B
119#define DA9150_CORE_DATA_C 0x30C
120#define DA9150_CORE_DATA_D 0x30D
121#define DA9150_CORE2WIRE_STAT_A 0x310
122#define DA9150_CORE2WIRE_CTRL_A 0x311
123#define DA9150_FW_CTRL_A 0x312
124#define DA9150_FW_CTRL_C 0x313
125#define DA9150_FW_CTRL_D 0x314
126#define DA9150_FG_CTRL_A 0x315
127#define DA9150_FG_CTRL_B 0x316
128#define DA9150_FW_CTRL_E 0x317
129#define DA9150_FW_CTRL_B 0x318
130#define DA9150_GPADC_CMAN 0x320
131#define DA9150_GPADC_CRES_A 0x322
132#define DA9150_GPADC_CRES_B 0x323
133#define DA9150_CC_CFG_A 0x328
134#define DA9150_CC_CFG_B 0x329
135#define DA9150_CC_ICHG_RES_A 0x32A
136#define DA9150_CC_ICHG_RES_B 0x32B
137#define DA9150_CC_IAVG_RES_A 0x32C
138#define DA9150_CC_IAVG_RES_B 0x32D
139#define DA9150_TAUX_CTRL_A 0x330
140#define DA9150_TAUX_RELOAD_H 0x332
141#define DA9150_TAUX_RELOAD_L 0x333
142#define DA9150_TAUX_VALUE_H 0x334
143#define DA9150_TAUX_VALUE_L 0x335
144#define DA9150_AUX_DATA_0 0x338
145#define DA9150_AUX_DATA_1 0x339
146#define DA9150_AUX_DATA_2 0x33A
147#define DA9150_AUX_DATA_3 0x33B
148#define DA9150_BIF_CTRL 0x340
149#define DA9150_TBAT_CTRL_A 0x342
150#define DA9150_TBAT_CTRL_B 0x343
151#define DA9150_TBAT_RES_A 0x344
152#define DA9150_TBAT_RES_B 0x345
153
154/* DA9150_PAGE_CON = 0x000 */
155#define DA9150_PAGE_SHIFT 0
156#define DA9150_PAGE_MASK (0x3f << 0)
157#define DA9150_I2C_PAGE_SHIFT 1
158#define DA9150_I2C_PAGE_MASK (0x1f << 1)
159#define DA9150_WRITE_MODE_SHIFT 6
160#define DA9150_WRITE_MODE_MASK BIT(6)
161#define DA9150_REVERT_SHIFT 7
162#define DA9150_REVERT_MASK BIT(7)
163
164/* DA9150_STATUS_A = 0x068 */
165#define DA9150_WKUP_STAT_SHIFT 2
166#define DA9150_WKUP_STAT_MASK (0x0f << 2)
167#define DA9150_SLEEP_STAT_SHIFT 6
168#define DA9150_SLEEP_STAT_MASK (0x03 << 6)
169
170/* DA9150_STATUS_B = 0x069 */
171#define DA9150_VFAULT_STAT_SHIFT 0
172#define DA9150_VFAULT_STAT_MASK BIT(0)
173#define DA9150_TFAULT_STAT_SHIFT 1
174#define DA9150_TFAULT_STAT_MASK BIT(1)
175
176/* DA9150_STATUS_C = 0x06A */
177#define DA9150_VDD33_STAT_SHIFT 0
178#define DA9150_VDD33_STAT_MASK BIT(0)
179#define DA9150_VDD33_SLEEP_SHIFT 1
180#define DA9150_VDD33_SLEEP_MASK BIT(1)
181#define DA9150_LFOSC_STAT_SHIFT 7
182#define DA9150_LFOSC_STAT_MASK BIT(7)
183
184/* DA9150_STATUS_D = 0x06B */
185#define DA9150_GPIOA_STAT_SHIFT 0
186#define DA9150_GPIOA_STAT_MASK BIT(0)
187#define DA9150_GPIOB_STAT_SHIFT 1
188#define DA9150_GPIOB_STAT_MASK BIT(1)
189#define DA9150_GPIOC_STAT_SHIFT 2
190#define DA9150_GPIOC_STAT_MASK BIT(2)
191#define DA9150_GPIOD_STAT_SHIFT 3
192#define DA9150_GPIOD_STAT_MASK BIT(3)
193
194/* DA9150_STATUS_E = 0x06C */
195#define DA9150_DTYPE_SHIFT 0
196#define DA9150_DTYPE_MASK (0x1f << 0)
197#define DA9150_DTYPE_DT_NIL (0x00 << 0)
198#define DA9150_DTYPE_DT_USB_OTG BIT(0)
199#define DA9150_DTYPE_DT_USB_STD (0x02 << 0)
200#define DA9150_DTYPE_DT_USB_CHG (0x03 << 0)
201#define DA9150_DTYPE_DT_ACA_CHG (0x04 << 0)
202#define DA9150_DTYPE_DT_ACA_OTG (0x05 << 0)
203#define DA9150_DTYPE_DT_ACA_DOC (0x06 << 0)
204#define DA9150_DTYPE_DT_DED_CHG (0x07 << 0)
205#define DA9150_DTYPE_DT_CR5_CHG (0x08 << 0)
206#define DA9150_DTYPE_DT_CR4_CHG (0x0c << 0)
207#define DA9150_DTYPE_DT_PT_CHG (0x11 << 0)
208#define DA9150_DTYPE_DT_NN_ACC (0x16 << 0)
209#define DA9150_DTYPE_DT_NN_CHG (0x17 << 0)
210
211/* DA9150_STATUS_F = 0x06D */
212#define DA9150_SESS_VLD_SHIFT 0
213#define DA9150_SESS_VLD_MASK BIT(0)
214#define DA9150_ID_ERR_SHIFT 1
215#define DA9150_ID_ERR_MASK BIT(1)
216#define DA9150_PT_CHG_SHIFT 2
217#define DA9150_PT_CHG_MASK BIT(2)
218
219/* DA9150_STATUS_G = 0x06E */
220#define DA9150_RID_SHIFT 0
221#define DA9150_RID_MASK (0xff << 0)
222
223/* DA9150_STATUS_H = 0x06F */
224#define DA9150_VBUS_STAT_SHIFT 0
225#define DA9150_VBUS_STAT_MASK (0x07 << 0)
226#define DA9150_VBUS_STAT_OFF (0x00 << 0)
227#define DA9150_VBUS_STAT_WAIT BIT(0)
228#define DA9150_VBUS_STAT_CHG (0x02 << 0)
229#define DA9150_VBUS_TRED_SHIFT 3
230#define DA9150_VBUS_TRED_MASK BIT(3)
231#define DA9150_VBUS_DROP_STAT_SHIFT 4
232#define DA9150_VBUS_DROP_STAT_MASK (0x0f << 4)
233
234/* DA9150_STATUS_I = 0x070 */
235#define DA9150_VBUS_ISET_STAT_SHIFT 0
236#define DA9150_VBUS_ISET_STAT_MASK (0x1f << 0)
237#define DA9150_VBUS_OT_SHIFT 7
238#define DA9150_VBUS_OT_MASK BIT(7)
239
240/* DA9150_STATUS_J = 0x071 */
241#define DA9150_CHG_STAT_SHIFT 0
242#define DA9150_CHG_STAT_MASK (0x0f << 0)
243#define DA9150_CHG_STAT_OFF (0x00 << 0)
244#define DA9150_CHG_STAT_SUSP BIT(0)
245#define DA9150_CHG_STAT_ACT (0x02 << 0)
246#define DA9150_CHG_STAT_PRE (0x03 << 0)
247#define DA9150_CHG_STAT_CC (0x04 << 0)
248#define DA9150_CHG_STAT_CV (0x05 << 0)
249#define DA9150_CHG_STAT_FULL (0x06 << 0)
250#define DA9150_CHG_STAT_TEMP (0x07 << 0)
251#define DA9150_CHG_STAT_TIME (0x08 << 0)
252#define DA9150_CHG_STAT_BAT (0x09 << 0)
253#define DA9150_CHG_TEMP_SHIFT 4
254#define DA9150_CHG_TEMP_MASK (0x07 << 4)
255#define DA9150_CHG_TEMP_UNDER (0x06 << 4)
256#define DA9150_CHG_TEMP_OVER (0x07 << 4)
257#define DA9150_CHG_IEND_STAT_SHIFT 7
258#define DA9150_CHG_IEND_STAT_MASK BIT(7)
259
260/* DA9150_STATUS_K = 0x072 */
261#define DA9150_CHG_IAV_H_SHIFT 0
262#define DA9150_CHG_IAV_H_MASK (0xff << 0)
263
264/* DA9150_STATUS_L = 0x073 */
265#define DA9150_CHG_IAV_L_SHIFT 5
266#define DA9150_CHG_IAV_L_MASK (0x07 << 5)
267
268/* DA9150_STATUS_N = 0x074 */
269#define DA9150_CHG_TIME_SHIFT 1
270#define DA9150_CHG_TIME_MASK BIT(1)
271#define DA9150_CHG_TRED_SHIFT 2
272#define DA9150_CHG_TRED_MASK BIT(2)
273#define DA9150_CHG_TJUNC_CLASS_SHIFT 3
274#define DA9150_CHG_TJUNC_CLASS_MASK (0x07 << 3)
275#define DA9150_CHG_TJUNC_CLASS_6 (0x06 << 3)
276#define DA9150_EBS_STAT_SHIFT 6
277#define DA9150_EBS_STAT_MASK BIT(6)
278#define DA9150_CHG_BAT_REMOVED_SHIFT 7
279#define DA9150_CHG_BAT_REMOVED_MASK BIT(7)
280
281/* DA9150_FAULT_LOG_A = 0x076 */
282#define DA9150_TEMP_FAULT_SHIFT 0
283#define DA9150_TEMP_FAULT_MASK BIT(0)
284#define DA9150_VSYS_FAULT_SHIFT 1
285#define DA9150_VSYS_FAULT_MASK BIT(1)
286#define DA9150_START_FAULT_SHIFT 2
287#define DA9150_START_FAULT_MASK BIT(2)
288#define DA9150_EXT_FAULT_SHIFT 3
289#define DA9150_EXT_FAULT_MASK BIT(3)
290#define DA9150_POR_FAULT_SHIFT 4
291#define DA9150_POR_FAULT_MASK BIT(4)
292
293/* DA9150_FAULT_LOG_B = 0x077 */
294#define DA9150_VBUS_FAULT_SHIFT 0
295#define DA9150_VBUS_FAULT_MASK BIT(0)
296#define DA9150_OTG_FAULT_SHIFT 1
297#define DA9150_OTG_FAULT_MASK BIT(1)
298
299/* DA9150_EVENT_E = 0x078 */
300#define DA9150_E_VBUS_SHIFT 0
301#define DA9150_E_VBUS_MASK BIT(0)
302#define DA9150_E_CHG_SHIFT 1
303#define DA9150_E_CHG_MASK BIT(1)
304#define DA9150_E_TCLASS_SHIFT 2
305#define DA9150_E_TCLASS_MASK BIT(2)
306#define DA9150_E_TJUNC_SHIFT 3
307#define DA9150_E_TJUNC_MASK BIT(3)
308#define DA9150_E_VFAULT_SHIFT 4
309#define DA9150_E_VFAULT_MASK BIT(4)
310#define DA9150_EVENTS_H_SHIFT 5
311#define DA9150_EVENTS_H_MASK BIT(5)
312#define DA9150_EVENTS_G_SHIFT 6
313#define DA9150_EVENTS_G_MASK BIT(6)
314#define DA9150_EVENTS_F_SHIFT 7
315#define DA9150_EVENTS_F_MASK BIT(7)
316
317/* DA9150_EVENT_F = 0x079 */
318#define DA9150_E_CONF_SHIFT 0
319#define DA9150_E_CONF_MASK BIT(0)
320#define DA9150_E_DAT_SHIFT 1
321#define DA9150_E_DAT_MASK BIT(1)
322#define DA9150_E_DTYPE_SHIFT 3
323#define DA9150_E_DTYPE_MASK BIT(3)
324#define DA9150_E_ID_SHIFT 4
325#define DA9150_E_ID_MASK BIT(4)
326#define DA9150_E_ADP_SHIFT 5
327#define DA9150_E_ADP_MASK BIT(5)
328#define DA9150_E_SESS_END_SHIFT 6
329#define DA9150_E_SESS_END_MASK BIT(6)
330#define DA9150_E_SESS_VLD_SHIFT 7
331#define DA9150_E_SESS_VLD_MASK BIT(7)
332
333/* DA9150_EVENT_G = 0x07A */
334#define DA9150_E_FG_SHIFT 0
335#define DA9150_E_FG_MASK BIT(0)
336#define DA9150_E_GP_SHIFT 1
337#define DA9150_E_GP_MASK BIT(1)
338#define DA9150_E_TBAT_SHIFT 2
339#define DA9150_E_TBAT_MASK BIT(2)
340#define DA9150_E_GPIOA_SHIFT 3
341#define DA9150_E_GPIOA_MASK BIT(3)
342#define DA9150_E_GPIOB_SHIFT 4
343#define DA9150_E_GPIOB_MASK BIT(4)
344#define DA9150_E_GPIOC_SHIFT 5
345#define DA9150_E_GPIOC_MASK BIT(5)
346#define DA9150_E_GPIOD_SHIFT 6
347#define DA9150_E_GPIOD_MASK BIT(6)
348#define DA9150_E_GPADC_SHIFT 7
349#define DA9150_E_GPADC_MASK BIT(7)
350
351/* DA9150_EVENT_H = 0x07B */
352#define DA9150_E_WKUP_SHIFT 0
353#define DA9150_E_WKUP_MASK BIT(0)
354
355/* DA9150_IRQ_MASK_E = 0x07C */
356#define DA9150_M_VBUS_SHIFT 0
357#define DA9150_M_VBUS_MASK BIT(0)
358#define DA9150_M_CHG_SHIFT 1
359#define DA9150_M_CHG_MASK BIT(1)
360#define DA9150_M_TJUNC_SHIFT 3
361#define DA9150_M_TJUNC_MASK BIT(3)
362#define DA9150_M_VFAULT_SHIFT 4
363#define DA9150_M_VFAULT_MASK BIT(4)
364
365/* DA9150_IRQ_MASK_F = 0x07D */
366#define DA9150_M_CONF_SHIFT 0
367#define DA9150_M_CONF_MASK BIT(0)
368#define DA9150_M_DAT_SHIFT 1
369#define DA9150_M_DAT_MASK BIT(1)
370#define DA9150_M_DTYPE_SHIFT 3
371#define DA9150_M_DTYPE_MASK BIT(3)
372#define DA9150_M_ID_SHIFT 4
373#define DA9150_M_ID_MASK BIT(4)
374#define DA9150_M_ADP_SHIFT 5
375#define DA9150_M_ADP_MASK BIT(5)
376#define DA9150_M_SESS_END_SHIFT 6
377#define DA9150_M_SESS_END_MASK BIT(6)
378#define DA9150_M_SESS_VLD_SHIFT 7
379#define DA9150_M_SESS_VLD_MASK BIT(7)
380
381/* DA9150_IRQ_MASK_G = 0x07E */
382#define DA9150_M_FG_SHIFT 0
383#define DA9150_M_FG_MASK BIT(0)
384#define DA9150_M_GP_SHIFT 1
385#define DA9150_M_GP_MASK BIT(1)
386#define DA9150_M_TBAT_SHIFT 2
387#define DA9150_M_TBAT_MASK BIT(2)
388#define DA9150_M_GPIOA_SHIFT 3
389#define DA9150_M_GPIOA_MASK BIT(3)
390#define DA9150_M_GPIOB_SHIFT 4
391#define DA9150_M_GPIOB_MASK BIT(4)
392#define DA9150_M_GPIOC_SHIFT 5
393#define DA9150_M_GPIOC_MASK BIT(5)
394#define DA9150_M_GPIOD_SHIFT 6
395#define DA9150_M_GPIOD_MASK BIT(6)
396#define DA9150_M_GPADC_SHIFT 7
397#define DA9150_M_GPADC_MASK BIT(7)
398
399/* DA9150_IRQ_MASK_H = 0x07F */
400#define DA9150_M_WKUP_SHIFT 0
401#define DA9150_M_WKUP_MASK BIT(0)
402
403/* DA9150_PAGE_CON_1 = 0x080 */
404#define DA9150_PAGE_SHIFT 0
405#define DA9150_PAGE_MASK (0x3f << 0)
406#define DA9150_WRITE_MODE_SHIFT 6
407#define DA9150_WRITE_MODE_MASK BIT(6)
408#define DA9150_REVERT_SHIFT 7
409#define DA9150_REVERT_MASK BIT(7)
410
411/* DA9150_CONFIG_A = 0x0E0 */
412#define DA9150_RESET_DUR_SHIFT 0
413#define DA9150_RESET_DUR_MASK (0x03 << 0)
414#define DA9150_RESET_EXT_SHIFT 2
415#define DA9150_RESET_EXT_MASK (0x03 << 2)
416#define DA9150_START_MAX_SHIFT 4
417#define DA9150_START_MAX_MASK (0x03 << 4)
418#define DA9150_PS_WAIT_EN_SHIFT 6
419#define DA9150_PS_WAIT_EN_MASK BIT(6)
420#define DA9150_PS_DISABLE_DIRECT_SHIFT 7
421#define DA9150_PS_DISABLE_DIRECT_MASK BIT(7)
422
423/* DA9150_CONFIG_B = 0x0E1 */
424#define DA9150_VFAULT_ADJ_SHIFT 0
425#define DA9150_VFAULT_ADJ_MASK (0x0f << 0)
426#define DA9150_VFAULT_HYST_SHIFT 4
427#define DA9150_VFAULT_HYST_MASK (0x07 << 4)
428#define DA9150_VFAULT_EN_SHIFT 7
429#define DA9150_VFAULT_EN_MASK BIT(7)
430
431/* DA9150_CONFIG_C = 0x0E2 */
432#define DA9150_VSYS_MIN_SHIFT 3
433#define DA9150_VSYS_MIN_MASK (0x1f << 3)
434
435/* DA9150_CONFIG_D = 0x0E3 */
436#define DA9150_LFOSC_EXT_SHIFT 0
437#define DA9150_LFOSC_EXT_MASK BIT(0)
438#define DA9150_VDD33_DWN_SHIFT 1
439#define DA9150_VDD33_DWN_MASK BIT(1)
440#define DA9150_WKUP_PM_EN_SHIFT 2
441#define DA9150_WKUP_PM_EN_MASK BIT(2)
442#define DA9150_WKUP_CE_SEL_SHIFT 3
443#define DA9150_WKUP_CE_SEL_MASK (0x03 << 3)
444#define DA9150_WKUP_CLK32K_EN_SHIFT 5
445#define DA9150_WKUP_CLK32K_EN_MASK BIT(5)
446#define DA9150_DISABLE_DEL_SHIFT 7
447#define DA9150_DISABLE_DEL_MASK BIT(7)
448
449/* DA9150_CONFIG_E = 0x0E4 */
450#define DA9150_PM_SPKSUP_DIS_SHIFT 0
451#define DA9150_PM_SPKSUP_DIS_MASK BIT(0)
452#define DA9150_PM_MERGE_SHIFT 1
453#define DA9150_PM_MERGE_MASK BIT(1)
454#define DA9150_PM_SR_OFF_SHIFT 2
455#define DA9150_PM_SR_OFF_MASK BIT(2)
456#define DA9150_PM_TIMEOUT_EN_SHIFT 3
457#define DA9150_PM_TIMEOUT_EN_MASK BIT(3)
458#define DA9150_PM_DLY_SEL_SHIFT 4
459#define DA9150_PM_DLY_SEL_MASK (0x07 << 4)
460#define DA9150_PM_OUT_DLY_SEL_SHIFT 7
461#define DA9150_PM_OUT_DLY_SEL_MASK BIT(7)
462
463/* DA9150_CONTROL_A = 0x0E5 */
464#define DA9150_VDD33_SL_SHIFT 0
465#define DA9150_VDD33_SL_MASK BIT(0)
466#define DA9150_VDD33_LPM_SHIFT 1
467#define DA9150_VDD33_LPM_MASK (0x03 << 1)
468#define DA9150_VDD33_EN_SHIFT 3
469#define DA9150_VDD33_EN_MASK BIT(3)
470#define DA9150_GPI_LPM_SHIFT 6
471#define DA9150_GPI_LPM_MASK BIT(6)
472#define DA9150_PM_IF_LPM_SHIFT 7
473#define DA9150_PM_IF_LPM_MASK BIT(7)
474
475/* DA9150_CONTROL_B = 0x0E6 */
476#define DA9150_LPM_SHIFT 0
477#define DA9150_LPM_MASK BIT(0)
478#define DA9150_RESET_SHIFT 1
479#define DA9150_RESET_MASK BIT(1)
480#define DA9150_RESET_USRCONF_EN_SHIFT 2
481#define DA9150_RESET_USRCONF_EN_MASK BIT(2)
482
483/* DA9150_CONTROL_C = 0x0E7 */
484#define DA9150_DISABLE_SHIFT 0
485#define DA9150_DISABLE_MASK BIT(0)
486
487/* DA9150_GPIO_A_B = 0x0E8 */
488#define DA9150_GPIOA_PIN_SHIFT 0
489#define DA9150_GPIOA_PIN_MASK (0x07 << 0)
490#define DA9150_GPIOA_PIN_GPI (0x00 << 0)
491#define DA9150_GPIOA_PIN_GPO_OD BIT(0)
492#define DA9150_GPIOA_TYPE_SHIFT 3
493#define DA9150_GPIOA_TYPE_MASK BIT(3)
494#define DA9150_GPIOB_PIN_SHIFT 4
495#define DA9150_GPIOB_PIN_MASK (0x07 << 4)
496#define DA9150_GPIOB_PIN_GPI (0x00 << 4)
497#define DA9150_GPIOB_PIN_GPO_OD BIT(4)
498#define DA9150_GPIOB_TYPE_SHIFT 7
499#define DA9150_GPIOB_TYPE_MASK BIT(7)
500
501/* DA9150_GPIO_C_D = 0x0E9 */
502#define DA9150_GPIOC_PIN_SHIFT 0
503#define DA9150_GPIOC_PIN_MASK (0x07 << 0)
504#define DA9150_GPIOC_PIN_GPI (0x00 << 0)
505#define DA9150_GPIOC_PIN_GPO_OD BIT(0)
506#define DA9150_GPIOC_TYPE_SHIFT 3
507#define DA9150_GPIOC_TYPE_MASK BIT(3)
508#define DA9150_GPIOD_PIN_SHIFT 4
509#define DA9150_GPIOD_PIN_MASK (0x07 << 4)
510#define DA9150_GPIOD_PIN_GPI (0x00 << 4)
511#define DA9150_GPIOD_PIN_GPO_OD BIT(4)
512#define DA9150_GPIOD_TYPE_SHIFT 7
513#define DA9150_GPIOD_TYPE_MASK BIT(7)
514
515/* DA9150_GPIO_MODE_CONT = 0x0EA */
516#define DA9150_GPIOA_MODE_SHIFT 0
517#define DA9150_GPIOA_MODE_MASK BIT(0)
518#define DA9150_GPIOB_MODE_SHIFT 1
519#define DA9150_GPIOB_MODE_MASK BIT(1)
520#define DA9150_GPIOC_MODE_SHIFT 2
521#define DA9150_GPIOC_MODE_MASK BIT(2)
522#define DA9150_GPIOD_MODE_SHIFT 3
523#define DA9150_GPIOD_MODE_MASK BIT(3)
524#define DA9150_GPIOA_CONT_SHIFT 4
525#define DA9150_GPIOA_CONT_MASK BIT(4)
526#define DA9150_GPIOB_CONT_SHIFT 5
527#define DA9150_GPIOB_CONT_MASK BIT(5)
528#define DA9150_GPIOC_CONT_SHIFT 6
529#define DA9150_GPIOC_CONT_MASK BIT(6)
530#define DA9150_GPIOD_CONT_SHIFT 7
531#define DA9150_GPIOD_CONT_MASK BIT(7)
532
533/* DA9150_GPIO_CTRL_B = 0x0EB */
534#define DA9150_WAKE_PIN_SHIFT 0
535#define DA9150_WAKE_PIN_MASK (0x03 << 0)
536#define DA9150_WAKE_MODE_SHIFT 2
537#define DA9150_WAKE_MODE_MASK BIT(2)
538#define DA9150_WAKE_CONT_SHIFT 3
539#define DA9150_WAKE_CONT_MASK BIT(3)
540#define DA9150_WAKE_DLY_SHIFT 4
541#define DA9150_WAKE_DLY_MASK BIT(4)
542
543/* DA9150_GPIO_CTRL_A = 0x0EC */
544#define DA9150_GPIOA_ANAEN_SHIFT 0
545#define DA9150_GPIOA_ANAEN_MASK BIT(0)
546#define DA9150_GPIOB_ANAEN_SHIFT 1
547#define DA9150_GPIOB_ANAEN_MASK BIT(1)
548#define DA9150_GPIOC_ANAEN_SHIFT 2
549#define DA9150_GPIOC_ANAEN_MASK BIT(2)
550#define DA9150_GPIOD_ANAEN_SHIFT 3
551#define DA9150_GPIOD_ANAEN_MASK BIT(3)
552#define DA9150_GPIO_ANAEN 0x01
553#define DA9150_GPIO_ANAEN_MASK 0x0F
554#define DA9150_CHGLED_PIN_SHIFT 5
555#define DA9150_CHGLED_PIN_MASK (0x07 << 5)
556
557/* DA9150_GPIO_CTRL_C = 0x0ED */
558#define DA9150_CHGBL_DUR_SHIFT 0
559#define DA9150_CHGBL_DUR_MASK (0x03 << 0)
560#define DA9150_CHGBL_DBL_SHIFT 2
561#define DA9150_CHGBL_DBL_MASK BIT(2)
562#define DA9150_CHGBL_FRQ_SHIFT 3
563#define DA9150_CHGBL_FRQ_MASK (0x03 << 3)
564#define DA9150_CHGBL_FLKR_SHIFT 5
565#define DA9150_CHGBL_FLKR_MASK BIT(5)
566
567/* DA9150_GPIO_CFG_A = 0x0EE */
568#define DA9150_CE_LPM_DEB_SHIFT 0
569#define DA9150_CE_LPM_DEB_MASK (0x07 << 0)
570
571/* DA9150_GPIO_CFG_B = 0x0EF */
572#define DA9150_GPIOA_PUPD_SHIFT 0
573#define DA9150_GPIOA_PUPD_MASK BIT(0)
574#define DA9150_GPIOB_PUPD_SHIFT 1
575#define DA9150_GPIOB_PUPD_MASK BIT(1)
576#define DA9150_GPIOC_PUPD_SHIFT 2
577#define DA9150_GPIOC_PUPD_MASK BIT(2)
578#define DA9150_GPIOD_PUPD_SHIFT 3
579#define DA9150_GPIOD_PUPD_MASK BIT(3)
580#define DA9150_GPIO_PUPD_MASK (0xF << 0)
581#define DA9150_GPI_DEB_SHIFT 4
582#define DA9150_GPI_DEB_MASK (0x07 << 4)
583#define DA9150_LPM_EN_SHIFT 7
584#define DA9150_LPM_EN_MASK BIT(7)
585
586/* DA9150_GPIO_CFG_C = 0x0F0 */
587#define DA9150_GPI_V_SHIFT 0
588#define DA9150_GPI_V_MASK BIT(0)
589#define DA9150_VDDIO_INT_SHIFT 1
590#define DA9150_VDDIO_INT_MASK BIT(1)
591#define DA9150_FAULT_PIN_SHIFT 3
592#define DA9150_FAULT_PIN_MASK (0x07 << 3)
593#define DA9150_FAULT_TYPE_SHIFT 6
594#define DA9150_FAULT_TYPE_MASK BIT(6)
595#define DA9150_NIRQ_PUPD_SHIFT 7
596#define DA9150_NIRQ_PUPD_MASK BIT(7)
597
598/* DA9150_GPADC_MAN = 0x0F2 */
599#define DA9150_GPADC_EN_SHIFT 0
600#define DA9150_GPADC_EN_MASK BIT(0)
601#define DA9150_GPADC_MUX_SHIFT 1
602#define DA9150_GPADC_MUX_MASK (0x1f << 1)
603
604/* DA9150_GPADC_RES_A = 0x0F4 */
605#define DA9150_GPADC_RES_H_SHIFT 0
606#define DA9150_GPADC_RES_H_MASK (0xff << 0)
607
608/* DA9150_GPADC_RES_B = 0x0F5 */
609#define DA9150_GPADC_RUN_SHIFT 0
610#define DA9150_GPADC_RUN_MASK BIT(0)
611#define DA9150_GPADC_RES_L_SHIFT 6
612#define DA9150_GPADC_RES_L_MASK (0x03 << 6)
613#define DA9150_GPADC_RES_L_BITS 2
614
615/* DA9150_PAGE_CON_2 = 0x100 */
616#define DA9150_PAGE_SHIFT 0
617#define DA9150_PAGE_MASK (0x3f << 0)
618#define DA9150_WRITE_MODE_SHIFT 6
619#define DA9150_WRITE_MODE_MASK BIT(6)
620#define DA9150_REVERT_SHIFT 7
621#define DA9150_REVERT_MASK BIT(7)
622
623/* DA9150_OTP_CONT_SHARED = 0x101 */
624#define DA9150_PC_DONE_SHIFT 3
625#define DA9150_PC_DONE_MASK BIT(3)
626
627/* DA9150_INTERFACE_SHARED = 0x105 */
628#define DA9150_IF_BASE_ADDR_SHIFT 4
629#define DA9150_IF_BASE_ADDR_MASK (0x0f << 4)
630
631/* DA9150_CONFIG_A_SHARED = 0x106 */
632#define DA9150_NIRQ_VDD_SHIFT 1
633#define DA9150_NIRQ_VDD_MASK BIT(1)
634#define DA9150_NIRQ_PIN_SHIFT 2
635#define DA9150_NIRQ_PIN_MASK BIT(2)
636#define DA9150_NIRQ_TYPE_SHIFT 3
637#define DA9150_NIRQ_TYPE_MASK BIT(3)
638#define DA9150_PM_IF_V_SHIFT 4
639#define DA9150_PM_IF_V_MASK BIT(4)
640#define DA9150_PM_IF_FMP_SHIFT 5
641#define DA9150_PM_IF_FMP_MASK BIT(5)
642#define DA9150_PM_IF_HSM_SHIFT 6
643#define DA9150_PM_IF_HSM_MASK BIT(6)
644
645/* DA9150_CONFIG_D_SHARED = 0x109 */
646#define DA9150_NIRQ_MODE_SHIFT 1
647#define DA9150_NIRQ_MODE_MASK BIT(1)
648
649/* DA9150_ADETVB_CFG_C = 0x150 */
650#define DA9150_TADP_RISE_SHIFT 0
651#define DA9150_TADP_RISE_MASK (0xff << 0)
652
653/* DA9150_ADETD_STAT = 0x151 */
654#define DA9150_DCD_STAT_SHIFT 0
655#define DA9150_DCD_STAT_MASK BIT(0)
656#define DA9150_PCD_STAT_SHIFT 1
657#define DA9150_PCD_STAT_MASK (0x03 << 1)
658#define DA9150_SCD_STAT_SHIFT 3
659#define DA9150_SCD_STAT_MASK (0x03 << 3)
660#define DA9150_DP_STAT_SHIFT 5
661#define DA9150_DP_STAT_MASK BIT(5)
662#define DA9150_DM_STAT_SHIFT 6
663#define DA9150_DM_STAT_MASK BIT(6)
664
665/* DA9150_ADET_CMPSTAT = 0x152 */
666#define DA9150_DP_COMP_SHIFT 1
667#define DA9150_DP_COMP_MASK BIT(1)
668#define DA9150_DM_COMP_SHIFT 2
669#define DA9150_DM_COMP_MASK BIT(2)
670#define DA9150_ADP_SNS_COMP_SHIFT 3
671#define DA9150_ADP_SNS_COMP_MASK BIT(3)
672#define DA9150_ADP_PRB_COMP_SHIFT 4
673#define DA9150_ADP_PRB_COMP_MASK BIT(4)
674#define DA9150_ID_COMP_SHIFT 5
675#define DA9150_ID_COMP_MASK BIT(5)
676
677/* DA9150_ADET_CTRL_A = 0x153 */
678#define DA9150_AID_DAT_SHIFT 0
679#define DA9150_AID_DAT_MASK BIT(0)
680#define DA9150_AID_ID_SHIFT 1
681#define DA9150_AID_ID_MASK BIT(1)
682#define DA9150_AID_TRIG_SHIFT 2
683#define DA9150_AID_TRIG_MASK BIT(2)
684
685/* DA9150_ADETVB_CFG_B = 0x154 */
686#define DA9150_VB_MODE_SHIFT 0
687#define DA9150_VB_MODE_MASK (0x03 << 0)
688#define DA9150_VB_MODE_VB_SESS BIT(0)
689
690#define DA9150_TADP_PRB_SHIFT 2
691#define DA9150_TADP_PRB_MASK BIT(2)
692#define DA9150_DAT_RPD_EXT_SHIFT 5
693#define DA9150_DAT_RPD_EXT_MASK BIT(5)
694#define DA9150_CONF_RPD_SHIFT 6
695#define DA9150_CONF_RPD_MASK BIT(6)
696#define DA9150_CONF_SRP_SHIFT 7
697#define DA9150_CONF_SRP_MASK BIT(7)
698
699/* DA9150_ADETVB_CFG_A = 0x155 */
700#define DA9150_AID_MODE_SHIFT 0
701#define DA9150_AID_MODE_MASK (0x03 << 0)
702#define DA9150_AID_EXT_POL_SHIFT 2
703#define DA9150_AID_EXT_POL_MASK BIT(2)
704
705/* DA9150_ADETAC_CFG_A = 0x156 */
706#define DA9150_ISET_CDP_SHIFT 0
707#define DA9150_ISET_CDP_MASK (0x1f << 0)
708#define DA9150_CONF_DBP_SHIFT 5
709#define DA9150_CONF_DBP_MASK BIT(5)
710
711/* DA9150_ADDETAC_CFG_B = 0x157 */
712#define DA9150_ISET_DCHG_SHIFT 0
713#define DA9150_ISET_DCHG_MASK (0x1f << 0)
714#define DA9150_CONF_GPIOA_SHIFT 5
715#define DA9150_CONF_GPIOA_MASK BIT(5)
716#define DA9150_CONF_GPIOB_SHIFT 6
717#define DA9150_CONF_GPIOB_MASK BIT(6)
718#define DA9150_AID_VB_SHIFT 7
719#define DA9150_AID_VB_MASK BIT(7)
720
721/* DA9150_ADETAC_CFG_C = 0x158 */
722#define DA9150_ISET_DEF_SHIFT 0
723#define DA9150_ISET_DEF_MASK (0x1f << 0)
724#define DA9150_CONF_MODE_SHIFT 5
725#define DA9150_CONF_MODE_MASK (0x03 << 5)
726#define DA9150_AID_CR_DIS_SHIFT 7
727#define DA9150_AID_CR_DIS_MASK BIT(7)
728
729/* DA9150_ADETAC_CFG_D = 0x159 */
730#define DA9150_ISET_UNIT_SHIFT 0
731#define DA9150_ISET_UNIT_MASK (0x1f << 0)
732#define DA9150_AID_UNCLAMP_SHIFT 5
733#define DA9150_AID_UNCLAMP_MASK BIT(5)
734
735/* DA9150_ADETVB_CFG_D = 0x15A */
736#define DA9150_ID_MODE_SHIFT 0
737#define DA9150_ID_MODE_MASK (0x03 << 0)
738#define DA9150_DAT_MODE_SHIFT 2
739#define DA9150_DAT_MODE_MASK (0x0f << 2)
740#define DA9150_DAT_SWP_SHIFT 6
741#define DA9150_DAT_SWP_MASK BIT(6)
742#define DA9150_DAT_CLAMP_EXT_SHIFT 7
743#define DA9150_DAT_CLAMP_EXT_MASK BIT(7)
744
745/* DA9150_ADETID_CFG_A = 0x15B */
746#define DA9150_TID_POLL_SHIFT 0
747#define DA9150_TID_POLL_MASK (0x07 << 0)
748#define DA9150_RID_CONV_SHIFT 3
749#define DA9150_RID_CONV_MASK BIT(3)
750
751/* DA9150_ADET_RID_PT_CHG_H = 0x15C */
752#define DA9150_RID_PT_CHG_H_SHIFT 0
753#define DA9150_RID_PT_CHG_H_MASK (0xff << 0)
754
755/* DA9150_ADET_RID_PT_CHG_L = 0x15D */
756#define DA9150_RID_PT_CHG_L_SHIFT 6
757#define DA9150_RID_PT_CHG_L_MASK (0x03 << 6)
758
759/* DA9150_PPR_TCTR_B = 0x160 */
760#define DA9150_CHG_TCTR_VAL_SHIFT 0
761#define DA9150_CHG_TCTR_VAL_MASK (0xff << 0)
762
763/* DA9150_PPR_BKCTRL_A = 0x163 */
764#define DA9150_VBUS_MODE_SHIFT 0
765#define DA9150_VBUS_MODE_MASK (0x03 << 0)
766#define DA9150_VBUS_MODE_CHG BIT(0)
767#define DA9150_VBUS_MODE_OTG (0x02 << 0)
768#define DA9150_VBUS_LPM_SHIFT 2
769#define DA9150_VBUS_LPM_MASK (0x03 << 2)
770#define DA9150_VBUS_SUSP_SHIFT 4
771#define DA9150_VBUS_SUSP_MASK BIT(4)
772#define DA9150_VBUS_PWM_SHIFT 5
773#define DA9150_VBUS_PWM_MASK BIT(5)
774#define DA9150_VBUS_ISO_SHIFT 6
775#define DA9150_VBUS_ISO_MASK BIT(6)
776#define DA9150_VBUS_LDO_SHIFT 7
777#define DA9150_VBUS_LDO_MASK BIT(7)
778
779/* DA9150_PPR_BKCFG_A = 0x164 */
780#define DA9150_VBUS_ISET_SHIFT 0
781#define DA9150_VBUS_ISET_MASK (0x1f << 0)
782#define DA9150_VBUS_IMAX_SHIFT 5
783#define DA9150_VBUS_IMAX_MASK BIT(5)
784#define DA9150_VBUS_IOTG_SHIFT 6
785#define DA9150_VBUS_IOTG_MASK (0x03 << 6)
786
787/* DA9150_PPR_BKCFG_B = 0x165 */
788#define DA9150_VBUS_DROP_SHIFT 0
789#define DA9150_VBUS_DROP_MASK (0x0f << 0)
790#define DA9150_VBUS_FAULT_DIS_SHIFT 6
791#define DA9150_VBUS_FAULT_DIS_MASK BIT(6)
792#define DA9150_OTG_FAULT_DIS_SHIFT 7
793#define DA9150_OTG_FAULT_DIS_MASK BIT(7)
794
795/* DA9150_PPR_CHGCTRL_A = 0x166 */
796#define DA9150_CHG_EN_SHIFT 0
797#define DA9150_CHG_EN_MASK BIT(0)
798
799/* DA9150_PPR_CHGCTRL_B = 0x167 */
800#define DA9150_CHG_VBAT_SHIFT 0
801#define DA9150_CHG_VBAT_MASK (0x1f << 0)
802#define DA9150_CHG_VDROP_SHIFT 6
803#define DA9150_CHG_VDROP_MASK (0x03 << 6)
804
805/* DA9150_PPR_CHGCTRL_C = 0x168 */
806#define DA9150_CHG_VFAULT_SHIFT 0
807#define DA9150_CHG_VFAULT_MASK (0x0f << 0)
808#define DA9150_CHG_IPRE_SHIFT 4
809#define DA9150_CHG_IPRE_MASK (0x03 << 4)
810
811/* DA9150_PPR_TCTR_A = 0x169 */
812#define DA9150_CHG_TCTR_SHIFT 0
813#define DA9150_CHG_TCTR_MASK (0x07 << 0)
814#define DA9150_CHG_TCTR_MODE_SHIFT 4
815#define DA9150_CHG_TCTR_MODE_MASK BIT(4)
816
817/* DA9150_PPR_CHGCTRL_D = 0x16A */
818#define DA9150_CHG_IBAT_SHIFT 0
819#define DA9150_CHG_IBAT_MASK (0xff << 0)
820
821/* DA9150_PPR_CHGCTRL_E = 0x16B */
822#define DA9150_CHG_IEND_SHIFT 0
823#define DA9150_CHG_IEND_MASK (0xff << 0)
824
825/* DA9150_PPR_CHGCTRL_F = 0x16C */
826#define DA9150_CHG_VCOLD_SHIFT 0
827#define DA9150_CHG_VCOLD_MASK (0x1f << 0)
828#define DA9150_TBAT_TQA_EN_SHIFT 6
829#define DA9150_TBAT_TQA_EN_MASK BIT(6)
830#define DA9150_TBAT_TDP_EN_SHIFT 7
831#define DA9150_TBAT_TDP_EN_MASK BIT(7)
832
833/* DA9150_PPR_CHGCTRL_G = 0x16D */
834#define DA9150_CHG_VWARM_SHIFT 0
835#define DA9150_CHG_VWARM_MASK (0x1f << 0)
836
837/* DA9150_PPR_CHGCTRL_H = 0x16E */
838#define DA9150_CHG_VHOT_SHIFT 0
839#define DA9150_CHG_VHOT_MASK (0x1f << 0)
840
841/* DA9150_PPR_CHGCTRL_I = 0x16F */
842#define DA9150_CHG_ICOLD_SHIFT 0
843#define DA9150_CHG_ICOLD_MASK (0xff << 0)
844
845/* DA9150_PPR_CHGCTRL_J = 0x170 */
846#define DA9150_CHG_IWARM_SHIFT 0
847#define DA9150_CHG_IWARM_MASK (0xff << 0)
848
849/* DA9150_PPR_CHGCTRL_K = 0x171 */
850#define DA9150_CHG_IHOT_SHIFT 0
851#define DA9150_CHG_IHOT_MASK (0xff << 0)
852
853/* DA9150_PPR_CHGCTRL_L = 0x172 */
854#define DA9150_CHG_IBAT_TRED_SHIFT 0
855#define DA9150_CHG_IBAT_TRED_MASK (0xff << 0)
856
857/* DA9150_PPR_CHGCTRL_M = 0x173 */
858#define DA9150_CHG_VFLOAT_SHIFT 0
859#define DA9150_CHG_VFLOAT_MASK (0x0f << 0)
860#define DA9150_CHG_LPM_SHIFT 5
861#define DA9150_CHG_LPM_MASK BIT(5)
862#define DA9150_CHG_NBLO_SHIFT 6
863#define DA9150_CHG_NBLO_MASK BIT(6)
864#define DA9150_EBS_EN_SHIFT 7
865#define DA9150_EBS_EN_MASK BIT(7)
866
867/* DA9150_PPR_THYST_A = 0x174 */
868#define DA9150_TBAT_T1_SHIFT 0
869#define DA9150_TBAT_T1_MASK (0xff << 0)
870
871/* DA9150_PPR_THYST_B = 0x175 */
872#define DA9150_TBAT_T2_SHIFT 0
873#define DA9150_TBAT_T2_MASK (0xff << 0)
874
875/* DA9150_PPR_THYST_C = 0x176 */
876#define DA9150_TBAT_T3_SHIFT 0
877#define DA9150_TBAT_T3_MASK (0xff << 0)
878
879/* DA9150_PPR_THYST_D = 0x177 */
880#define DA9150_TBAT_T4_SHIFT 0
881#define DA9150_TBAT_T4_MASK (0xff << 0)
882
883/* DA9150_PPR_THYST_E = 0x178 */
884#define DA9150_TBAT_T5_SHIFT 0
885#define DA9150_TBAT_T5_MASK (0xff << 0)
886
887/* DA9150_PPR_THYST_F = 0x179 */
888#define DA9150_TBAT_H1_SHIFT 0
889#define DA9150_TBAT_H1_MASK (0xff << 0)
890
891/* DA9150_PPR_THYST_G = 0x17A */
892#define DA9150_TBAT_H5_SHIFT 0
893#define DA9150_TBAT_H5_MASK (0xff << 0)
894
895/* DA9150_PAGE_CON_3 = 0x180 */
896#define DA9150_PAGE_SHIFT 0
897#define DA9150_PAGE_MASK (0x3f << 0)
898#define DA9150_WRITE_MODE_SHIFT 6
899#define DA9150_WRITE_MODE_MASK BIT(6)
900#define DA9150_REVERT_SHIFT 7
901#define DA9150_REVERT_MASK BIT(7)
902
903/* DA9150_PAGE_CON_4 = 0x200 */
904#define DA9150_PAGE_SHIFT 0
905#define DA9150_PAGE_MASK (0x3f << 0)
906#define DA9150_WRITE_MODE_SHIFT 6
907#define DA9150_WRITE_MODE_MASK BIT(6)
908#define DA9150_REVERT_SHIFT 7
909#define DA9150_REVERT_MASK BIT(7)
910
911/* DA9150_PAGE_CON_5 = 0x280 */
912#define DA9150_PAGE_SHIFT 0
913#define DA9150_PAGE_MASK (0x3f << 0)
914#define DA9150_WRITE_MODE_SHIFT 6
915#define DA9150_WRITE_MODE_MASK BIT(6)
916#define DA9150_REVERT_SHIFT 7
917#define DA9150_REVERT_MASK BIT(7)
918
919/* DA9150_PAGE_CON_6 = 0x300 */
920#define DA9150_PAGE_SHIFT 0
921#define DA9150_PAGE_MASK (0x3f << 0)
922#define DA9150_WRITE_MODE_SHIFT 6
923#define DA9150_WRITE_MODE_MASK BIT(6)
924#define DA9150_REVERT_SHIFT 7
925#define DA9150_REVERT_MASK BIT(7)
926
927/* DA9150_COREBTLD_STAT_A = 0x302 */
928#define DA9150_BOOTLD_STAT_SHIFT 0
929#define DA9150_BOOTLD_STAT_MASK (0x03 << 0)
930#define DA9150_CORE_LOCKUP_SHIFT 2
931#define DA9150_CORE_LOCKUP_MASK BIT(2)
932
933/* DA9150_COREBTLD_CTRL_A = 0x303 */
934#define DA9150_CORE_RESET_SHIFT 0
935#define DA9150_CORE_RESET_MASK BIT(0)
936#define DA9150_CORE_STOP_SHIFT 1
937#define DA9150_CORE_STOP_MASK BIT(1)
938
939/* DA9150_CORE_CONFIG_A = 0x304 */
940#define DA9150_CORE_MEMMUX_SHIFT 0
941#define DA9150_CORE_MEMMUX_MASK (0x03 << 0)
942#define DA9150_WDT_AUTO_START_SHIFT 2
943#define DA9150_WDT_AUTO_START_MASK BIT(2)
944#define DA9150_WDT_AUTO_LOCK_SHIFT 3
945#define DA9150_WDT_AUTO_LOCK_MASK BIT(3)
946#define DA9150_WDT_HLT_NO_CLK_SHIFT 4
947#define DA9150_WDT_HLT_NO_CLK_MASK BIT(4)
948
949/* DA9150_CORE_CONFIG_C = 0x305 */
950#define DA9150_CORE_SW_SIZE_SHIFT 0
951#define DA9150_CORE_SW_SIZE_MASK (0xff << 0)
952
953/* DA9150_CORE_CONFIG_B = 0x306 */
954#define DA9150_BOOTLD_EN_SHIFT 0
955#define DA9150_BOOTLD_EN_MASK BIT(0)
956#define DA9150_CORE_EN_SHIFT 2
957#define DA9150_CORE_EN_MASK BIT(2)
958#define DA9150_CORE_SW_SRC_SHIFT 3
959#define DA9150_CORE_SW_SRC_MASK (0x07 << 3)
960#define DA9150_DEEP_SLEEP_EN_SHIFT 7
961#define DA9150_DEEP_SLEEP_EN_MASK BIT(7)
962
963/* DA9150_CORE_CFG_DATA_A = 0x307 */
964#define DA9150_CORE_CFG_DT_A_SHIFT 0
965#define DA9150_CORE_CFG_DT_A_MASK (0xff << 0)
966
967/* DA9150_CORE_CFG_DATA_B = 0x308 */
968#define DA9150_CORE_CFG_DT_B_SHIFT 0
969#define DA9150_CORE_CFG_DT_B_MASK (0xff << 0)
970
971/* DA9150_CORE_CMD_A = 0x309 */
972#define DA9150_CORE_CMD_SHIFT 0
973#define DA9150_CORE_CMD_MASK (0xff << 0)
974
975/* DA9150_CORE_DATA_A = 0x30A */
976#define DA9150_CORE_DATA_0_SHIFT 0
977#define DA9150_CORE_DATA_0_MASK (0xff << 0)
978
979/* DA9150_CORE_DATA_B = 0x30B */
980#define DA9150_CORE_DATA_1_SHIFT 0
981#define DA9150_CORE_DATA_1_MASK (0xff << 0)
982
983/* DA9150_CORE_DATA_C = 0x30C */
984#define DA9150_CORE_DATA_2_SHIFT 0
985#define DA9150_CORE_DATA_2_MASK (0xff << 0)
986
987/* DA9150_CORE_DATA_D = 0x30D */
988#define DA9150_CORE_DATA_3_SHIFT 0
989#define DA9150_CORE_DATA_3_MASK (0xff << 0)
990
991/* DA9150_CORE2WIRE_STAT_A = 0x310 */
992#define DA9150_FW_FWDL_ERR_SHIFT 7
993#define DA9150_FW_FWDL_ERR_MASK BIT(7)
994
995/* DA9150_CORE2WIRE_CTRL_A = 0x311 */
996#define DA9150_FW_FWDL_EN_SHIFT 0
997#define DA9150_FW_FWDL_EN_MASK BIT(0)
998#define DA9150_FG_QIF_EN_SHIFT 1
999#define DA9150_FG_QIF_EN_MASK BIT(1)
1000#define DA9150_CORE_BASE_ADDR_SHIFT 4
1001#define DA9150_CORE_BASE_ADDR_MASK (0x0f << 4)
1002
1003/* DA9150_FW_CTRL_A = 0x312 */
1004#define DA9150_FW_SEAL_SHIFT 0
1005#define DA9150_FW_SEAL_MASK (0xff << 0)
1006
1007/* DA9150_FW_CTRL_C = 0x313 */
1008#define DA9150_FW_FWDL_CRC_SHIFT 0
1009#define DA9150_FW_FWDL_CRC_MASK (0xff << 0)
1010
1011/* DA9150_FW_CTRL_D = 0x314 */
1012#define DA9150_FW_FWDL_BASE_SHIFT 0
1013#define DA9150_FW_FWDL_BASE_MASK (0x0f << 0)
1014
1015/* DA9150_FG_CTRL_A = 0x315 */
1016#define DA9150_FG_QIF_CODE_SHIFT 0
1017#define DA9150_FG_QIF_CODE_MASK (0xff << 0)
1018
1019/* DA9150_FG_CTRL_B = 0x316 */
1020#define DA9150_FG_QIF_VALUE_SHIFT 0
1021#define DA9150_FG_QIF_VALUE_MASK (0xff << 0)
1022
1023/* DA9150_FW_CTRL_E = 0x317 */
1024#define DA9150_FW_FWDL_SEG_SHIFT 0
1025#define DA9150_FW_FWDL_SEG_MASK (0xff << 0)
1026
1027/* DA9150_FW_CTRL_B = 0x318 */
1028#define DA9150_FW_FWDL_VALUE_SHIFT 0
1029#define DA9150_FW_FWDL_VALUE_MASK (0xff << 0)
1030
1031/* DA9150_GPADC_CMAN = 0x320 */
1032#define DA9150_GPADC_CEN_SHIFT 0
1033#define DA9150_GPADC_CEN_MASK BIT(0)
1034#define DA9150_GPADC_CMUX_SHIFT 1
1035#define DA9150_GPADC_CMUX_MASK (0x1f << 1)
1036
1037/* DA9150_GPADC_CRES_A = 0x322 */
1038#define DA9150_GPADC_CRES_H_SHIFT 0
1039#define DA9150_GPADC_CRES_H_MASK (0xff << 0)
1040
1041/* DA9150_GPADC_CRES_B = 0x323 */
1042#define DA9150_GPADC_CRUN_SHIFT 0
1043#define DA9150_GPADC_CRUN_MASK BIT(0)
1044#define DA9150_GPADC_CRES_L_SHIFT 6
1045#define DA9150_GPADC_CRES_L_MASK (0x03 << 6)
1046
1047/* DA9150_CC_CFG_A = 0x328 */
1048#define DA9150_CC_EN_SHIFT 0
1049#define DA9150_CC_EN_MASK BIT(0)
1050#define DA9150_CC_TIMEBASE_SHIFT 1
1051#define DA9150_CC_TIMEBASE_MASK (0x03 << 1)
1052#define DA9150_CC_CFG_SHIFT 5
1053#define DA9150_CC_CFG_MASK (0x03 << 5)
1054#define DA9150_CC_ENDLESS_MODE_SHIFT 7
1055#define DA9150_CC_ENDLESS_MODE_MASK BIT(7)
1056
1057/* DA9150_CC_CFG_B = 0x329 */
1058#define DA9150_CC_OPT_SHIFT 0
1059#define DA9150_CC_OPT_MASK (0x03 << 0)
1060#define DA9150_CC_PREAMP_SHIFT 2
1061#define DA9150_CC_PREAMP_MASK (0x03 << 2)
1062
1063/* DA9150_CC_ICHG_RES_A = 0x32A */
1064#define DA9150_CC_ICHG_RES_H_SHIFT 0
1065#define DA9150_CC_ICHG_RES_H_MASK (0xff << 0)
1066
1067/* DA9150_CC_ICHG_RES_B = 0x32B */
1068#define DA9150_CC_ICHG_RES_L_SHIFT 3
1069#define DA9150_CC_ICHG_RES_L_MASK (0x1f << 3)
1070
1071/* DA9150_CC_IAVG_RES_A = 0x32C */
1072#define DA9150_CC_IAVG_RES_H_SHIFT 0
1073#define DA9150_CC_IAVG_RES_H_MASK (0xff << 0)
1074
1075/* DA9150_CC_IAVG_RES_B = 0x32D */
1076#define DA9150_CC_IAVG_RES_L_SHIFT 0
1077#define DA9150_CC_IAVG_RES_L_MASK (0xff << 0)
1078
1079/* DA9150_TAUX_CTRL_A = 0x330 */
1080#define DA9150_TAUX_EN_SHIFT 0
1081#define DA9150_TAUX_EN_MASK BIT(0)
1082#define DA9150_TAUX_MOD_SHIFT 1
1083#define DA9150_TAUX_MOD_MASK BIT(1)
1084#define DA9150_TAUX_UPDATE_SHIFT 2
1085#define DA9150_TAUX_UPDATE_MASK BIT(2)
1086
1087/* DA9150_TAUX_RELOAD_H = 0x332 */
1088#define DA9150_TAUX_RLD_H_SHIFT 0
1089#define DA9150_TAUX_RLD_H_MASK (0xff << 0)
1090
1091/* DA9150_TAUX_RELOAD_L = 0x333 */
1092#define DA9150_TAUX_RLD_L_SHIFT 3
1093#define DA9150_TAUX_RLD_L_MASK (0x1f << 3)
1094
1095/* DA9150_TAUX_VALUE_H = 0x334 */
1096#define DA9150_TAUX_VAL_H_SHIFT 0
1097#define DA9150_TAUX_VAL_H_MASK (0xff << 0)
1098
1099/* DA9150_TAUX_VALUE_L = 0x335 */
1100#define DA9150_TAUX_VAL_L_SHIFT 3
1101#define DA9150_TAUX_VAL_L_MASK (0x1f << 3)
1102
1103/* DA9150_AUX_DATA_0 = 0x338 */
1104#define DA9150_AUX_DAT_0_SHIFT 0
1105#define DA9150_AUX_DAT_0_MASK (0xff << 0)
1106
1107/* DA9150_AUX_DATA_1 = 0x339 */
1108#define DA9150_AUX_DAT_1_SHIFT 0
1109#define DA9150_AUX_DAT_1_MASK (0xff << 0)
1110
1111/* DA9150_AUX_DATA_2 = 0x33A */
1112#define DA9150_AUX_DAT_2_SHIFT 0
1113#define DA9150_AUX_DAT_2_MASK (0xff << 0)
1114
1115/* DA9150_AUX_DATA_3 = 0x33B */
1116#define DA9150_AUX_DAT_3_SHIFT 0
1117#define DA9150_AUX_DAT_3_MASK (0xff << 0)
1118
1119/* DA9150_BIF_CTRL = 0x340 */
1120#define DA9150_BIF_ISRC_EN_SHIFT 0
1121#define DA9150_BIF_ISRC_EN_MASK BIT(0)
1122
1123/* DA9150_TBAT_CTRL_A = 0x342 */
1124#define DA9150_TBAT_EN_SHIFT 0
1125#define DA9150_TBAT_EN_MASK BIT(0)
1126#define DA9150_TBAT_SW1_SHIFT 1
1127#define DA9150_TBAT_SW1_MASK BIT(1)
1128#define DA9150_TBAT_SW2_SHIFT 2
1129#define DA9150_TBAT_SW2_MASK BIT(2)
1130
1131/* DA9150_TBAT_CTRL_B = 0x343 */
1132#define DA9150_TBAT_SW_FRC_SHIFT 0
1133#define DA9150_TBAT_SW_FRC_MASK BIT(0)
1134#define DA9150_TBAT_STAT_SW1_SHIFT 1
1135#define DA9150_TBAT_STAT_SW1_MASK BIT(1)
1136#define DA9150_TBAT_STAT_SW2_SHIFT 2
1137#define DA9150_TBAT_STAT_SW2_MASK BIT(2)
1138#define DA9150_TBAT_HIGH_CURR_SHIFT 3
1139#define DA9150_TBAT_HIGH_CURR_MASK BIT(3)
1140
1141/* DA9150_TBAT_RES_A = 0x344 */
1142#define DA9150_TBAT_RES_H_SHIFT 0
1143#define DA9150_TBAT_RES_H_MASK (0xff << 0)
1144
1145/* DA9150_TBAT_RES_B = 0x345 */
1146#define DA9150_TBAT_RES_DIS_SHIFT 0
1147#define DA9150_TBAT_RES_DIS_MASK BIT(0)
1148#define DA9150_TBAT_RES_L_SHIFT 6
1149#define DA9150_TBAT_RES_L_MASK (0x03 << 6)
1150
1151#endif /* __DA9150_REGISTERS_H */
1152

source code of linux/include/linux/mfd/da9150/registers.h