xref: /OK3568_Linux_fs/kernel/drivers/power/supply/bd99954-charger.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /* Copyright (C) 2020 ROHM Semiconductors */
3*4882a593Smuzhiyun #ifndef BD99954_CHARGER_H
4*4882a593Smuzhiyun #define BD99954_CHARGER_H
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #include <linux/regmap.h>
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #define BD9995X_MANUFACTURER "Rohm Semiconductor"
9*4882a593Smuzhiyun #define BD9995X_IRQ_PIN      "bd9995x_irq"
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define BD9995X_VSYS_PRECHARGE_OFFSET_MV 200
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun #define BD99954_ID            0x346
14*4882a593Smuzhiyun #define BD99955_ID            0x221
15*4882a593Smuzhiyun #define BD99956_ID            0x331
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun /* Battery Charger Commands */
18*4882a593Smuzhiyun #define    CHARGING_CURRENT   0x14
19*4882a593Smuzhiyun #define    CHARGING_VOLTAGE   0x15
20*4882a593Smuzhiyun #define    PROTECT_SET        0x3E
21*4882a593Smuzhiyun #define    MAP_SET            0x3F
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /* Extended commands */
24*4882a593Smuzhiyun #define    CHGSTM_STATUS       0x100
25*4882a593Smuzhiyun #define    VBAT_VSYS_STATUS    0x101
26*4882a593Smuzhiyun #define    VBUS_VCC_STATUS     0x102
27*4882a593Smuzhiyun #define    CHGOP_STATUS        0x103
28*4882a593Smuzhiyun #define    WDT_STATUS          0x104
29*4882a593Smuzhiyun #define    CUR_ILIM_VAL        0x105
30*4882a593Smuzhiyun #define    SEL_ILIM_VAL        0x106
31*4882a593Smuzhiyun #define    IBUS_LIM_SET        0x107
32*4882a593Smuzhiyun #define    ICC_LIM_SET         0x108
33*4882a593Smuzhiyun #define    IOTG_LIM_SET        0x109
34*4882a593Smuzhiyun #define    VIN_CTRL_SET        0x10A
35*4882a593Smuzhiyun #define    CHGOP_SET1          0x10B
36*4882a593Smuzhiyun #define    CHGOP_SET2          0x10C
37*4882a593Smuzhiyun #define    VBUSCLPS_TH_SET     0x10D
38*4882a593Smuzhiyun #define    VCCCLPS_TH_SET      0x10E
39*4882a593Smuzhiyun #define    CHGWDT_SET          0x10F
40*4882a593Smuzhiyun #define    BATTWDT_SET         0x110
41*4882a593Smuzhiyun #define    VSYSREG_SET         0x111
42*4882a593Smuzhiyun #define    VSYSVAL_THH_SET     0x112
43*4882a593Smuzhiyun #define    VSYSVAL_THL_SET     0x113
44*4882a593Smuzhiyun #define    ITRICH_SET          0x114
45*4882a593Smuzhiyun #define    IPRECH_SET          0x115
46*4882a593Smuzhiyun #define    ICHG_SET            0x116
47*4882a593Smuzhiyun #define    ITERM_SET           0x117
48*4882a593Smuzhiyun #define    VPRECHG_TH_SET      0x118
49*4882a593Smuzhiyun #define    VRBOOST_SET         0x119
50*4882a593Smuzhiyun #define    VFASTCHG_REG_SET1   0x11A
51*4882a593Smuzhiyun #define    VFASTCHG_REG_SET2   0x11B
52*4882a593Smuzhiyun #define    VFASTCHG_REG_SET3   0x11C
53*4882a593Smuzhiyun #define    VRECHG_SET          0x11D
54*4882a593Smuzhiyun #define    VBATOVP_SET         0x11E
55*4882a593Smuzhiyun #define    IBATSHORT_SET       0x11F
56*4882a593Smuzhiyun #define    PROCHOT_CTRL_SET    0x120
57*4882a593Smuzhiyun #define    PROCHOT_ICRIT_SET   0x121
58*4882a593Smuzhiyun #define    PROCHOT_INORM_SET   0x122
59*4882a593Smuzhiyun #define    PROCHOT_IDCHG_SET   0x123
60*4882a593Smuzhiyun #define    PROCHOT_VSYS_SET    0x124
61*4882a593Smuzhiyun #define    PMON_IOUT_CTRL_SET  0x125
62*4882a593Smuzhiyun #define    PMON_DACIN_VAL      0x126
63*4882a593Smuzhiyun #define    IOUT_DACIN_VAL      0x127
64*4882a593Smuzhiyun #define    VCC_UCD_SET         0x128
65*4882a593Smuzhiyun #define    VCC_UCD_STATUS      0x129
66*4882a593Smuzhiyun #define    VCC_IDD_STATUS      0x12A
67*4882a593Smuzhiyun #define    VCC_UCD_FCTRL_SET   0x12B
68*4882a593Smuzhiyun #define    VCC_UCD_FCTRL_EN    0x12C
69*4882a593Smuzhiyun #define    VBUS_UCD_SET        0x130
70*4882a593Smuzhiyun #define    VBUS_UCD_STATUS     0x131
71*4882a593Smuzhiyun #define    VBUS_IDD_STATUS     0x132
72*4882a593Smuzhiyun #define    VBUS_UCD_FCTRL_SET  0x133
73*4882a593Smuzhiyun #define    VBUS_UCD_FCTRL_EN   0x134
74*4882a593Smuzhiyun #define    CHIP_ID             0x138
75*4882a593Smuzhiyun #define    CHIP_REV            0x139
76*4882a593Smuzhiyun #define    IC_SET1             0x13A
77*4882a593Smuzhiyun #define    IC_SET2             0x13B
78*4882a593Smuzhiyun #define    SYSTEM_STATUS       0x13C
79*4882a593Smuzhiyun #define    SYSTEM_CTRL_SET     0x13D
80*4882a593Smuzhiyun #define    VM_CTRL_SET         0x140
81*4882a593Smuzhiyun #define    THERM_WINDOW_SET1   0x141
82*4882a593Smuzhiyun #define    THERM_WINDOW_SET2   0x142
83*4882a593Smuzhiyun #define    THERM_WINDOW_SET3   0x143
84*4882a593Smuzhiyun #define    THERM_WINDOW_SET4   0x144
85*4882a593Smuzhiyun #define    THERM_WINDOW_SET5   0x145
86*4882a593Smuzhiyun #define    IBATP_TH_SET        0x146
87*4882a593Smuzhiyun #define    IBATM_TH_SET        0x147
88*4882a593Smuzhiyun #define    VBAT_TH_SET         0x148
89*4882a593Smuzhiyun #define    THERM_TH_SET        0x149
90*4882a593Smuzhiyun #define    IACP_TH_SET         0x14A
91*4882a593Smuzhiyun #define    VACP_TH_SET         0x14B
92*4882a593Smuzhiyun #define    VBUS_TH_SET         0x14C
93*4882a593Smuzhiyun #define    VCC_TH_SET          0x14D
94*4882a593Smuzhiyun #define    VSYS_TH_SET         0x14E
95*4882a593Smuzhiyun #define    EXTIADP_TH_SET      0x14F
96*4882a593Smuzhiyun #define    IBATP_VAL           0x150
97*4882a593Smuzhiyun #define    IBATP_AVE_VAL       0x151
98*4882a593Smuzhiyun #define    IBATM_VAL           0x152
99*4882a593Smuzhiyun #define    IBATM_AVE_VAL       0x153
100*4882a593Smuzhiyun #define    VBAT_VAL            0x154
101*4882a593Smuzhiyun #define    VBAT_AVE_VAL        0x155
102*4882a593Smuzhiyun #define    THERM_VAL           0x156
103*4882a593Smuzhiyun #define    VTH_VAL             0x157
104*4882a593Smuzhiyun #define    IACP_VAL            0x158
105*4882a593Smuzhiyun #define    IACP_AVE_VAL        0x159
106*4882a593Smuzhiyun #define    VACP_VAL            0x15A
107*4882a593Smuzhiyun #define    VACP_AVE_VAL        0x15B
108*4882a593Smuzhiyun #define    VBUS_VAL            0x15C
109*4882a593Smuzhiyun #define    VBUS_AVE_VAL        0x15D
110*4882a593Smuzhiyun #define    VCC_VAL             0x15E
111*4882a593Smuzhiyun #define    VCC_AVE_VAL         0x15F
112*4882a593Smuzhiyun #define    VSYS_VAL            0x160
113*4882a593Smuzhiyun #define    VSYS_AVE_VAL        0x161
114*4882a593Smuzhiyun #define    EXTIADP_VAL         0x162
115*4882a593Smuzhiyun #define    EXTIADP_AVE_VAL     0x163
116*4882a593Smuzhiyun #define    VACPCLPS_TH_SET     0x164
117*4882a593Smuzhiyun #define    INT0_SET            0x168
118*4882a593Smuzhiyun #define    INT1_SET            0x169
119*4882a593Smuzhiyun #define    INT2_SET            0x16A
120*4882a593Smuzhiyun #define    INT3_SET            0x16B
121*4882a593Smuzhiyun #define    INT4_SET            0x16C
122*4882a593Smuzhiyun #define    INT5_SET            0x16D
123*4882a593Smuzhiyun #define    INT6_SET            0x16E
124*4882a593Smuzhiyun #define    INT7_SET            0x16F
125*4882a593Smuzhiyun #define    INT0_STATUS         0x170
126*4882a593Smuzhiyun #define    INT1_STATUS         0x171
127*4882a593Smuzhiyun #define    INT2_STATUS         0x172
128*4882a593Smuzhiyun #define    INT3_STATUS         0x173
129*4882a593Smuzhiyun #define    INT4_STATUS         0x174
130*4882a593Smuzhiyun #define    INT5_STATUS         0x175
131*4882a593Smuzhiyun #define    INT6_STATUS         0x176
132*4882a593Smuzhiyun #define    INT7_STATUS         0x177
133*4882a593Smuzhiyun #define    OTPREG0             0x17A
134*4882a593Smuzhiyun #define    OTPREG1             0x17B
135*4882a593Smuzhiyun #define    SMBREG              0x17C
136*4882a593Smuzhiyun #define    DEBUG_MODE_SET      0x17F
137*4882a593Smuzhiyun #define    DEBUG0x14           0x214
138*4882a593Smuzhiyun #define    DEBUG0x1A           0x21A
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun enum bd9995x_fields {
141*4882a593Smuzhiyun 	F_PREV_CHGSTM_STATE, F_CHGSTM_STATE,
142*4882a593Smuzhiyun 	F_VBAT_VSYS_STATUS,
143*4882a593Smuzhiyun 	F_VBUS_VCC_STATUS,
144*4882a593Smuzhiyun 	F_BATTEMP, F_VRECHG_DET, F_RBOOST_UV, F_RBOOSTS,
145*4882a593Smuzhiyun 	F_THERMWDT_VAL, F_CHGWDT_VAL,
146*4882a593Smuzhiyun 	F_CUR_ILIM_VAL,
147*4882a593Smuzhiyun 	F_SEL_ILIM_VAL,
148*4882a593Smuzhiyun 	F_IBUS_LIM_SET,
149*4882a593Smuzhiyun 	F_ICC_LIM_SET,
150*4882a593Smuzhiyun 	F_IOTG_LIM_SET,
151*4882a593Smuzhiyun 	F_OTG_BOTH_EN,
152*4882a593Smuzhiyun 	F_VRBOOST_TRIG,
153*4882a593Smuzhiyun 	F_VRBOOST_EN,
154*4882a593Smuzhiyun 	F_PP_BOTH_THRU,
155*4882a593Smuzhiyun 	F_VIN_ORD,
156*4882a593Smuzhiyun 	F_VBUS_EN,
157*4882a593Smuzhiyun 	F_VCC_EN,
158*4882a593Smuzhiyun 	F_VSYS_PRIORITY,
159*4882a593Smuzhiyun 	F_PPC_SUB_CAP,
160*4882a593Smuzhiyun 	F_PPC_CAP,
161*4882a593Smuzhiyun 	F_DCP_2500_SEL,
162*4882a593Smuzhiyun 	F_SDP_500_SEL,
163*4882a593Smuzhiyun 	F_ILIM_AUTO_DISEN,
164*4882a593Smuzhiyun 	F_VCC_BC_DISEN,
165*4882a593Smuzhiyun 	F_VBUS_BC_DISEN,
166*4882a593Smuzhiyun 	F_SDP_CHG_TRIG_EN,
167*4882a593Smuzhiyun 	F_SDP_CHG_TRIG,
168*4882a593Smuzhiyun 	F_AUTO_TOF,
169*4882a593Smuzhiyun 	F_AUTO_FST,
170*4882a593Smuzhiyun 	F_AUTO_RECH,
171*4882a593Smuzhiyun 	F_ILIM_RESET_EN,
172*4882a593Smuzhiyun 	F_DCDC_1MS_SEL,
173*4882a593Smuzhiyun 	F_SEL_ILIM_DIV,
174*4882a593Smuzhiyun 	F_BATT_LEARN,
175*4882a593Smuzhiyun 	F_CHG_EN,
176*4882a593Smuzhiyun 	F_USB_SUS,
177*4882a593Smuzhiyun 	F_CHOP_SS_INIT,
178*4882a593Smuzhiyun 	F_CHOP_ALL_INIT,
179*4882a593Smuzhiyun 	F_DCDC_CLK_SEL,
180*4882a593Smuzhiyun 	F_CHOP_SS,
181*4882a593Smuzhiyun 	F_CHOP_ALL,
182*4882a593Smuzhiyun 	F_VBUSCLPS_TH_SET,
183*4882a593Smuzhiyun 	F_VCCCLPS_TH_SET,
184*4882a593Smuzhiyun 	F_WDT_FST,
185*4882a593Smuzhiyun 	F_WDT_PRE,
186*4882a593Smuzhiyun 	F_WDT_IBAT_SHORT,
187*4882a593Smuzhiyun 	F_WDT_THERM,
188*4882a593Smuzhiyun 	F_VSYSREG_SET,
189*4882a593Smuzhiyun 	F_VSYSVAL_THH_SET,
190*4882a593Smuzhiyun 	F_VSYSVAL_THL_SET,
191*4882a593Smuzhiyun 	F_ITRICH_SET,
192*4882a593Smuzhiyun 	F_IPRECH_SET,
193*4882a593Smuzhiyun 	F_ICHG_SET,
194*4882a593Smuzhiyun 	F_ITERM_SET,
195*4882a593Smuzhiyun 	F_VPRECHG_TH_SET,
196*4882a593Smuzhiyun 	F_VRBOOST_SET,
197*4882a593Smuzhiyun 	F_VFASTCHG_REG_SET1,
198*4882a593Smuzhiyun 	F_VFASTCHG_REG_SET2,
199*4882a593Smuzhiyun 	F_VFASTCHG_REG_SET3,
200*4882a593Smuzhiyun 	F_VRECHG_SET,
201*4882a593Smuzhiyun 	F_VBATOVP_SET,
202*4882a593Smuzhiyun 	F_IBATM_SHORT_SET,
203*4882a593Smuzhiyun 	F_PROCHOT_DG_SET,
204*4882a593Smuzhiyun 	F_PROCHOT_ICRIT_DG_SET,
205*4882a593Smuzhiyun 	F_PROCHOT_IDCHG_DG_SET,
206*4882a593Smuzhiyun 	F_PROCHOT_EN,
207*4882a593Smuzhiyun 	F_PROCHOT_ICRIT_SET,
208*4882a593Smuzhiyun 	F_PROCHOT_INORM_SET,
209*4882a593Smuzhiyun 	F_PROCHOT_IDCHG_SET,
210*4882a593Smuzhiyun 	F_PROCHOT_VSYS_SET,
211*4882a593Smuzhiyun 	F_IMON_INSEL,
212*4882a593Smuzhiyun 	F_PMON_INSEL,
213*4882a593Smuzhiyun 	F_IOUT_OUT_EN,
214*4882a593Smuzhiyun 	F_IOUT_SOURCE_SEL,
215*4882a593Smuzhiyun 	F_IOUT_GAIN_SET,
216*4882a593Smuzhiyun 	F_PMON_OUT_EN,
217*4882a593Smuzhiyun 	F_PMON_GAIN_SET,
218*4882a593Smuzhiyun 	F_PMON_DACIN_VAL,
219*4882a593Smuzhiyun 	F_IOUT_DACIN_VAL,
220*4882a593Smuzhiyun 	F_VCC_BCSRETRY,
221*4882a593Smuzhiyun 	F_VCC_ADCRTRY,
222*4882a593Smuzhiyun 	F_VCC_USBDETEN,
223*4882a593Smuzhiyun 	F_VCC_IDRDETEN,
224*4882a593Smuzhiyun 	F_VCC_ENUMRDY,
225*4882a593Smuzhiyun 	F_VCC_ADCPOLEN,
226*4882a593Smuzhiyun 	F_VCC_DCDMODE,
227*4882a593Smuzhiyun 	F_VCC_USB_SW_EN,
228*4882a593Smuzhiyun 	F_VCC_USB_SW,
229*4882a593Smuzhiyun 	F_VCC_DCDFAIL,
230*4882a593Smuzhiyun 	F_VCC_CHGPORT,
231*4882a593Smuzhiyun 	F_VCC_PUPDET,
232*4882a593Smuzhiyun 	F_VCC_VBUS_VLD,
233*4882a593Smuzhiyun 	F_VCC_CHGDET,
234*4882a593Smuzhiyun 	F_VCC_OTGDET,
235*4882a593Smuzhiyun 	F_VCC_VBINOP,
236*4882a593Smuzhiyun 	F_VCC_EXTID,
237*4882a593Smuzhiyun 	F_VCC_IDRDET,
238*4882a593Smuzhiyun 	F_VCC_INDO,
239*4882a593Smuzhiyun 	F_VCC_UCDSWEN,
240*4882a593Smuzhiyun 	F_VCC_RREF_EN,
241*4882a593Smuzhiyun 	F_VCC_DPPU_EN,
242*4882a593Smuzhiyun 	F_VCC_DPREF_EN,
243*4882a593Smuzhiyun 	F_VCC_DMREF_EN,
244*4882a593Smuzhiyun 	F_VCC_DPDET_EN,
245*4882a593Smuzhiyun 	F_VCC_DMDET_EN,
246*4882a593Smuzhiyun 	F_VCC_DPSINK_EN,
247*4882a593Smuzhiyun 	F_VCC_DMSINK_EN,
248*4882a593Smuzhiyun 	F_VCC_DP_BUFF_EN,
249*4882a593Smuzhiyun 	F_VCC_DM_BUFF_EN,
250*4882a593Smuzhiyun 	F_VCC_EXTCLKENBL,
251*4882a593Smuzhiyun 	F_VCC_PLSTESTEN,
252*4882a593Smuzhiyun 	F_VCC_UCDSWEN_TSTENB,
253*4882a593Smuzhiyun 	F_VCC_RREF_EN_TSTENB,
254*4882a593Smuzhiyun 	F_VCC_DPPU_EN_TSTENB,
255*4882a593Smuzhiyun 	F_VCC_DPREF_EN_TSTENB,
256*4882a593Smuzhiyun 	F_VCC_DMREF_EN_TSTENB,
257*4882a593Smuzhiyun 	F_VCC_DPDET_EN_TSTENB,
258*4882a593Smuzhiyun 	F_VCC_DMDET_EN_TSTENB,
259*4882a593Smuzhiyun 	F_VCC_DPSINK_EN_TSTENB,
260*4882a593Smuzhiyun 	F_VCC_DMSINK_EN_TSTENB,
261*4882a593Smuzhiyun 	F_VCC_DP_BUFF_EN_TSTENB,
262*4882a593Smuzhiyun 	F_VCC_DM_BUFF_EN_TSTENB,
263*4882a593Smuzhiyun 	F_VBUS_BCSRETRY,
264*4882a593Smuzhiyun 	F_VBUS_ADCRTRY,
265*4882a593Smuzhiyun 	F_VBUS_USBDETEN,
266*4882a593Smuzhiyun 	F_VBUS_IDRDETEN,
267*4882a593Smuzhiyun 	F_VBUS_ENUMRDY,
268*4882a593Smuzhiyun 	F_VBUS_ADCPOLEN,
269*4882a593Smuzhiyun 	F_VBUS_DCDMODE,
270*4882a593Smuzhiyun 	F_VBUS_USB_SW_EN,
271*4882a593Smuzhiyun 	F_VBUS_USB_SW,
272*4882a593Smuzhiyun 	F_VBUS_DCDFAIL,
273*4882a593Smuzhiyun 	F_VBUS_CHGPORT,
274*4882a593Smuzhiyun 	F_VBUS_PUPDET,
275*4882a593Smuzhiyun 	F_VBUS_VBUS_VLD,
276*4882a593Smuzhiyun 	F_VBUS_CHGDET,
277*4882a593Smuzhiyun 	F_VBUS_OTGDET,
278*4882a593Smuzhiyun 	F_VBUS_VBINOP,
279*4882a593Smuzhiyun 	F_VBUS_EXTID,
280*4882a593Smuzhiyun 	F_VBUS_IDRDET,
281*4882a593Smuzhiyun 	F_VBUS_INDO,
282*4882a593Smuzhiyun 	F_VBUS_UCDSWEN,
283*4882a593Smuzhiyun 	F_VBUS_RREF_EN,
284*4882a593Smuzhiyun 	F_VBUS_DPPU_EN,
285*4882a593Smuzhiyun 	F_VBUS_DPREF_EN,
286*4882a593Smuzhiyun 	F_VBUS_DMREF_EN,
287*4882a593Smuzhiyun 	F_VBUS_DPDET_EN,
288*4882a593Smuzhiyun 	F_VBUS_DMDET_EN,
289*4882a593Smuzhiyun 	F_VBUS_DPSINK_EN,
290*4882a593Smuzhiyun 	F_VBUS_DMSINK_EN,
291*4882a593Smuzhiyun 	F_VBUS_DP_BUFF_EN,
292*4882a593Smuzhiyun 	F_VBUS_DM_BUFF_EN,
293*4882a593Smuzhiyun 	F_VBUS_EXTCLKENBL,
294*4882a593Smuzhiyun 	F_VBUS_PLSTESTEN,
295*4882a593Smuzhiyun 	F_VBUS_UCDSWEN_TSTENB,
296*4882a593Smuzhiyun 	F_VBUS_RREF_EN_TSTENB,
297*4882a593Smuzhiyun 	F_VBUS_DPPU_EN_TSTENB,
298*4882a593Smuzhiyun 	F_VBUS_DPREF_EN_TSTENB,
299*4882a593Smuzhiyun 	F_VBUS_DMREF_EN_TSTENB,
300*4882a593Smuzhiyun 	F_VBUS_DPDET_EN_TSTENB,
301*4882a593Smuzhiyun 	F_VBUS_DMDET_EN_TSTENB,
302*4882a593Smuzhiyun 	F_VBUS_DPSINK_EN_TSTENB,
303*4882a593Smuzhiyun 	F_VBUS_DMSINK_EN_TSTENB,
304*4882a593Smuzhiyun 	F_VBUS_DP_BUFF_EN_TSTENB,
305*4882a593Smuzhiyun 	F_VBUS_DM_BUFF_EN_TSTENB,
306*4882a593Smuzhiyun 	F_CHIP_ID,
307*4882a593Smuzhiyun 	F_CHIP_REV,
308*4882a593Smuzhiyun 	F_ONE_CELL_MODE,
309*4882a593Smuzhiyun 	F_cell,
310*4882a593Smuzhiyun 	F_VACP_AUTO_DISCHG,
311*4882a593Smuzhiyun 	F_VACP_LOAD,
312*4882a593Smuzhiyun 	F_ACOK_POL,
313*4882a593Smuzhiyun 	F_ACOK_DISEN,
314*4882a593Smuzhiyun 	F_DEBUG_SET1,
315*4882a593Smuzhiyun 	F_DEBUG_SET0,
316*4882a593Smuzhiyun 	F_MONRST_STATE,
317*4882a593Smuzhiyun 	F_ALMRST_STATE,
318*4882a593Smuzhiyun 	F_CHGRST_STATE,
319*4882a593Smuzhiyun 	F_OTPLD_STATE,
320*4882a593Smuzhiyun 	F_ALLRST_STATE,
321*4882a593Smuzhiyun 	F_PROTECT_SET,
322*4882a593Smuzhiyun 	F_MAP_SET,
323*4882a593Smuzhiyun 	F_ADCINTERVAL,
324*4882a593Smuzhiyun 	F_ADCMOD,
325*4882a593Smuzhiyun 	F_ADCTMOD,
326*4882a593Smuzhiyun 	F_EXTIADPEN,
327*4882a593Smuzhiyun 	F_VSYSENB,
328*4882a593Smuzhiyun 	F_VCCENB,
329*4882a593Smuzhiyun 	F_VBUSENB,
330*4882a593Smuzhiyun 	F_VACPENB,
331*4882a593Smuzhiyun 	F_IACPENB,
332*4882a593Smuzhiyun 	F_THERMENB,
333*4882a593Smuzhiyun 	F_VBATENB,
334*4882a593Smuzhiyun 	F_IBATMENB,
335*4882a593Smuzhiyun 	F_IBATPENB,
336*4882a593Smuzhiyun 	F_TMPTHR1B,
337*4882a593Smuzhiyun 	F_TMPTHR1A,
338*4882a593Smuzhiyun 	F_TMPTHR2B,
339*4882a593Smuzhiyun 	F_TMPTHR2A,
340*4882a593Smuzhiyun 	F_TMPTHR3B,
341*4882a593Smuzhiyun 	F_TMPTHR3A,
342*4882a593Smuzhiyun 	F_TMPTHR4B,
343*4882a593Smuzhiyun 	F_TMPTHR4A,
344*4882a593Smuzhiyun 	F_TMPTHR5B,
345*4882a593Smuzhiyun 	F_TMPTHR5A,
346*4882a593Smuzhiyun 	F_IBATP_TH_SET,
347*4882a593Smuzhiyun 	F_IBATM_TH_SET,
348*4882a593Smuzhiyun 	F_VBAT_TH_SET,
349*4882a593Smuzhiyun 	F_THERM_TH_SET,
350*4882a593Smuzhiyun 	F_IACP_TH_SET,
351*4882a593Smuzhiyun 	F_VACP_TH_SET,
352*4882a593Smuzhiyun 	F_VBUS_TH_SET,
353*4882a593Smuzhiyun 	F_VCC_TH_SET,
354*4882a593Smuzhiyun 	F_VSYS_TH_SET,
355*4882a593Smuzhiyun 	F_EXTIADP_TH_SET,
356*4882a593Smuzhiyun 	F_IBATP_VAL,
357*4882a593Smuzhiyun 	F_IBATP_AVE_VAL,
358*4882a593Smuzhiyun 	F_IBATM_VAL,
359*4882a593Smuzhiyun 	F_IBATM_AVE_VAL,
360*4882a593Smuzhiyun 	F_VBAT_VAL,
361*4882a593Smuzhiyun 	F_VBAT_AVE_VAL,
362*4882a593Smuzhiyun 	F_THERM_VAL,
363*4882a593Smuzhiyun 	F_VTH_VAL,
364*4882a593Smuzhiyun 	F_IACP_VAL,
365*4882a593Smuzhiyun 	F_IACP_AVE_VAL,
366*4882a593Smuzhiyun 	F_VACP_VAL,
367*4882a593Smuzhiyun 	F_VACP_AVE_VAL,
368*4882a593Smuzhiyun 	F_VBUS_VAL,
369*4882a593Smuzhiyun 	F_VBUS_AVE_VAL,
370*4882a593Smuzhiyun 	F_VCC_VAL,
371*4882a593Smuzhiyun 	F_VCC_AVE_VAL,
372*4882a593Smuzhiyun 	F_VSYS_VAL,
373*4882a593Smuzhiyun 	F_VSYS_AVE_VAL,
374*4882a593Smuzhiyun 	F_EXTIADP_VAL,
375*4882a593Smuzhiyun 	F_EXTIADP_AVE_VAL,
376*4882a593Smuzhiyun 	F_VACPCLPS_TH_SET,
377*4882a593Smuzhiyun 	F_INT7_SET,
378*4882a593Smuzhiyun 	F_INT6_SET,
379*4882a593Smuzhiyun 	F_INT5_SET,
380*4882a593Smuzhiyun 	F_INT4_SET,
381*4882a593Smuzhiyun 	F_INT3_SET,
382*4882a593Smuzhiyun 	F_INT2_SET,
383*4882a593Smuzhiyun 	F_INT1_SET,
384*4882a593Smuzhiyun 	F_INT0_SET,
385*4882a593Smuzhiyun 	F_VBUS_RBUV_DET,
386*4882a593Smuzhiyun 	F_VBUS_RBUV_RES,
387*4882a593Smuzhiyun 	F_VBUS_TH_DET,
388*4882a593Smuzhiyun 	F_VBUS_TH_RES,
389*4882a593Smuzhiyun 	F_VBUS_IIN_MOD,
390*4882a593Smuzhiyun 	F_VBUS_OV_DET,
391*4882a593Smuzhiyun 	F_VBUS_OV_RES,
392*4882a593Smuzhiyun 	F_VBUS_CLPS_DET,
393*4882a593Smuzhiyun 	F_VBUS_CLPS,
394*4882a593Smuzhiyun 	F_VBUS_DET,
395*4882a593Smuzhiyun 	F_VBUS_RES,
396*4882a593Smuzhiyun 	F_VCC_RBUV_DET,
397*4882a593Smuzhiyun 	F_VCC_RBUV_RES,
398*4882a593Smuzhiyun 	F_VCC_TH_DET,
399*4882a593Smuzhiyun 	F_VCC_TH_RES,
400*4882a593Smuzhiyun 	F_VCC_IIN_MOD,
401*4882a593Smuzhiyun 	F_VCC_OVP_DET,
402*4882a593Smuzhiyun 	F_VCC_OVP_RES,
403*4882a593Smuzhiyun 	F_VCC_CLPS_DET,
404*4882a593Smuzhiyun 	F_VCC_CLPS_RES,
405*4882a593Smuzhiyun 	F_VCC_DET,
406*4882a593Smuzhiyun 	F_VCC_RES,
407*4882a593Smuzhiyun 	F_TH_DET,
408*4882a593Smuzhiyun 	F_TH_RMV,
409*4882a593Smuzhiyun 	F_TMP_OUT_DET,
410*4882a593Smuzhiyun 	F_TMP_OUT_RES,
411*4882a593Smuzhiyun 	F_VBAT_TH_DET,
412*4882a593Smuzhiyun 	F_VBAT_TH_RES,
413*4882a593Smuzhiyun 	F_IBAT_SHORT_DET,
414*4882a593Smuzhiyun 	F_IBAT_SHORT_RES,
415*4882a593Smuzhiyun 	F_VBAT_OV_DET,
416*4882a593Smuzhiyun 	F_VBAT_OV_RES,
417*4882a593Smuzhiyun 	F_BAT_ASSIST_DET,
418*4882a593Smuzhiyun 	F_BAT_ASSIST_RES,
419*4882a593Smuzhiyun 	F_VSYS_TH_DET,
420*4882a593Smuzhiyun 	F_VSYS_TH_RES,
421*4882a593Smuzhiyun 	F_VSYS_OV_DET,
422*4882a593Smuzhiyun 	F_VSYS_OV_RES,
423*4882a593Smuzhiyun 	F_VSYS_SHT_DET,
424*4882a593Smuzhiyun 	F_VSYS_SHT_RES,
425*4882a593Smuzhiyun 	F_VSYS_UV_DET,
426*4882a593Smuzhiyun 	F_VSYS_UV_RES,
427*4882a593Smuzhiyun 	F_OTP_LOAD_DONE,
428*4882a593Smuzhiyun 	F_PWR_ON,
429*4882a593Smuzhiyun 	F_EXTIADP_TRNS,
430*4882a593Smuzhiyun 	F_EXTIADP_TH_DET,
431*4882a593Smuzhiyun 	F_EXIADP_TH_RES,
432*4882a593Smuzhiyun 	F_BAT_MNT_DET,
433*4882a593Smuzhiyun 	F_BAT_MNT_RES,
434*4882a593Smuzhiyun 	F_TSD_DET,
435*4882a593Smuzhiyun 	F_TSD_RES,
436*4882a593Smuzhiyun 	F_CHGWDT_EXP,
437*4882a593Smuzhiyun 	F_THERMWDT_EXP,
438*4882a593Smuzhiyun 	F_TMP_TRNS,
439*4882a593Smuzhiyun 	F_CHG_TRNS,
440*4882a593Smuzhiyun 	F_VBUS_UCD_PORT_DET,
441*4882a593Smuzhiyun 	F_VBUS_UCD_UCHG_DET,
442*4882a593Smuzhiyun 	F_VBUS_UCD_URID_RMV,
443*4882a593Smuzhiyun 	F_VBUS_UCD_OTG_DET,
444*4882a593Smuzhiyun 	F_VBUS_UCD_URID_MOD,
445*4882a593Smuzhiyun 	F_VCC_UCD_PORT_DET,
446*4882a593Smuzhiyun 	F_VCC_UCD_UCHG_DET,
447*4882a593Smuzhiyun 	F_VCC_UCD_URID_RMV,
448*4882a593Smuzhiyun 	F_VCC_UCD_OTG_DET,
449*4882a593Smuzhiyun 	F_VCC_UCD_URID_MOD,
450*4882a593Smuzhiyun 	F_PROCHOT_DET,
451*4882a593Smuzhiyun 	F_PROCHOT_RES,
452*4882a593Smuzhiyun 	F_VACP_DET,
453*4882a593Smuzhiyun 	F_VACP_RES,
454*4882a593Smuzhiyun 	F_VACP_TH_DET,
455*4882a593Smuzhiyun 	F_VACP_TH_RES,
456*4882a593Smuzhiyun 	F_IACP_TH_DET,
457*4882a593Smuzhiyun 	F_IACP_THE_RES,
458*4882a593Smuzhiyun 	F_THERM_TH_DET,
459*4882a593Smuzhiyun 	F_THERM_TH_RES,
460*4882a593Smuzhiyun 	F_IBATM_TH_DET,
461*4882a593Smuzhiyun 	F_IBATM_TH_RES,
462*4882a593Smuzhiyun 	F_IBATP_TH_DET,
463*4882a593Smuzhiyun 	F_IBATP_TH_RES,
464*4882a593Smuzhiyun 	F_INT7_STATUS,
465*4882a593Smuzhiyun 	F_INT6_STATUS,
466*4882a593Smuzhiyun 	F_INT5_STATUS,
467*4882a593Smuzhiyun 	F_INT4_STATUS,
468*4882a593Smuzhiyun 	F_INT3_STATUS,
469*4882a593Smuzhiyun 	F_INT2_STATUS,
470*4882a593Smuzhiyun 	F_INT1_STATUS,
471*4882a593Smuzhiyun 	F_INT0_STATUS,
472*4882a593Smuzhiyun 	F_ILIM_DECREASE,
473*4882a593Smuzhiyun 	F_RESERVE_OTPREG1,
474*4882a593Smuzhiyun 	F_POWER_SAVE_MODE,
475*4882a593Smuzhiyun 	F_DEBUG_MODE_SET,
476*4882a593Smuzhiyun 	F_DEBUG0x14,
477*4882a593Smuzhiyun 	F_DEBUG0x1A,
478*4882a593Smuzhiyun 	F_MAX_FIELDS
479*4882a593Smuzhiyun };
480*4882a593Smuzhiyun 
481*4882a593Smuzhiyun static const struct reg_field bd9995x_reg_fields[] = {
482*4882a593Smuzhiyun 	    [F_PREV_CHGSTM_STATE] = REG_FIELD(CHGSTM_STATUS, 8, 14),
483*4882a593Smuzhiyun 	    [F_CHGSTM_STATE] = REG_FIELD(CHGSTM_STATUS, 0, 6),
484*4882a593Smuzhiyun 	    [F_VBAT_VSYS_STATUS] = REG_FIELD(VBAT_VSYS_STATUS, 0, 15),
485*4882a593Smuzhiyun 	    [F_VBUS_VCC_STATUS] = REG_FIELD(VBUS_VCC_STATUS, 0, 12),
486*4882a593Smuzhiyun 	    [F_BATTEMP] = REG_FIELD(CHGOP_STATUS, 8, 10),
487*4882a593Smuzhiyun 	    [F_VRECHG_DET] = REG_FIELD(CHGOP_STATUS, 6, 6),
488*4882a593Smuzhiyun 	    [F_RBOOST_UV] = REG_FIELD(CHGOP_STATUS, 1, 1),
489*4882a593Smuzhiyun 	    [F_RBOOSTS] = REG_FIELD(CHGOP_STATUS, 0, 0),
490*4882a593Smuzhiyun 	    [F_THERMWDT_VAL] = REG_FIELD(WDT_STATUS, 8, 15),
491*4882a593Smuzhiyun 	    [F_CHGWDT_VAL] = REG_FIELD(WDT_STATUS, 0, 7),
492*4882a593Smuzhiyun 	    [F_CUR_ILIM_VAL] = REG_FIELD(CUR_ILIM_VAL, 0, 13),
493*4882a593Smuzhiyun 	    [F_SEL_ILIM_VAL] = REG_FIELD(SEL_ILIM_VAL, 0, 13),
494*4882a593Smuzhiyun 	    [F_IBUS_LIM_SET] = REG_FIELD(IBUS_LIM_SET, 5, 13),
495*4882a593Smuzhiyun 	    [F_ICC_LIM_SET] = REG_FIELD(ICC_LIM_SET, 5, 13),
496*4882a593Smuzhiyun 	    [F_IOTG_LIM_SET] = REG_FIELD(IOTG_LIM_SET, 5, 13),
497*4882a593Smuzhiyun 	    [F_OTG_BOTH_EN] = REG_FIELD(VIN_CTRL_SET, 15, 15),
498*4882a593Smuzhiyun 	    [F_VRBOOST_TRIG] = REG_FIELD(VIN_CTRL_SET, 14, 14),
499*4882a593Smuzhiyun 	    [F_VRBOOST_EN] = REG_FIELD(VIN_CTRL_SET, 12, 13),
500*4882a593Smuzhiyun 	    [F_PP_BOTH_THRU] = REG_FIELD(VIN_CTRL_SET, 11, 11),
501*4882a593Smuzhiyun 	    [F_VIN_ORD] = REG_FIELD(VIN_CTRL_SET, 7, 7),
502*4882a593Smuzhiyun 	    [F_VBUS_EN] = REG_FIELD(VIN_CTRL_SET, 6, 6),
503*4882a593Smuzhiyun 	    [F_VCC_EN] = REG_FIELD(VIN_CTRL_SET, 5, 5),
504*4882a593Smuzhiyun 	    [F_VSYS_PRIORITY] = REG_FIELD(VIN_CTRL_SET, 4, 4),
505*4882a593Smuzhiyun 	    [F_PPC_SUB_CAP] = REG_FIELD(VIN_CTRL_SET, 2, 3),
506*4882a593Smuzhiyun 	    [F_PPC_CAP] = REG_FIELD(VIN_CTRL_SET, 0, 1),
507*4882a593Smuzhiyun 	    [F_DCP_2500_SEL] = REG_FIELD(CHGOP_SET1, 15, 15),
508*4882a593Smuzhiyun 	    [F_SDP_500_SEL] = REG_FIELD(CHGOP_SET1, 14, 14),
509*4882a593Smuzhiyun 	    [F_ILIM_AUTO_DISEN] = REG_FIELD(CHGOP_SET1, 13, 13),
510*4882a593Smuzhiyun 	    [F_VCC_BC_DISEN] = REG_FIELD(CHGOP_SET1, 11, 11),
511*4882a593Smuzhiyun 	    [F_VBUS_BC_DISEN] = REG_FIELD(CHGOP_SET1, 10, 10),
512*4882a593Smuzhiyun 	    [F_SDP_CHG_TRIG_EN] = REG_FIELD(CHGOP_SET1, 9, 9),
513*4882a593Smuzhiyun 	    [F_SDP_CHG_TRIG] = REG_FIELD(CHGOP_SET1, 8, 8),
514*4882a593Smuzhiyun 	    [F_AUTO_TOF] = REG_FIELD(CHGOP_SET1, 6, 6),
515*4882a593Smuzhiyun 	    [F_AUTO_FST] = REG_FIELD(CHGOP_SET1, 5, 5),
516*4882a593Smuzhiyun 	    [F_AUTO_RECH] = REG_FIELD(CHGOP_SET1, 3, 3),
517*4882a593Smuzhiyun 	    [F_ILIM_RESET_EN] = REG_FIELD(CHGOP_SET2, 14, 14),
518*4882a593Smuzhiyun 	    [F_DCDC_1MS_SEL] = REG_FIELD(CHGOP_SET2, 12, 13),
519*4882a593Smuzhiyun 	    [F_SEL_ILIM_DIV] = REG_FIELD(CHGOP_SET2, 10, 10),
520*4882a593Smuzhiyun 	    [F_BATT_LEARN] = REG_FIELD(CHGOP_SET2, 8, 8),
521*4882a593Smuzhiyun 	    [F_CHG_EN] = REG_FIELD(CHGOP_SET2, 7, 7),
522*4882a593Smuzhiyun 	    [F_USB_SUS] = REG_FIELD(CHGOP_SET2, 6, 6),
523*4882a593Smuzhiyun 	    [F_CHOP_SS_INIT] = REG_FIELD(CHGOP_SET2, 5, 5),
524*4882a593Smuzhiyun 	    [F_CHOP_ALL_INIT] = REG_FIELD(CHGOP_SET2, 4, 4),
525*4882a593Smuzhiyun 	    [F_DCDC_CLK_SEL] = REG_FIELD(CHGOP_SET2, 2, 3),
526*4882a593Smuzhiyun 	    [F_CHOP_SS] = REG_FIELD(CHGOP_SET2, 1, 1),
527*4882a593Smuzhiyun 	    [F_CHOP_ALL] = REG_FIELD(CHGOP_SET2, 0, 0),
528*4882a593Smuzhiyun 	    [F_VBUSCLPS_TH_SET] = REG_FIELD(VBUSCLPS_TH_SET, 7, 14),
529*4882a593Smuzhiyun 	    [F_VCCCLPS_TH_SET] = REG_FIELD(VCCCLPS_TH_SET, 7, 14),
530*4882a593Smuzhiyun 	    [F_WDT_FST] = REG_FIELD(CHGWDT_SET, 8, 15),
531*4882a593Smuzhiyun 	    [F_WDT_PRE] = REG_FIELD(CHGWDT_SET, 0, 7),
532*4882a593Smuzhiyun 	    [F_WDT_IBAT_SHORT] = REG_FIELD(BATTWDT_SET, 8, 15),
533*4882a593Smuzhiyun 	    [F_WDT_THERM] = REG_FIELD(BATTWDT_SET, 0, 7),
534*4882a593Smuzhiyun 	    [F_VSYSREG_SET] = REG_FIELD(VSYSREG_SET, 6, 14),
535*4882a593Smuzhiyun 	    [F_VSYSVAL_THH_SET] = REG_FIELD(VSYSVAL_THH_SET, 6, 14),
536*4882a593Smuzhiyun 	    [F_VSYSVAL_THL_SET] = REG_FIELD(VSYSVAL_THL_SET, 6, 14),
537*4882a593Smuzhiyun 	    [F_ITRICH_SET] = REG_FIELD(ITRICH_SET, 6, 10),
538*4882a593Smuzhiyun 	    [F_IPRECH_SET] = REG_FIELD(IPRECH_SET, 6, 10),
539*4882a593Smuzhiyun 	    [F_ICHG_SET] = REG_FIELD(ICHG_SET, 6, 13),
540*4882a593Smuzhiyun 	    [F_ITERM_SET] = REG_FIELD(ITERM_SET, 6, 10),
541*4882a593Smuzhiyun 	    [F_VPRECHG_TH_SET] = REG_FIELD(VPRECHG_TH_SET, 6, 14),
542*4882a593Smuzhiyun 	    [F_VRBOOST_SET] = REG_FIELD(VRBOOST_SET, 6, 14),
543*4882a593Smuzhiyun 	    [F_VFASTCHG_REG_SET1] = REG_FIELD(VFASTCHG_REG_SET1, 4, 14),
544*4882a593Smuzhiyun 	    [F_VFASTCHG_REG_SET2] = REG_FIELD(VFASTCHG_REG_SET2, 4, 14),
545*4882a593Smuzhiyun 	    [F_VFASTCHG_REG_SET3] = REG_FIELD(VFASTCHG_REG_SET3, 4, 14),
546*4882a593Smuzhiyun 	    [F_VRECHG_SET] = REG_FIELD(VRECHG_SET, 4, 14),
547*4882a593Smuzhiyun 	    [F_VBATOVP_SET] = REG_FIELD(VBATOVP_SET, 4, 14),
548*4882a593Smuzhiyun 	    [F_IBATM_SHORT_SET] = REG_FIELD(IBATSHORT_SET, 0, 14),
549*4882a593Smuzhiyun 	    [F_PROCHOT_DG_SET] = REG_FIELD(PROCHOT_CTRL_SET, 14, 15),
550*4882a593Smuzhiyun 	    [F_PROCHOT_ICRIT_DG_SET] = REG_FIELD(PROCHOT_CTRL_SET, 10, 11),
551*4882a593Smuzhiyun 	    [F_PROCHOT_IDCHG_DG_SET] = REG_FIELD(PROCHOT_CTRL_SET, 8, 9),
552*4882a593Smuzhiyun 	    [F_PROCHOT_EN] = REG_FIELD(PROCHOT_CTRL_SET, 0, 4),
553*4882a593Smuzhiyun 	    [F_PROCHOT_ICRIT_SET] = REG_FIELD(PROCHOT_ICRIT_SET, 0, 14),
554*4882a593Smuzhiyun 	    [F_PROCHOT_INORM_SET] = REG_FIELD(PROCHOT_INORM_SET, 0, 14),
555*4882a593Smuzhiyun 	    [F_PROCHOT_IDCHG_SET] = REG_FIELD(PROCHOT_IDCHG_SET, 0, 14),
556*4882a593Smuzhiyun 	    [F_PROCHOT_VSYS_SET] = REG_FIELD(PROCHOT_VSYS_SET, 0, 14),
557*4882a593Smuzhiyun 	    [F_IMON_INSEL] = REG_FIELD(PMON_IOUT_CTRL_SET, 9, 9),
558*4882a593Smuzhiyun 	    [F_PMON_INSEL] = REG_FIELD(PMON_IOUT_CTRL_SET, 8, 8),
559*4882a593Smuzhiyun 	    [F_IOUT_OUT_EN] = REG_FIELD(PMON_IOUT_CTRL_SET, 7, 7),
560*4882a593Smuzhiyun 	    [F_IOUT_SOURCE_SEL] = REG_FIELD(PMON_IOUT_CTRL_SET, 6, 6),
561*4882a593Smuzhiyun 	    [F_IOUT_GAIN_SET] = REG_FIELD(PMON_IOUT_CTRL_SET, 4, 5),
562*4882a593Smuzhiyun 	    [F_PMON_OUT_EN] = REG_FIELD(PMON_IOUT_CTRL_SET, 3, 3),
563*4882a593Smuzhiyun 	    [F_PMON_GAIN_SET] = REG_FIELD(PMON_IOUT_CTRL_SET, 0, 2),
564*4882a593Smuzhiyun 	    [F_PMON_DACIN_VAL] = REG_FIELD(PMON_DACIN_VAL, 0, 9),
565*4882a593Smuzhiyun 	    [F_IOUT_DACIN_VAL] = REG_FIELD(IOUT_DACIN_VAL, 0, 11),
566*4882a593Smuzhiyun 	    [F_VCC_BCSRETRY] = REG_FIELD(VCC_UCD_SET, 12, 12),
567*4882a593Smuzhiyun 	    [F_VCC_ADCRTRY] = REG_FIELD(VCC_UCD_SET, 8, 8),
568*4882a593Smuzhiyun 	    [F_VCC_USBDETEN] = REG_FIELD(VCC_UCD_SET, 7, 7),
569*4882a593Smuzhiyun 	    [F_VCC_IDRDETEN] = REG_FIELD(VCC_UCD_SET, 6, 6),
570*4882a593Smuzhiyun 	    [F_VCC_ENUMRDY] = REG_FIELD(VCC_UCD_SET, 5, 5),
571*4882a593Smuzhiyun 	    [F_VCC_ADCPOLEN] = REG_FIELD(VCC_UCD_SET, 4, 4),
572*4882a593Smuzhiyun 	    [F_VCC_DCDMODE] = REG_FIELD(VCC_UCD_SET, 3, 3),
573*4882a593Smuzhiyun 	    [F_VCC_USB_SW_EN] = REG_FIELD(VCC_UCD_SET, 1, 1),
574*4882a593Smuzhiyun 	    [F_VCC_USB_SW] = REG_FIELD(VCC_UCD_SET, 0, 0),
575*4882a593Smuzhiyun 	    [F_VCC_DCDFAIL] = REG_FIELD(VCC_UCD_STATUS, 15, 15),
576*4882a593Smuzhiyun 	    [F_VCC_CHGPORT] = REG_FIELD(VCC_UCD_STATUS, 12, 13),
577*4882a593Smuzhiyun 	    [F_VCC_PUPDET] = REG_FIELD(VCC_UCD_STATUS, 11, 11),
578*4882a593Smuzhiyun 	    [F_VCC_VBUS_VLD] = REG_FIELD(VCC_UCD_STATUS, 7, 7),
579*4882a593Smuzhiyun 	    [F_VCC_CHGDET] = REG_FIELD(VCC_UCD_STATUS, 6, 6),
580*4882a593Smuzhiyun 	    [F_VCC_OTGDET] = REG_FIELD(VCC_UCD_STATUS, 3, 3),
581*4882a593Smuzhiyun 	    [F_VCC_VBINOP] = REG_FIELD(VCC_IDD_STATUS, 6, 6),
582*4882a593Smuzhiyun 	    [F_VCC_EXTID] = REG_FIELD(VCC_IDD_STATUS, 5, 5),
583*4882a593Smuzhiyun 	    [F_VCC_IDRDET] = REG_FIELD(VCC_IDD_STATUS, 4, 4),
584*4882a593Smuzhiyun 	    [F_VCC_INDO] = REG_FIELD(VCC_IDD_STATUS, 0, 3),
585*4882a593Smuzhiyun 	    [F_VCC_UCDSWEN] = REG_FIELD(VCC_UCD_FCTRL_SET, 10, 10),
586*4882a593Smuzhiyun 	    [F_VCC_RREF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 9, 9),
587*4882a593Smuzhiyun 	    [F_VCC_DPPU_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 8, 8),
588*4882a593Smuzhiyun 	    [F_VCC_DPREF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 7, 7),
589*4882a593Smuzhiyun 	    [F_VCC_DMREF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 6, 6),
590*4882a593Smuzhiyun 	    [F_VCC_DPDET_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 5, 5),
591*4882a593Smuzhiyun 	    [F_VCC_DMDET_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 4, 4),
592*4882a593Smuzhiyun 	    [F_VCC_DPSINK_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 3, 3),
593*4882a593Smuzhiyun 	    [F_VCC_DMSINK_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 2, 2),
594*4882a593Smuzhiyun 	    [F_VCC_DP_BUFF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 1, 1),
595*4882a593Smuzhiyun 	    [F_VCC_DM_BUFF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 0, 0),
596*4882a593Smuzhiyun 	    [F_VCC_EXTCLKENBL] = REG_FIELD(VCC_UCD_FCTRL_EN, 15, 15),
597*4882a593Smuzhiyun 	    [F_VCC_PLSTESTEN] = REG_FIELD(VCC_UCD_FCTRL_EN, 14, 14),
598*4882a593Smuzhiyun 	    [F_VCC_UCDSWEN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 10, 10),
599*4882a593Smuzhiyun 	    [F_VCC_RREF_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 9, 9),
600*4882a593Smuzhiyun 	    [F_VCC_DPPU_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 8, 8),
601*4882a593Smuzhiyun 	    [F_VCC_DPREF_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 7, 7),
602*4882a593Smuzhiyun 	    [F_VCC_DMREF_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 6, 6),
603*4882a593Smuzhiyun 	    [F_VCC_DPDET_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 5, 5),
604*4882a593Smuzhiyun 	    [F_VCC_DMDET_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 4, 4),
605*4882a593Smuzhiyun 	    [F_VCC_DPSINK_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 3, 3),
606*4882a593Smuzhiyun 	    [F_VCC_DMSINK_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 2, 2),
607*4882a593Smuzhiyun 	    [F_VCC_DP_BUFF_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 1, 1),
608*4882a593Smuzhiyun 	    [F_VCC_DM_BUFF_EN_TSTENB] = REG_FIELD(VCC_UCD_FCTRL_EN, 0, 0),
609*4882a593Smuzhiyun 
610*4882a593Smuzhiyun 	    [F_VBUS_BCSRETRY] = REG_FIELD(VBUS_UCD_SET, 12, 12),
611*4882a593Smuzhiyun 	    [F_VBUS_ADCRTRY] = REG_FIELD(VBUS_UCD_SET, 8, 8),
612*4882a593Smuzhiyun 	    [F_VBUS_USBDETEN] = REG_FIELD(VBUS_UCD_SET, 7, 7),
613*4882a593Smuzhiyun 	    [F_VBUS_IDRDETEN] = REG_FIELD(VBUS_UCD_SET, 6, 6),
614*4882a593Smuzhiyun 	    [F_VBUS_ENUMRDY] = REG_FIELD(VBUS_UCD_SET, 5, 5),
615*4882a593Smuzhiyun 	    [F_VBUS_ADCPOLEN] = REG_FIELD(VBUS_UCD_SET, 4, 4),
616*4882a593Smuzhiyun 	    [F_VBUS_DCDMODE] = REG_FIELD(VBUS_UCD_SET, 3, 3),
617*4882a593Smuzhiyun 	    [F_VBUS_USB_SW_EN] = REG_FIELD(VBUS_UCD_SET, 1, 1),
618*4882a593Smuzhiyun 	    [F_VBUS_USB_SW] = REG_FIELD(VBUS_UCD_SET, 0, 0),
619*4882a593Smuzhiyun 	    [F_VBUS_DCDFAIL] = REG_FIELD(VBUS_UCD_STATUS, 15, 15),
620*4882a593Smuzhiyun 	    [F_VBUS_CHGPORT] = REG_FIELD(VBUS_UCD_STATUS, 12, 13),
621*4882a593Smuzhiyun 	    [F_VBUS_PUPDET] = REG_FIELD(VBUS_UCD_STATUS, 11, 11),
622*4882a593Smuzhiyun 	    [F_VBUS_VBUS_VLD] = REG_FIELD(VBUS_UCD_STATUS, 7, 7),
623*4882a593Smuzhiyun 	    [F_VBUS_CHGDET] = REG_FIELD(VBUS_UCD_STATUS, 6, 6),
624*4882a593Smuzhiyun 	    [F_VBUS_OTGDET] = REG_FIELD(VBUS_UCD_STATUS, 3, 3),
625*4882a593Smuzhiyun 	    [F_VBUS_VBINOP] = REG_FIELD(VBUS_IDD_STATUS, 6, 6),
626*4882a593Smuzhiyun 	    [F_VBUS_EXTID] = REG_FIELD(VBUS_IDD_STATUS, 5, 5),
627*4882a593Smuzhiyun 	    [F_VBUS_IDRDET] = REG_FIELD(VBUS_IDD_STATUS, 4, 4),
628*4882a593Smuzhiyun 	    [F_VBUS_INDO] = REG_FIELD(VBUS_IDD_STATUS, 0, 3),
629*4882a593Smuzhiyun 	    [F_VBUS_UCDSWEN] = REG_FIELD(VCC_UCD_FCTRL_SET, 10, 10),
630*4882a593Smuzhiyun 	    [F_VBUS_RREF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 9, 9),
631*4882a593Smuzhiyun 	    [F_VBUS_DPPU_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 8, 8),
632*4882a593Smuzhiyun 	    [F_VBUS_DPREF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 7, 7),
633*4882a593Smuzhiyun 	    [F_VBUS_DMREF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 6, 6),
634*4882a593Smuzhiyun 	    [F_VBUS_DPDET_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 5, 5),
635*4882a593Smuzhiyun 	    [F_VBUS_DMDET_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 4, 4),
636*4882a593Smuzhiyun 	    [F_VBUS_DPSINK_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 3, 3),
637*4882a593Smuzhiyun 	    [F_VBUS_DMSINK_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 2, 2),
638*4882a593Smuzhiyun 	    [F_VBUS_DP_BUFF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 1, 1),
639*4882a593Smuzhiyun 	    [F_VBUS_DM_BUFF_EN] = REG_FIELD(VCC_UCD_FCTRL_SET, 0, 0),
640*4882a593Smuzhiyun 
641*4882a593Smuzhiyun 	    [F_VBUS_EXTCLKENBL] = REG_FIELD(VBUS_UCD_FCTRL_EN, 15, 15),
642*4882a593Smuzhiyun 	    [F_VBUS_PLSTESTEN] = REG_FIELD(VBUS_UCD_FCTRL_EN, 14, 14),
643*4882a593Smuzhiyun 	    [F_VBUS_UCDSWEN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 10, 10),
644*4882a593Smuzhiyun 	    [F_VBUS_RREF_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 9, 9),
645*4882a593Smuzhiyun 	    [F_VBUS_DPPU_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 8, 8),
646*4882a593Smuzhiyun 	    [F_VBUS_DPREF_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 7, 7),
647*4882a593Smuzhiyun 	    [F_VBUS_DMREF_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 6, 6),
648*4882a593Smuzhiyun 	    [F_VBUS_DPDET_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 5, 5),
649*4882a593Smuzhiyun 	    [F_VBUS_DMDET_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 4, 4),
650*4882a593Smuzhiyun 	    [F_VBUS_DPSINK_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 3, 3),
651*4882a593Smuzhiyun 	    [F_VBUS_DMSINK_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 2, 2),
652*4882a593Smuzhiyun 	    [F_VBUS_DP_BUFF_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 1, 1),
653*4882a593Smuzhiyun 	    [F_VBUS_DM_BUFF_EN_TSTENB] = REG_FIELD(VBUS_UCD_FCTRL_EN, 0, 0),
654*4882a593Smuzhiyun 
655*4882a593Smuzhiyun 	    [F_CHIP_ID] = REG_FIELD(CHIP_ID, 0, 15),
656*4882a593Smuzhiyun 	    [F_CHIP_REV] = REG_FIELD(CHIP_REV, 0, 15),
657*4882a593Smuzhiyun 	    [F_ONE_CELL_MODE] = REG_FIELD(IC_SET1, 11, 11),
658*4882a593Smuzhiyun 	    [F_cell] = REG_FIELD(IC_SET1, 1, 1),
659*4882a593Smuzhiyun 	    [F_VACP_AUTO_DISCHG] = REG_FIELD(IC_SET1, 9, 9),
660*4882a593Smuzhiyun 	    [F_VACP_LOAD] = REG_FIELD(IC_SET1, 8, 8),
661*4882a593Smuzhiyun 	    [F_ACOK_POL] = REG_FIELD(IC_SET1, 1, 1),
662*4882a593Smuzhiyun 	    [F_ACOK_DISEN] = REG_FIELD(IC_SET1, 0, 0),
663*4882a593Smuzhiyun 	    [F_DEBUG_SET1] = REG_FIELD(IC_SET2, 4, 8),
664*4882a593Smuzhiyun 	    [F_DEBUG_SET0] = REG_FIELD(IC_SET2, 0, 0),
665*4882a593Smuzhiyun 	    [F_MONRST_STATE] = REG_FIELD(SYSTEM_STATUS, 6, 6),
666*4882a593Smuzhiyun 	    [F_ALMRST_STATE] = REG_FIELD(SYSTEM_STATUS, 5, 5),
667*4882a593Smuzhiyun 	    [F_CHGRST_STATE] = REG_FIELD(SYSTEM_STATUS, 4, 4),
668*4882a593Smuzhiyun 	    [F_OTPLD_STATE] = REG_FIELD(SYSTEM_STATUS, 1, 1),
669*4882a593Smuzhiyun 	    [F_ALLRST_STATE] = REG_FIELD(SYSTEM_STATUS, 0, 0),
670*4882a593Smuzhiyun 	    [F_PROTECT_SET] = REG_FIELD(PROTECT_SET, 0, 15),
671*4882a593Smuzhiyun 	    [F_MAP_SET] = REG_FIELD(MAP_SET, 0, 15),
672*4882a593Smuzhiyun 	    [F_ADCINTERVAL] = REG_FIELD(VM_CTRL_SET, 14, 15),
673*4882a593Smuzhiyun 	    [F_ADCMOD] = REG_FIELD(VM_CTRL_SET, 12, 13),
674*4882a593Smuzhiyun 	    [F_ADCTMOD] = REG_FIELD(VM_CTRL_SET, 10, 11),
675*4882a593Smuzhiyun 	    [F_EXTIADPEN] = REG_FIELD(VM_CTRL_SET, 9, 9),
676*4882a593Smuzhiyun 	    [F_VSYSENB] = REG_FIELD(VM_CTRL_SET, 8, 8),
677*4882a593Smuzhiyun 	    [F_VCCENB] = REG_FIELD(VM_CTRL_SET, 7, 7),
678*4882a593Smuzhiyun 	    [F_VBUSENB] = REG_FIELD(VM_CTRL_SET, 6, 6),
679*4882a593Smuzhiyun 	    [F_VACPENB] = REG_FIELD(VM_CTRL_SET, 5, 5),
680*4882a593Smuzhiyun 	    [F_IACPENB] = REG_FIELD(VM_CTRL_SET, 4, 4),
681*4882a593Smuzhiyun 	    [F_THERMENB] = REG_FIELD(VM_CTRL_SET, 3, 3),
682*4882a593Smuzhiyun 	    [F_VBATENB] = REG_FIELD(VM_CTRL_SET, 2, 2),
683*4882a593Smuzhiyun 	    [F_IBATMENB] = REG_FIELD(VM_CTRL_SET, 1, 1),
684*4882a593Smuzhiyun 	    [F_IBATPENB] = REG_FIELD(VM_CTRL_SET, 0, 0),
685*4882a593Smuzhiyun 	    [F_TMPTHR1B] = REG_FIELD(THERM_WINDOW_SET1, 8, 15),
686*4882a593Smuzhiyun 	    [F_TMPTHR1A] = REG_FIELD(THERM_WINDOW_SET1, 0, 7),
687*4882a593Smuzhiyun 	    [F_TMPTHR2B] = REG_FIELD(THERM_WINDOW_SET2, 8, 15),
688*4882a593Smuzhiyun 	    [F_TMPTHR2A] = REG_FIELD(THERM_WINDOW_SET2, 0, 7),
689*4882a593Smuzhiyun 	    [F_TMPTHR3B] = REG_FIELD(THERM_WINDOW_SET3, 8, 15),
690*4882a593Smuzhiyun 	    [F_TMPTHR3A] = REG_FIELD(THERM_WINDOW_SET3, 0, 7),
691*4882a593Smuzhiyun 	    [F_TMPTHR4B] = REG_FIELD(THERM_WINDOW_SET4, 8, 15),
692*4882a593Smuzhiyun 	    [F_TMPTHR4A] = REG_FIELD(THERM_WINDOW_SET4, 0, 7),
693*4882a593Smuzhiyun 	    [F_TMPTHR5B] = REG_FIELD(THERM_WINDOW_SET5, 8, 15),
694*4882a593Smuzhiyun 	    [F_TMPTHR5A] = REG_FIELD(THERM_WINDOW_SET5, 0, 7),
695*4882a593Smuzhiyun 	    [F_IBATP_TH_SET] = REG_FIELD(IBATP_TH_SET, 0, 14),
696*4882a593Smuzhiyun 	    [F_IBATM_TH_SET] = REG_FIELD(IBATM_TH_SET, 0, 14),
697*4882a593Smuzhiyun 	    [F_VBAT_TH_SET] = REG_FIELD(VBAT_TH_SET, 0, 14),
698*4882a593Smuzhiyun 	    [F_THERM_TH_SET] = REG_FIELD(THERM_TH_SET, 0, 7),
699*4882a593Smuzhiyun 	    [F_IACP_TH_SET] = REG_FIELD(IACP_TH_SET, 0, 14),
700*4882a593Smuzhiyun 	    [F_VACP_TH_SET] = REG_FIELD(VACP_TH_SET, 0, 14),
701*4882a593Smuzhiyun 	    [F_VBUS_TH_SET] = REG_FIELD(VBUS_TH_SET, 0, 14),
702*4882a593Smuzhiyun 	    [F_VCC_TH_SET] = REG_FIELD(VCC_TH_SET, 0, 14),
703*4882a593Smuzhiyun 	    [F_VSYS_TH_SET] = REG_FIELD(VSYS_TH_SET, 0, 14),
704*4882a593Smuzhiyun 	    [F_EXTIADP_TH_SET] = REG_FIELD(EXTIADP_TH_SET, 0, 11),
705*4882a593Smuzhiyun 	    [F_IBATP_VAL] = REG_FIELD(IBATP_VAL, 0, 14),
706*4882a593Smuzhiyun 	    [F_IBATP_AVE_VAL] = REG_FIELD(IBATP_AVE_VAL, 0, 14),
707*4882a593Smuzhiyun 	    [F_IBATM_VAL] = REG_FIELD(IBATM_VAL, 0, 14),
708*4882a593Smuzhiyun 	    [F_IBATM_AVE_VAL] = REG_FIELD(IBATM_AVE_VAL, 0, 14),
709*4882a593Smuzhiyun 	    [F_VBAT_VAL] = REG_FIELD(VBAT_VAL, 0, 14),
710*4882a593Smuzhiyun 	    [F_VBAT_AVE_VAL] = REG_FIELD(VBAT_AVE_VAL, 0, 14),
711*4882a593Smuzhiyun 	    [F_THERM_VAL] = REG_FIELD(THERM_VAL, 0, 7),
712*4882a593Smuzhiyun 	    [F_VTH_VAL] = REG_FIELD(VTH_VAL, 0, 11),
713*4882a593Smuzhiyun 	    [F_IACP_VAL] = REG_FIELD(IACP_VAL, 0, 14),
714*4882a593Smuzhiyun 	    [F_IACP_AVE_VAL] = REG_FIELD(IACP_AVE_VAL, 0, 14),
715*4882a593Smuzhiyun 	    [F_VACP_VAL] = REG_FIELD(VACP_VAL, 0, 14),
716*4882a593Smuzhiyun 	    [F_VACP_AVE_VAL] = REG_FIELD(VACP_AVE_VAL, 0, 14),
717*4882a593Smuzhiyun 	    [F_VBUS_VAL] = REG_FIELD(VBUS_VAL, 0, 14),
718*4882a593Smuzhiyun 	    [F_VBUS_AVE_VAL] = REG_FIELD(VBUS_AVE_VAL, 0, 14),
719*4882a593Smuzhiyun 	    [F_VCC_VAL] = REG_FIELD(VCC_VAL, 0, 14),
720*4882a593Smuzhiyun 	    [F_VCC_AVE_VAL] = REG_FIELD(VCC_AVE_VAL, 0, 14),
721*4882a593Smuzhiyun 	    [F_VSYS_VAL] = REG_FIELD(VSYS_VAL, 0, 14),
722*4882a593Smuzhiyun 	    [F_VSYS_AVE_VAL] = REG_FIELD(VSYS_AVE_VAL, 0, 14),
723*4882a593Smuzhiyun 	    [F_EXTIADP_VAL] = REG_FIELD(EXTIADP_VAL, 0, 11),
724*4882a593Smuzhiyun 	    [F_EXTIADP_AVE_VAL] = REG_FIELD(EXTIADP_AVE_VAL, 0, 11),
725*4882a593Smuzhiyun 	    [F_VACPCLPS_TH_SET] = REG_FIELD(VACPCLPS_TH_SET, 7, 14),
726*4882a593Smuzhiyun 	    [F_INT7_SET] = REG_FIELD(INT7_SET, 0, 15),
727*4882a593Smuzhiyun 	    [F_INT6_SET] = REG_FIELD(INT6_SET, 0, 13),
728*4882a593Smuzhiyun 	    [F_INT5_SET] = REG_FIELD(INT5_SET, 0, 13),
729*4882a593Smuzhiyun 	    [F_INT4_SET] = REG_FIELD(INT4_SET, 0, 9),
730*4882a593Smuzhiyun 	    [F_INT3_SET] = REG_FIELD(INT3_SET, 0, 15),
731*4882a593Smuzhiyun 	    [F_INT2_SET] = REG_FIELD(INT2_SET, 0, 15),
732*4882a593Smuzhiyun 	    [F_INT1_SET] = REG_FIELD(INT1_SET, 0, 15),
733*4882a593Smuzhiyun 	    [F_INT0_SET] = REG_FIELD(INT0_SET, 0, 7),
734*4882a593Smuzhiyun 	    [F_VBUS_RBUV_DET] = REG_FIELD(INT1_SET, 15, 15),
735*4882a593Smuzhiyun 	    [F_VBUS_RBUV_RES] = REG_FIELD(INT1_SET, 14, 14),
736*4882a593Smuzhiyun 	    [F_VBUS_TH_DET] = REG_FIELD(INT1_SET, 9, 9),
737*4882a593Smuzhiyun 	    [F_VBUS_TH_RES] = REG_FIELD(INT1_SET, 8, 8),
738*4882a593Smuzhiyun 	    [F_VBUS_IIN_MOD] = REG_FIELD(INT1_SET, 6, 6),
739*4882a593Smuzhiyun 	    [F_VBUS_OV_DET] = REG_FIELD(INT1_SET, 5, 5),
740*4882a593Smuzhiyun 	    [F_VBUS_OV_RES] = REG_FIELD(INT1_SET, 4, 4),
741*4882a593Smuzhiyun 	    [F_VBUS_CLPS_DET] = REG_FIELD(INT1_SET, 3, 3),
742*4882a593Smuzhiyun 	    [F_VBUS_CLPS] = REG_FIELD(INT1_SET, 2, 2),
743*4882a593Smuzhiyun 	    [F_VBUS_DET] = REG_FIELD(INT1_SET, 1, 1),
744*4882a593Smuzhiyun 	    [F_VBUS_RES] = REG_FIELD(INT1_SET, 0, 0),
745*4882a593Smuzhiyun 	    [F_VCC_RBUV_DET] = REG_FIELD(INT2_SET, 15, 15),
746*4882a593Smuzhiyun 	    [F_VCC_RBUV_RES] = REG_FIELD(INT2_SET, 14, 14),
747*4882a593Smuzhiyun 	    [F_VCC_TH_DET] = REG_FIELD(INT2_SET, 9, 9),
748*4882a593Smuzhiyun 	    [F_VCC_TH_RES] = REG_FIELD(INT2_SET, 8, 8),
749*4882a593Smuzhiyun 	    [F_VCC_IIN_MOD] = REG_FIELD(INT2_SET, 6, 6),
750*4882a593Smuzhiyun 	    [F_VCC_OVP_DET] = REG_FIELD(INT2_SET, 5, 5),
751*4882a593Smuzhiyun 	    [F_VCC_OVP_RES] = REG_FIELD(INT2_SET, 4, 4),
752*4882a593Smuzhiyun 	    [F_VCC_CLPS_DET] = REG_FIELD(INT2_SET, 3, 3),
753*4882a593Smuzhiyun 	    [F_VCC_CLPS_RES] = REG_FIELD(INT2_SET, 2, 2),
754*4882a593Smuzhiyun 	    [F_VCC_DET] = REG_FIELD(INT2_SET, 1, 1),
755*4882a593Smuzhiyun 	    [F_VCC_RES] = REG_FIELD(INT2_SET, 0, 0),
756*4882a593Smuzhiyun 	    [F_TH_DET] = REG_FIELD(INT3_SET, 15, 15),
757*4882a593Smuzhiyun 	    [F_TH_RMV] = REG_FIELD(INT3_SET, 14, 14),
758*4882a593Smuzhiyun 	    [F_TMP_OUT_DET] = REG_FIELD(INT3_SET, 11, 11),
759*4882a593Smuzhiyun 	    [F_TMP_OUT_RES] = REG_FIELD(INT3_SET, 10, 10),
760*4882a593Smuzhiyun 	    [F_VBAT_TH_DET] = REG_FIELD(INT3_SET, 9, 9),
761*4882a593Smuzhiyun 	    [F_VBAT_TH_RES] = REG_FIELD(INT3_SET, 8, 8),
762*4882a593Smuzhiyun 	    [F_IBAT_SHORT_DET] = REG_FIELD(INT3_SET, 7, 7),
763*4882a593Smuzhiyun 	    [F_IBAT_SHORT_RES] = REG_FIELD(INT3_SET, 6, 6),
764*4882a593Smuzhiyun 	    [F_VBAT_OV_DET] = REG_FIELD(INT3_SET, 5, 5),
765*4882a593Smuzhiyun 	    [F_VBAT_OV_RES] = REG_FIELD(INT3_SET, 4, 4),
766*4882a593Smuzhiyun 	    [F_BAT_ASSIST_DET] = REG_FIELD(INT3_SET, 3, 3),
767*4882a593Smuzhiyun 	    [F_BAT_ASSIST_RES] = REG_FIELD(INT3_SET, 2, 2),
768*4882a593Smuzhiyun 	    [F_VSYS_TH_DET] = REG_FIELD(INT4_SET, 9, 9),
769*4882a593Smuzhiyun 	    [F_VSYS_TH_RES] = REG_FIELD(INT4_SET, 8, 8),
770*4882a593Smuzhiyun 	    [F_VSYS_OV_DET] = REG_FIELD(INT4_SET, 5, 5),
771*4882a593Smuzhiyun 	    [F_VSYS_OV_RES] = REG_FIELD(INT4_SET, 4, 4),
772*4882a593Smuzhiyun 	    [F_VSYS_SHT_DET] = REG_FIELD(INT4_SET, 3, 3),
773*4882a593Smuzhiyun 	    [F_VSYS_SHT_RES] = REG_FIELD(INT4_SET, 2, 2),
774*4882a593Smuzhiyun 	    [F_VSYS_UV_DET] = REG_FIELD(INT4_SET, 1, 1),
775*4882a593Smuzhiyun 	    [F_VSYS_UV_RES] = REG_FIELD(INT4_SET, 0, 0),
776*4882a593Smuzhiyun 	    [F_OTP_LOAD_DONE] = REG_FIELD(INT5_SET, 13, 13),
777*4882a593Smuzhiyun 	    [F_PWR_ON] = REG_FIELD(INT5_SET, 12, 12),
778*4882a593Smuzhiyun 	    [F_EXTIADP_TRNS] = REG_FIELD(INT5_SET, 11, 11),
779*4882a593Smuzhiyun 	    [F_EXTIADP_TH_DET] = REG_FIELD(INT5_SET, 9, 9),
780*4882a593Smuzhiyun 	    [F_EXIADP_TH_RES] = REG_FIELD(INT5_SET, 8, 8),
781*4882a593Smuzhiyun 	    [F_BAT_MNT_DET] = REG_FIELD(INT5_SET, 7, 7),
782*4882a593Smuzhiyun 	    [F_BAT_MNT_RES] = REG_FIELD(INT5_SET, 6, 6),
783*4882a593Smuzhiyun 	    [F_TSD_DET] = REG_FIELD(INT5_SET, 5, 5),
784*4882a593Smuzhiyun 	    [F_TSD_RES] = REG_FIELD(INT5_SET, 4, 4),
785*4882a593Smuzhiyun 	    [F_CHGWDT_EXP] = REG_FIELD(INT5_SET, 3, 3),
786*4882a593Smuzhiyun 	    [F_THERMWDT_EXP] = REG_FIELD(INT5_SET, 2, 2),
787*4882a593Smuzhiyun 	    [F_TMP_TRNS] = REG_FIELD(INT5_SET, 1, 1),
788*4882a593Smuzhiyun 	    [F_CHG_TRNS] = REG_FIELD(INT5_SET, 0, 0),
789*4882a593Smuzhiyun 	    [F_VBUS_UCD_PORT_DET] = REG_FIELD(INT6_SET, 13, 13),
790*4882a593Smuzhiyun 	    [F_VBUS_UCD_UCHG_DET] = REG_FIELD(INT6_SET, 12, 12),
791*4882a593Smuzhiyun 	    [F_VBUS_UCD_URID_RMV] = REG_FIELD(INT6_SET, 11, 11),
792*4882a593Smuzhiyun 	    [F_VBUS_UCD_OTG_DET] = REG_FIELD(INT6_SET, 10, 10),
793*4882a593Smuzhiyun 	    [F_VBUS_UCD_URID_MOD] = REG_FIELD(INT6_SET, 8, 8),
794*4882a593Smuzhiyun 	    [F_VCC_UCD_PORT_DET] = REG_FIELD(INT6_SET, 5, 5),
795*4882a593Smuzhiyun 	    [F_VCC_UCD_UCHG_DET] = REG_FIELD(INT6_SET, 4, 4),
796*4882a593Smuzhiyun 	    [F_VCC_UCD_URID_RMV] = REG_FIELD(INT6_SET, 3, 3),
797*4882a593Smuzhiyun 	    [F_VCC_UCD_OTG_DET] = REG_FIELD(INT6_SET, 2, 2),
798*4882a593Smuzhiyun 	    [F_VCC_UCD_URID_MOD] = REG_FIELD(INT6_SET, 0, 0),
799*4882a593Smuzhiyun 	    [F_PROCHOT_DET] = REG_FIELD(INT7_SET, 15, 15),
800*4882a593Smuzhiyun 	    [F_PROCHOT_RES] = REG_FIELD(INT7_SET, 14, 14),
801*4882a593Smuzhiyun 	    [F_VACP_DET] = REG_FIELD(INT7_SET, 11, 11),
802*4882a593Smuzhiyun 	    [F_VACP_RES] = REG_FIELD(INT7_SET, 10, 10),
803*4882a593Smuzhiyun 	    [F_VACP_TH_DET] = REG_FIELD(INT7_SET, 9, 9),
804*4882a593Smuzhiyun 	    [F_VACP_TH_RES] = REG_FIELD(INT7_SET, 8, 8),
805*4882a593Smuzhiyun 	    [F_IACP_TH_DET] = REG_FIELD(INT7_SET, 7, 7),
806*4882a593Smuzhiyun 	    [F_IACP_THE_RES] = REG_FIELD(INT7_SET, 6, 6),
807*4882a593Smuzhiyun 	    [F_THERM_TH_DET] = REG_FIELD(INT7_SET, 5, 5),
808*4882a593Smuzhiyun 	    [F_THERM_TH_RES] = REG_FIELD(INT7_SET, 4, 4),
809*4882a593Smuzhiyun 	    [F_IBATM_TH_DET] = REG_FIELD(INT7_SET, 3, 3),
810*4882a593Smuzhiyun 	    [F_IBATM_TH_RES] = REG_FIELD(INT7_SET, 2, 2),
811*4882a593Smuzhiyun 	    [F_IBATP_TH_DET] = REG_FIELD(INT7_SET, 1, 1),
812*4882a593Smuzhiyun 	    [F_IBATP_TH_RES] = REG_FIELD(INT7_SET, 0, 0),
813*4882a593Smuzhiyun 	    [F_INT7_STATUS] = REG_FIELD(INT7_STATUS, 0, 15),
814*4882a593Smuzhiyun 	    [F_INT6_STATUS] = REG_FIELD(INT6_STATUS, 0, 13),
815*4882a593Smuzhiyun 	    [F_INT5_STATUS] = REG_FIELD(INT5_STATUS, 0, 13),
816*4882a593Smuzhiyun 	    [F_INT4_STATUS] = REG_FIELD(INT4_STATUS, 0, 9),
817*4882a593Smuzhiyun 	    [F_INT3_STATUS] = REG_FIELD(INT3_STATUS, 0, 15),
818*4882a593Smuzhiyun 	    [F_INT2_STATUS] = REG_FIELD(INT2_STATUS, 0, 15),
819*4882a593Smuzhiyun 	    [F_INT1_STATUS] = REG_FIELD(INT1_STATUS, 0, 15),
820*4882a593Smuzhiyun 	    [F_INT0_STATUS] = REG_FIELD(INT0_STATUS, 0, 7),
821*4882a593Smuzhiyun 	    [F_ILIM_DECREASE] = REG_FIELD(OTPREG0, 0, 15),
822*4882a593Smuzhiyun 	    [F_RESERVE_OTPREG1] = REG_FIELD(OTPREG1, 0, 15),
823*4882a593Smuzhiyun 	    [F_POWER_SAVE_MODE] = REG_FIELD(SMBREG, 0, 15),
824*4882a593Smuzhiyun 	    [F_DEBUG_MODE_SET] = REG_FIELD(DEBUG_MODE_SET, 0, 15),
825*4882a593Smuzhiyun 	    [F_DEBUG0x14] = REG_FIELD(DEBUG0x14, 0, 15),
826*4882a593Smuzhiyun 	    [F_DEBUG0x1A] = REG_FIELD(DEBUG0x1A, 0, 15),
827*4882a593Smuzhiyun };
828*4882a593Smuzhiyun 
829*4882a593Smuzhiyun /* CHGSTM_STATEs */
830*4882a593Smuzhiyun #define CHGSTM_SUSPEND 0x00
831*4882a593Smuzhiyun #define CHGSTM_TRICKLE_CHARGE 0x01
832*4882a593Smuzhiyun #define CHGSTM_PRE_CHARGE 0x02
833*4882a593Smuzhiyun #define CHGSTM_FAST_CHARGE 0x03
834*4882a593Smuzhiyun #define CHGSTM_TOP_OFF 0x04
835*4882a593Smuzhiyun #define CHGSTM_DONE 0x05
836*4882a593Smuzhiyun #define CHGSTM_OTG 0x08
837*4882a593Smuzhiyun #define CHGSTM_OTG_DONE 0x09
838*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_1 0x10
839*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_2 0x11
840*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_3 0x12
841*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_4 0x13
842*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_5 0x14
843*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_6 0x15
844*4882a593Smuzhiyun #define CHGSTM_TEMPERATURE_ERROR_7 0x18
845*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_1 0x20
846*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_2 0x21
847*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_3 0x22
848*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_4 0x23
849*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_5 0x24
850*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_6 0x25
851*4882a593Smuzhiyun #define CHGSTM_THERMAL_SHUT_DOWN_7 0x28
852*4882a593Smuzhiyun #define CHGSTM_BATTERY_ERROR 0x40
853*4882a593Smuzhiyun 
854*4882a593Smuzhiyun /* VBAT_VSYS_STATUS */
855*4882a593Smuzhiyun #define STATUS_VSYS_OV BIT(15)
856*4882a593Smuzhiyun #define STATUS_VSYS_SSD BIT(14)
857*4882a593Smuzhiyun #define STATUS_VSYS_SCP BIT(13)
858*4882a593Smuzhiyun #define STATUS_VSYS_UVN BIT(12)
859*4882a593Smuzhiyun #define STATUS_IBAT_SHORT BIT(6)
860*4882a593Smuzhiyun #define STATUS_VBAT_OV BIT(3)
861*4882a593Smuzhiyun #define STATUS_DEAD_BAT BIT(0)
862*4882a593Smuzhiyun 
863*4882a593Smuzhiyun /* VBUS_VCC_STATUS */
864*4882a593Smuzhiyun #define STATUS_VACP_DET BIT(12)
865*4882a593Smuzhiyun #define STATUS_VCC_OVP BIT(11)
866*4882a593Smuzhiyun #define STATUS_ILIM_VCC_MOD BIT(10)
867*4882a593Smuzhiyun #define STATUS_VCC_CLPS BIT(9)
868*4882a593Smuzhiyun #define STATUS_VCC_DET BIT(8)
869*4882a593Smuzhiyun #define STATUS_VBUS_OVP BIT(3)
870*4882a593Smuzhiyun #define STATUS_ILIM_VBUS_MOD BIT(2)
871*4882a593Smuzhiyun #define STATUS_VBUS_CLPS BIT(1)
872*4882a593Smuzhiyun #define STATUS_VBUS_DET BIT(0)
873*4882a593Smuzhiyun 
874*4882a593Smuzhiyun /* Interrupt set/status definitions */
875*4882a593Smuzhiyun 
876*4882a593Smuzhiyun /* INT 0 */
877*4882a593Smuzhiyun #define INT0_INT7_STATUS BIT(7)
878*4882a593Smuzhiyun #define INT0_INT6_STATUS BIT(6)
879*4882a593Smuzhiyun #define INT0_INT5_STATUS BIT(5)
880*4882a593Smuzhiyun #define INT0_INT4_STATUS BIT(4)
881*4882a593Smuzhiyun #define INT0_INT3_STATUS BIT(3)
882*4882a593Smuzhiyun #define INT0_INT2_STATUS BIT(2)
883*4882a593Smuzhiyun #define INT0_INT1_STATUS BIT(1)
884*4882a593Smuzhiyun #define INT0_INT0_STATUS BIT(0)
885*4882a593Smuzhiyun #define INT0_ALL 0xff
886*4882a593Smuzhiyun 
887*4882a593Smuzhiyun /* INT 1 */
888*4882a593Smuzhiyun #define VBUS_RBUV_DET BIT(15)
889*4882a593Smuzhiyun #define VBUS_RBUV_RES BIT(14)
890*4882a593Smuzhiyun #define VBUS_TH_DET BIT(9)
891*4882a593Smuzhiyun #define VBUS_TH_RES BIT(8)
892*4882a593Smuzhiyun #define VBUS_IIN_MOD BIT(6)
893*4882a593Smuzhiyun #define VBUS_OV_DET BIT(5)
894*4882a593Smuzhiyun #define VBUS_OV_RES BIT(4)
895*4882a593Smuzhiyun #define VBUS_CLPS_DET BIT(3)
896*4882a593Smuzhiyun #define VBUS_CLPS BIT(2)
897*4882a593Smuzhiyun #define VBUS_DET BIT(1)
898*4882a593Smuzhiyun #define VBUS_RES BIT(0)
899*4882a593Smuzhiyun #define INT1_ALL (VBUS_RBUV_DET|\
900*4882a593Smuzhiyun 		 VBUS_RBUV_RES|\
901*4882a593Smuzhiyun 		 VBUS_TH_DET |\
902*4882a593Smuzhiyun 		 VBUS_TH_RES |\
903*4882a593Smuzhiyun 		 VBUS_IIN_MOD|\
904*4882a593Smuzhiyun 		 VBUS_OV_DET |\
905*4882a593Smuzhiyun 		 VBUS_OV_RES |\
906*4882a593Smuzhiyun 		 VBUS_CLPS_DET |\
907*4882a593Smuzhiyun 		 VBUS_CLPS |\
908*4882a593Smuzhiyun 		 VBUS_DET |\
909*4882a593Smuzhiyun 		 VBUS_RES)
910*4882a593Smuzhiyun 
911*4882a593Smuzhiyun /* INT 2 */
912*4882a593Smuzhiyun #define VCC_RBUV_DET BIT(15)
913*4882a593Smuzhiyun #define VCC_RBUV_RES BIT(14)
914*4882a593Smuzhiyun #define VCC_TH_DET BIT(9)
915*4882a593Smuzhiyun #define VCC_TH_RES BIT(8)
916*4882a593Smuzhiyun #define VCC_IIN_MOD BIT(6)
917*4882a593Smuzhiyun #define VCC_OVP_DET BIT(5)
918*4882a593Smuzhiyun #define VCC_OVP_RES BIT(4)
919*4882a593Smuzhiyun #define VCC_CLPS_DET BIT(3)
920*4882a593Smuzhiyun #define VCC_CLPS_RES BIT(2)
921*4882a593Smuzhiyun #define VCC_DET BIT(1)
922*4882a593Smuzhiyun #define VCC_RES BIT(0)
923*4882a593Smuzhiyun #define INT2_ALL (VCC_RBUV_DET |\
924*4882a593Smuzhiyun 		 VCC_RBUV_RES |\
925*4882a593Smuzhiyun 		 VCC_TH_DET |\
926*4882a593Smuzhiyun 		 VCC_TH_RES |\
927*4882a593Smuzhiyun 		 VCC_IIN_MOD |\
928*4882a593Smuzhiyun 		 VCC_OVP_DET |\
929*4882a593Smuzhiyun 		 VCC_OVP_RES |\
930*4882a593Smuzhiyun 		 VCC_CLPS_DET |\
931*4882a593Smuzhiyun 		 VCC_CLPS_RES |\
932*4882a593Smuzhiyun 		 VCC_DET |\
933*4882a593Smuzhiyun 		 VCC_RES)
934*4882a593Smuzhiyun /* INT 3 */
935*4882a593Smuzhiyun #define TH_DET BIT(15)
936*4882a593Smuzhiyun #define TH_RMV BIT(14)
937*4882a593Smuzhiyun #define TMP_OUT_DET BIT(11)
938*4882a593Smuzhiyun #define TMP_OUT_RES BIT(10)
939*4882a593Smuzhiyun #define VBAT_TH_DET BIT(9)
940*4882a593Smuzhiyun #define VBAT_TH_RES BIT(8)
941*4882a593Smuzhiyun #define IBAT_SHORT_DET BIT(7)
942*4882a593Smuzhiyun #define IBAT_SHORT_RES BIT(6)
943*4882a593Smuzhiyun #define VBAT_OV_DET BIT(5)
944*4882a593Smuzhiyun #define VBAT_OV_RES BIT(4)
945*4882a593Smuzhiyun #define BAT_ASSIST_DET BIT(3)
946*4882a593Smuzhiyun #define BAT_ASSIST_RES BIT(2)
947*4882a593Smuzhiyun #define INT3_ALL (TH_DET |\
948*4882a593Smuzhiyun 		 TH_RMV |\
949*4882a593Smuzhiyun 		 TMP_OUT_DET |\
950*4882a593Smuzhiyun 		 TMP_OUT_RES |\
951*4882a593Smuzhiyun 		 VBAT_TH_DET |\
952*4882a593Smuzhiyun 		 VBAT_TH_RES |\
953*4882a593Smuzhiyun 		 IBAT_SHORT_DET |\
954*4882a593Smuzhiyun 		 IBAT_SHORT_RES |\
955*4882a593Smuzhiyun 		 VBAT_OV_DET |\
956*4882a593Smuzhiyun 		 VBAT_OV_RES |\
957*4882a593Smuzhiyun 		 BAT_ASSIST_DET |\
958*4882a593Smuzhiyun 		 BAT_ASSIST_RES)
959*4882a593Smuzhiyun 
960*4882a593Smuzhiyun /* INT 4 */
961*4882a593Smuzhiyun #define VSYS_TH_DET BIT(9)
962*4882a593Smuzhiyun #define VSYS_TH_RES BIT(8)
963*4882a593Smuzhiyun #define VSYS_OV_DET BIT(5)
964*4882a593Smuzhiyun #define VSYS_OV_RES BIT(4)
965*4882a593Smuzhiyun #define VSYS_SHT_DET BIT(3)
966*4882a593Smuzhiyun #define VSYS_SHT_RES BIT(2)
967*4882a593Smuzhiyun #define VSYS_UV_DET BIT(1)
968*4882a593Smuzhiyun #define VSYS_UV_RES BIT(0)
969*4882a593Smuzhiyun #define INT4_ALL (VSYS_TH_DET |\
970*4882a593Smuzhiyun 		 VSYS_TH_RES |\
971*4882a593Smuzhiyun 		 VSYS_OV_DET |\
972*4882a593Smuzhiyun 		 VSYS_OV_RES |\
973*4882a593Smuzhiyun 		 VSYS_SHT_DET |\
974*4882a593Smuzhiyun 		 VSYS_SHT_RES |\
975*4882a593Smuzhiyun 		 VSYS_UV_DET |\
976*4882a593Smuzhiyun 		 VSYS_UV_RES)
977*4882a593Smuzhiyun 
978*4882a593Smuzhiyun /* INT 5*/
979*4882a593Smuzhiyun #define OTP_LOAD_DONE BIT(13)
980*4882a593Smuzhiyun #define PWR_ON BIT(12)
981*4882a593Smuzhiyun #define EXTIADP_TRNS BIT(11)
982*4882a593Smuzhiyun #define EXTIADP_TH_DET BIT(9)
983*4882a593Smuzhiyun #define EXIADP_TH_RES BIT(8)
984*4882a593Smuzhiyun #define BAT_MNT_DET BIT(7)
985*4882a593Smuzhiyun #define BAT_MNT_RES BIT(6)
986*4882a593Smuzhiyun #define TSD_DET BIT(5)
987*4882a593Smuzhiyun #define TSD_RES BIT(4)
988*4882a593Smuzhiyun #define CHGWDT_EXP BIT(3)
989*4882a593Smuzhiyun #define THERMWDT_EXP BIT(2)
990*4882a593Smuzhiyun #define TMP_TRNS BIT(1)
991*4882a593Smuzhiyun #define CHG_TRNS BIT(0)
992*4882a593Smuzhiyun #define INT5_ALL (OTP_LOAD_DONE |\
993*4882a593Smuzhiyun 		 PWR_ON |\
994*4882a593Smuzhiyun 		 EXTIADP_TRNS |\
995*4882a593Smuzhiyun 		 EXTIADP_TH_DET |\
996*4882a593Smuzhiyun 		 EXIADP_TH_RES |\
997*4882a593Smuzhiyun 		 BAT_MNT_DET |\
998*4882a593Smuzhiyun 		 BAT_MNT_RES |\
999*4882a593Smuzhiyun 		 TSD_DET |\
1000*4882a593Smuzhiyun 		 TSD_RES |\
1001*4882a593Smuzhiyun 		 CHGWDT_EXP |\
1002*4882a593Smuzhiyun 		 THERMWDT_EXP |\
1003*4882a593Smuzhiyun 		 TMP_TRNS |\
1004*4882a593Smuzhiyun 		 CHG_TRNS)
1005*4882a593Smuzhiyun 
1006*4882a593Smuzhiyun /* INT 6*/
1007*4882a593Smuzhiyun #define VBUS_UCD_PORT_DET BIT(13)
1008*4882a593Smuzhiyun #define VBUS_UCD_UCHG_DET BIT(12)
1009*4882a593Smuzhiyun #define VBUS_UCD_URID_RMV BIT(11)
1010*4882a593Smuzhiyun #define VBUS_UCD_OTG_DET BIT(10)
1011*4882a593Smuzhiyun #define VBUS_UCD_URID_MOD BIT(8)
1012*4882a593Smuzhiyun #define VCC_UCD_PORT_DET BIT(5)
1013*4882a593Smuzhiyun #define VCC_UCD_UCHG_DET BIT(4)
1014*4882a593Smuzhiyun #define VCC_UCD_URID_RMV BIT(3)
1015*4882a593Smuzhiyun #define VCC_UCD_OTG_DET BIT(2)
1016*4882a593Smuzhiyun #define VCC_UCD_URID_MOD BIT(0)
1017*4882a593Smuzhiyun #define INT6_ALL (VBUS_UCD_PORT_DET |\
1018*4882a593Smuzhiyun 		 VBUS_UCD_UCHG_DET |\
1019*4882a593Smuzhiyun 		 VBUS_UCD_URID_RMV |\
1020*4882a593Smuzhiyun 		 VBUS_UCD_OTG_DET |\
1021*4882a593Smuzhiyun 		 VBUS_UCD_URID_MOD |\
1022*4882a593Smuzhiyun 		 VCC_UCD_PORT_DET |\
1023*4882a593Smuzhiyun 		 VCC_UCD_UCHG_DET |\
1024*4882a593Smuzhiyun 		 VCC_UCD_URID_RMV |\
1025*4882a593Smuzhiyun 		 VCC_UCD_OTG_DET |\
1026*4882a593Smuzhiyun 		 VCC_UCD_URID_MOD)
1027*4882a593Smuzhiyun 
1028*4882a593Smuzhiyun /* INT 7 */
1029*4882a593Smuzhiyun #define PROCHOT_DET BIT(15)
1030*4882a593Smuzhiyun #define PROCHOT_RES BIT(14)
1031*4882a593Smuzhiyun #define VACP_DET BIT(11)
1032*4882a593Smuzhiyun #define VACP_RES BIT(10)
1033*4882a593Smuzhiyun #define VACP_TH_DET BIT(9)
1034*4882a593Smuzhiyun #define VACP_TH_RES BIT(8)
1035*4882a593Smuzhiyun #define IACP_TH_DET BIT(7)
1036*4882a593Smuzhiyun #define IACP_THE_RES BIT(6)
1037*4882a593Smuzhiyun #define THERM_TH_DET BIT(5)
1038*4882a593Smuzhiyun #define THERM_TH_RES BIT(4)
1039*4882a593Smuzhiyun #define IBATM_TH_DET BIT(3)
1040*4882a593Smuzhiyun #define IBATM_TH_RES BIT(2)
1041*4882a593Smuzhiyun #define IBATP_TH_DET BIT(1)
1042*4882a593Smuzhiyun #define IBATP_TH_RES BIT(0)
1043*4882a593Smuzhiyun #define INT7_ALL (PROCHOT_DET |\
1044*4882a593Smuzhiyun 		 PROCHOT_RES |\
1045*4882a593Smuzhiyun 		 VACP_DET |\
1046*4882a593Smuzhiyun 		 VACP_RES |\
1047*4882a593Smuzhiyun 		 VACP_TH_DET |\
1048*4882a593Smuzhiyun 		 VACP_TH_RES |\
1049*4882a593Smuzhiyun 		 IACP_TH_DET |\
1050*4882a593Smuzhiyun 		 IACP_THE_RES |\
1051*4882a593Smuzhiyun 		 THERM_TH_DET |\
1052*4882a593Smuzhiyun 		 THERM_TH_RES |\
1053*4882a593Smuzhiyun 		 IBATM_TH_DET |\
1054*4882a593Smuzhiyun 		 IBATM_TH_RES |\
1055*4882a593Smuzhiyun 		 IBATP_TH_DET |\
1056*4882a593Smuzhiyun 		 IBATP_TH_RES)
1057*4882a593Smuzhiyun 
1058*4882a593Smuzhiyun /* SYSTEM_CTRL_SET*/
1059*4882a593Smuzhiyun #define MONRST BIT(6)
1060*4882a593Smuzhiyun #define ALMRST BIT(5)
1061*4882a593Smuzhiyun #define CHGRST BIT(4)
1062*4882a593Smuzhiyun #define OTPLD  BIT(1)
1063*4882a593Smuzhiyun #define ALLRST BIT(0)
1064*4882a593Smuzhiyun 
1065*4882a593Smuzhiyun /* F_BATTEMP */
1066*4882a593Smuzhiyun #define ROOM		0x0
1067*4882a593Smuzhiyun #define HOT1		0x1
1068*4882a593Smuzhiyun #define HOT2		0x2
1069*4882a593Smuzhiyun #define HOT3		0x3
1070*4882a593Smuzhiyun #define COLD1		0x4
1071*4882a593Smuzhiyun #define COLD2		0x5
1072*4882a593Smuzhiyun #define TEMP_DIS	0x6
1073*4882a593Smuzhiyun #define BATT_OPEN	0x7
1074*4882a593Smuzhiyun 
1075*4882a593Smuzhiyun #endif
1076