Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt
[sfrench/cifs-2.6.git] / include / linux / platform_data / lp8727.h
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