1 /* 2 * Copyright (C) 2011 National Semiconductor 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9 #ifndef _LP8727_H 10 #define _LP8727_H 11 12 enum lp8727_eoc_level { 13 EOC_5P, 14 EOC_10P, 15 EOC_16P, 16 EOC_20P, 17 EOC_25P, 18 EOC_33P, 19 EOC_50P, 20 }; 21 22 enum lp8727_ichg { 23 ICHG_90mA, 24 ICHG_100mA, 25 ICHG_400mA, 26 ICHG_450mA, 27 ICHG_500mA, 28 ICHG_600mA, 29 ICHG_700mA, 30 ICHG_800mA, 31 ICHG_900mA, 32 ICHG_1000mA, 33 }; 34 35 struct lp8727_chg_param { 36 /* end of charge level setting */ 37 enum lp8727_eoc_level eoc_level; 38 /* charging current */ 39 enum lp8727_ichg ichg; 40 }; 41 42 struct lp8727_platform_data { 43 u8 (*get_batt_present)(void); 44 u16 (*get_batt_level)(void); 45 u8 (*get_batt_capacity)(void); 46 u8 (*get_batt_temp)(void); 47 struct lp8727_chg_param ac; 48 struct lp8727_chg_param usb; 49 }; 50 51 #endif 52