1 /*
2  * LP8727 Micro/Mini USB IC with integrated charger
3  *
4  *			Copyright (C) 2011 Texas Instruments
5  *			Copyright (C) 2011 National Semiconductor
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11 
12 #ifndef _LP8727_H
13 #define _LP8727_H
14 
15 enum lp8727_eoc_level {
16 	EOC_5P,
17 	EOC_10P,
18 	EOC_16P,
19 	EOC_20P,
20 	EOC_25P,
21 	EOC_33P,
22 	EOC_50P,
23 };
24 
25 enum lp8727_ichg {
26 	ICHG_90mA,
27 	ICHG_100mA,
28 	ICHG_400mA,
29 	ICHG_450mA,
30 	ICHG_500mA,
31 	ICHG_600mA,
32 	ICHG_700mA,
33 	ICHG_800mA,
34 	ICHG_900mA,
35 	ICHG_1000mA,
36 };
37 
38 /**
39  * struct lp8727_chg_param
40  * @eoc_level : end of charge level setting
41  * @ichg : charging current
42  */
43 struct lp8727_chg_param {
44 	enum lp8727_eoc_level eoc_level;
45 	enum lp8727_ichg ichg;
46 };
47 
48 /**
49  * struct lp8727_platform_data
50  * @get_batt_present : check battery status - exists or not
51  * @get_batt_level : get battery voltage (mV)
52  * @get_batt_capacity : get battery capacity (%)
53  * @get_batt_temp : get battery temperature
54  * @ac, @usb : charging parameters each charger type
55  */
56 struct lp8727_platform_data {
57 	u8 (*get_batt_present)(void);
58 	u16 (*get_batt_level)(void);
59 	u8 (*get_batt_capacity)(void);
60 	u8 (*get_batt_temp)(void);
61 	struct lp8727_chg_param ac;
62 	struct lp8727_chg_param usb;
63 };
64 
65 #endif
66