1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * LP8727 Micro/Mini USB IC with integrated charger |
4 | * |
5 | * Copyright (C) 2011 Texas Instruments |
6 | * Copyright (C) 2011 National Semiconductor |
7 | */ |
8 | |
9 | #ifndef _LP8727_H |
10 | #define _LP8727_H |
11 | |
12 | enum lp8727_eoc_level { |
13 | LP8727_EOC_5P, |
14 | LP8727_EOC_10P, |
15 | LP8727_EOC_16P, |
16 | LP8727_EOC_20P, |
17 | LP8727_EOC_25P, |
18 | LP8727_EOC_33P, |
19 | LP8727_EOC_50P, |
20 | }; |
21 | |
22 | enum lp8727_ichg { |
23 | LP8727_ICHG_90mA, |
24 | LP8727_ICHG_100mA, |
25 | LP8727_ICHG_400mA, |
26 | LP8727_ICHG_450mA, |
27 | LP8727_ICHG_500mA, |
28 | LP8727_ICHG_600mA, |
29 | LP8727_ICHG_700mA, |
30 | LP8727_ICHG_800mA, |
31 | LP8727_ICHG_900mA, |
32 | LP8727_ICHG_1000mA, |
33 | }; |
34 | |
35 | /** |
36 | * struct lp8727_chg_param |
37 | * @eoc_level : end of charge level setting |
38 | * @ichg : charging current |
39 | */ |
40 | struct lp8727_chg_param { |
41 | enum lp8727_eoc_level eoc_level; |
42 | enum lp8727_ichg ichg; |
43 | }; |
44 | |
45 | /** |
46 | * struct lp8727_platform_data |
47 | * @get_batt_present : check battery status - exists or not |
48 | * @get_batt_level : get battery voltage (mV) |
49 | * @get_batt_capacity : get battery capacity (%) |
50 | * @get_batt_temp : get battery temperature |
51 | * @ac : charging parameters for AC type charger |
52 | * @usb : charging parameters for USB type charger |
53 | * @debounce_msec : interrupt debounce time |
54 | */ |
55 | struct lp8727_platform_data { |
56 | u8 (*get_batt_present)(void); |
57 | u16 (*get_batt_level)(void); |
58 | u8 (*get_batt_capacity)(void); |
59 | u8 (*get_batt_temp)(void); |
60 | struct lp8727_chg_param *ac; |
61 | struct lp8727_chg_param *usb; |
62 | unsigned int debounce_msec; |
63 | }; |
64 | |
65 | #endif |
66 | |