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