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