1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * LP8727 Micro/Mini USB IC with integrated charger 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2011 Texas Instruments 6*4882a593Smuzhiyun * Copyright (C) 2011 National Semiconductor 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef _LP8727_H 10*4882a593Smuzhiyun #define _LP8727_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun enum lp8727_eoc_level { 13*4882a593Smuzhiyun LP8727_EOC_5P, 14*4882a593Smuzhiyun LP8727_EOC_10P, 15*4882a593Smuzhiyun LP8727_EOC_16P, 16*4882a593Smuzhiyun LP8727_EOC_20P, 17*4882a593Smuzhiyun LP8727_EOC_25P, 18*4882a593Smuzhiyun LP8727_EOC_33P, 19*4882a593Smuzhiyun LP8727_EOC_50P, 20*4882a593Smuzhiyun }; 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun enum lp8727_ichg { 23*4882a593Smuzhiyun LP8727_ICHG_90mA, 24*4882a593Smuzhiyun LP8727_ICHG_100mA, 25*4882a593Smuzhiyun LP8727_ICHG_400mA, 26*4882a593Smuzhiyun LP8727_ICHG_450mA, 27*4882a593Smuzhiyun LP8727_ICHG_500mA, 28*4882a593Smuzhiyun LP8727_ICHG_600mA, 29*4882a593Smuzhiyun LP8727_ICHG_700mA, 30*4882a593Smuzhiyun LP8727_ICHG_800mA, 31*4882a593Smuzhiyun LP8727_ICHG_900mA, 32*4882a593Smuzhiyun LP8727_ICHG_1000mA, 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /** 36*4882a593Smuzhiyun * struct lp8727_chg_param 37*4882a593Smuzhiyun * @eoc_level : end of charge level setting 38*4882a593Smuzhiyun * @ichg : charging current 39*4882a593Smuzhiyun */ 40*4882a593Smuzhiyun struct lp8727_chg_param { 41*4882a593Smuzhiyun enum lp8727_eoc_level eoc_level; 42*4882a593Smuzhiyun enum lp8727_ichg ichg; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /** 46*4882a593Smuzhiyun * struct lp8727_platform_data 47*4882a593Smuzhiyun * @get_batt_present : check battery status - exists or not 48*4882a593Smuzhiyun * @get_batt_level : get battery voltage (mV) 49*4882a593Smuzhiyun * @get_batt_capacity : get battery capacity (%) 50*4882a593Smuzhiyun * @get_batt_temp : get battery temperature 51*4882a593Smuzhiyun * @ac : charging parameters for AC type charger 52*4882a593Smuzhiyun * @usb : charging parameters for USB type charger 53*4882a593Smuzhiyun * @debounce_msec : interrupt debounce time 54*4882a593Smuzhiyun */ 55*4882a593Smuzhiyun struct lp8727_platform_data { 56*4882a593Smuzhiyun u8 (*get_batt_present)(void); 57*4882a593Smuzhiyun u16 (*get_batt_level)(void); 58*4882a593Smuzhiyun u8 (*get_batt_capacity)(void); 59*4882a593Smuzhiyun u8 (*get_batt_temp)(void); 60*4882a593Smuzhiyun struct lp8727_chg_param *ac; 61*4882a593Smuzhiyun struct lp8727_chg_param *usb; 62*4882a593Smuzhiyun unsigned int debounce_msec; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun #endif 66