| 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 | |