blob: 56b12845f49cc1367ad49e339cd9eaa6bad77bbc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
/*****************************************************************************
*
* Filename:
* ---------
* bq24296.h
*
* Project:
* --------
* Android
*
* Description:
* ------------
* bq24296 header file
*
* Author:
* -------
*
****************************************************************************/
#ifndef _bq24296_SW_H_
#define _bq24296_SW_H_
#define bq24296_CON0 0x00
#define bq24296_CON1 0x01
#define bq24296_CON2 0x02
#define bq24296_CON3 0x03
#define bq24296_CON4 0x04
#define bq24296_CON5 0x05
#define bq24296_CON6 0x06
#define bq24296_CON7 0x07
#define bq24296_CON8 0x08
#define bq24296_CON9 0x09
#define bq24296_CON10 0x0A
#define bq24296_REG_NUM 11
/**********************************************************
*
* [MASK/SHIFT]
*
*********************************************************/
//CON0
#define CON0_EN_HIZ_MASK 0x01
#define CON0_EN_HIZ_SHIFT 7
#define CON0_VINDPM_MASK 0x0F
#define CON0_VINDPM_SHIFT 3
#define CON0_IINLIM_MASK 0x07
#define CON0_IINLIM_SHIFT 0
//CON1
#define CON1_REG_RST_MASK 0x01
#define CON1_REG_RST_SHIFT 7
#define CON1_WDT_RST_MASK 0x01
#define CON1_WDT_RST_SHIFT 6
#define CON1_OTG_CONFIG_MASK 0x01
#define CON1_OTG_CONFIG_SHIFT 5
#define CON1_CHG_CONFIG_MASK 0x01
#define CON1_CHG_CONFIG_SHIFT 4
#define CON1_SYS_MIN_MASK 0x07
#define CON1_SYS_MIN_SHIFT 1
#define CON1_BOOST_LIM_MASK 0x01
#define CON1_BOOST_LIM_SHIFT 0
//CON2
#define CON2_ICHG_MASK 0x3F
#define CON2_ICHG_SHIFT 2
#define CON2_BCOLD_MASK 0x1
#define CON2_BCOLD_SHIFT 1
#define CON2_FORCE_20PCT_MASK 0x1
#define CON2_FORCE_20PCT_SHIFT 0
//CON3
#define CON3_IPRECHG_MASK 0x0F
#define CON3_IPRECHG_SHIFT 4
#define CON3_ITERM_MASK 0x0F
#define CON3_ITERM_SHIFT 0
//CON4
#define CON4_VREG_MASK 0x3F
#define CON4_VREG_SHIFT 2
#define CON4_BATLOWV_MASK 0x01
#define CON4_BATLOWV_SHIFT 1
#define CON4_VRECHG_MASK 0x01
#define CON4_VRECHG_SHIFT 0
//CON5
#define CON5_EN_TERM_MASK 0x01
#define CON5_EN_TERM_SHIFT 7
#define CON5_WATCHDOG_MASK 0x03
#define CON5_WATCHDOG_SHIFT 4
#define CON5_EN_TIMER_MASK 0x01
#define CON5_EN_TIMER_SHIFT 3
#define CON5_CHG_TIMER_MASK 0x03
#define CON5_CHG_TIMER_SHIFT 1
//CON6
#define CON6_BOOSTV_MASK 0xF
#define CON6_BOOSTV_SHIFT 4
#define CON6_BHOT_MASK 0x3
#define CON6_BHOT_SHIFT 2
#define CON6_TREG_MASK 0x03
#define CON6_TREG_SHIFT 0
//CON7
#define CON7_TMR2X_EN_MASK 0x01
#define CON7_TMR2X_EN_SHIFT 6
#define CON7_BATFET_Disable_MASK 0x01
#define CON7_BATFET_Disable_SHIFT 5
#define CON7_INT_MASK_MASK 0x03
#define CON7_INT_MASK_SHIFT 0
//CON8
#define CON8_VBUS_STAT_MASK 0x03
#define CON8_VBUS_STAT_SHIFT 6
#define CON8_CHRG_STAT_MASK 0x03
#define CON8_CHRG_STAT_SHIFT 4
#define CON8_DPM_STAT_MASK 0x01
#define CON8_DPM_STAT_SHIFT 3
#define CON8_PG_STAT_MASK 0x01
#define CON8_PG_STAT_SHIFT 2
#define CON8_THERM_STAT_MASK 0x01
#define CON8_THERM_STAT_SHIFT 1
#define CON8_VSYS_STAT_MASK 0x01
#define CON8_VSYS_STAT_SHIFT 0
//CON9
#define CON9_WATCHDOG_FAULT_MASK 0x01
#define CON9_WATCHDOG_FAULT_SHIFT 7
#define CON9_OTG_FAULT_MASK 0x01
#define CON9_OTG_FAULT_SHIFT 6
#define CON9_CHRG_FAULT_MASK 0x03
#define CON9_CHRG_FAULT_SHIFT 4
#define CON9_BAT_FAULT_MASK 0x01
#define CON9_BAT_FAULT_SHIFT 3
#define CON9_NTC_FAULT_MASK 0x07
#define CON9_NTC_FAULT_SHIFT 0
//CON10
#define CON10_PN_MASK 0x07
#define CON10_PN_SHIFT 3
#define CON10_Rev_MASK 0x07
#define CON10_Rev_SHIFT 0
/**********************************************************
*
* [Extern Function]
*
*********************************************************/
//CON0----------------------------------------------------
extern void bq24296_set_en_hiz(kal_uint32 val);
extern void bq24296_set_vindpm(kal_uint32 val);
extern void bq24296_set_iinlim(kal_uint32 val);
//CON1----------------------------------------------------
extern void bq24296_set_reg_rst(kal_uint32 val);
extern void bq24296_set_wdt_rst(kal_uint32 val);
extern void bq24296_set_chg_config(kal_uint32 val);
extern void bq24296_set_otg_config(kal_uint32 val);
extern void bq24296_set_sys_min(kal_uint32 val);
extern void bq24296_set_boost_lim(kal_uint32 val);
//CON2----------------------------------------------------
extern void bq24296_set_ichg(kal_uint32 val);
extern void bq24296_set_bcold(kal_uint32 val);
extern void bq24296_set_force_20pct(kal_uint32 val);
//CON3----------------------------------------------------
extern void bq24296_set_iprechg(kal_uint32 val);
extern void bq24296_set_iterm(kal_uint32 val);
//CON4----------------------------------------------------
extern void bq24296_set_vreg(kal_uint32 val);
extern void bq24296_set_batlowv(kal_uint32 val);
extern void bq24296_set_vrechg(kal_uint32 val);
//CON5----------------------------------------------------
extern void bq24296_set_en_term(kal_uint32 val);
extern void bq24296_set_watchdog(kal_uint32 val);
extern void bq24296_set_en_timer(kal_uint32 val);
extern void bq24296_set_chg_timer(kal_uint32 val);
//CON6----------------------------------------------------
extern void bq24296_set_treg(kal_uint32 val);
extern void bq24296_set_boostv(kal_uint32 val);
extern void bq24296_set_bhot(kal_uint32 val);
//CON7----------------------------------------------------
extern void bq24296_set_tmr2x_en(kal_uint32 val);
extern void bq24296_set_batfet_disable(kal_uint32 val);
extern void bq24296_set_int_mask(kal_uint32 val);
//CON8----------------------------------------------------
extern kal_uint32 bq24296_get_system_status(void);
extern kal_uint32 bq24296_get_vbus_stat(void);
extern kal_uint32 bq24296_get_chrg_stat(void);
extern kal_uint32 bq24296_get_vsys_stat(void);
//---------------------------------------------------------
extern void bq24296_dump_register(void);
extern kal_uint32 bq24296_reg_config_interface (kal_uint8 RegNum, kal_uint8 val);
extern kal_uint32 bq24296_read_interface (kal_uint8 RegNum, kal_uint8 *val, kal_uint8 MASK, kal_uint8 SHIFT);
extern kal_uint32 bq24296_config_interface (kal_uint8 RegNum, kal_uint8 val, kal_uint8 MASK, kal_uint8 SHIFT);
#endif // _bq24296_SW_H_
|