1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
21aebb097SKim, Milo /*
31aebb097SKim, Milo  * LP8727 Micro/Mini USB IC with integrated charger
41aebb097SKim, Milo  *
51aebb097SKim, Milo  *			Copyright (C) 2011 Texas Instruments
61aebb097SKim, Milo  *			Copyright (C) 2011 National Semiconductor
71aebb097SKim, Milo  */
81aebb097SKim, Milo 
91aebb097SKim, Milo #ifndef _LP8727_H
101aebb097SKim, Milo #define _LP8727_H
111aebb097SKim, Milo 
121aebb097SKim, Milo enum lp8727_eoc_level {
136029719fSKim, Milo 	LP8727_EOC_5P,
146029719fSKim, Milo 	LP8727_EOC_10P,
156029719fSKim, Milo 	LP8727_EOC_16P,
166029719fSKim, Milo 	LP8727_EOC_20P,
176029719fSKim, Milo 	LP8727_EOC_25P,
186029719fSKim, Milo 	LP8727_EOC_33P,
196029719fSKim, Milo 	LP8727_EOC_50P,
201aebb097SKim, Milo };
211aebb097SKim, Milo 
221aebb097SKim, Milo enum lp8727_ichg {
236029719fSKim, Milo 	LP8727_ICHG_90mA,
246029719fSKim, Milo 	LP8727_ICHG_100mA,
256029719fSKim, Milo 	LP8727_ICHG_400mA,
266029719fSKim, Milo 	LP8727_ICHG_450mA,
276029719fSKim, Milo 	LP8727_ICHG_500mA,
286029719fSKim, Milo 	LP8727_ICHG_600mA,
296029719fSKim, Milo 	LP8727_ICHG_700mA,
306029719fSKim, Milo 	LP8727_ICHG_800mA,
316029719fSKim, Milo 	LP8727_ICHG_900mA,
326029719fSKim, Milo 	LP8727_ICHG_1000mA,
331aebb097SKim, Milo };
341aebb097SKim, Milo 
351aebb097SKim, Milo /**
361aebb097SKim, Milo  * struct lp8727_chg_param
371aebb097SKim, Milo  * @eoc_level : end of charge level setting
381aebb097SKim, Milo  * @ichg      : charging current
391aebb097SKim, Milo  */
401aebb097SKim, Milo struct lp8727_chg_param {
411aebb097SKim, Milo 	enum lp8727_eoc_level eoc_level;
421aebb097SKim, Milo 	enum lp8727_ichg ichg;
431aebb097SKim, Milo };
441aebb097SKim, Milo 
451aebb097SKim, Milo /**
461aebb097SKim, Milo  * struct lp8727_platform_data
471aebb097SKim, Milo  * @get_batt_present  : check battery status - exists or not
481aebb097SKim, Milo  * @get_batt_level    : get battery voltage (mV)
491aebb097SKim, Milo  * @get_batt_capacity : get battery capacity (%)
501aebb097SKim, Milo  * @get_batt_temp     : get battery temperature
51318cb389SKim, Milo  * @ac                : charging parameters for AC type charger
52318cb389SKim, Milo  * @usb               : charging parameters for USB type charger
5360fd57e0SKim, Milo  * @debounce_msec     : interrupt debounce time
541aebb097SKim, Milo  */
551aebb097SKim, Milo struct lp8727_platform_data {
561aebb097SKim, Milo 	u8 (*get_batt_present)(void);
571aebb097SKim, Milo 	u16 (*get_batt_level)(void);
581aebb097SKim, Milo 	u8 (*get_batt_capacity)(void);
591aebb097SKim, Milo 	u8 (*get_batt_temp)(void);
60318cb389SKim, Milo 	struct lp8727_chg_param *ac;
61318cb389SKim, Milo 	struct lp8727_chg_param *usb;
6260fd57e0SKim, Milo 	unsigned int debounce_msec;
631aebb097SKim, Milo };
641aebb097SKim, Milo 
651aebb097SKim, Milo #endif
66