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 LP8727_EOC_5P, 17 LP8727_EOC_10P, 18 LP8727_EOC_16P, 19 LP8727_EOC_20P, 20 LP8727_EOC_25P, 21 LP8727_EOC_33P, 22 LP8727_EOC_50P, 23 }; 24 25 enum lp8727_ichg { 26 LP8727_ICHG_90mA, 27 LP8727_ICHG_100mA, 28 LP8727_ICHG_400mA, 29 LP8727_ICHG_450mA, 30 LP8727_ICHG_500mA, 31 LP8727_ICHG_600mA, 32 LP8727_ICHG_700mA, 33 LP8727_ICHG_800mA, 34 LP8727_ICHG_900mA, 35 LP8727_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 : charging parameters for AC type charger 55 * @usb : charging parameters for USB type charger 56 * @debounce_msec : interrupt debounce time 57 */ 58 struct lp8727_platform_data { 59 u8 (*get_batt_present)(void); 60 u16 (*get_batt_level)(void); 61 u8 (*get_batt_capacity)(void); 62 u8 (*get_batt_temp)(void); 63 struct lp8727_chg_param *ac; 64 struct lp8727_chg_param *usb; 65 unsigned int debounce_msec; 66 }; 67 68 #endif 69