blob: 47128a50e04ecae182d9085b1af3d3084094194a [file] [log] [blame]
Kim, Milo620b2732011-09-07 01:56:14 -07001/*
Kim, Milof7bae492012-01-26 22:59:08 -08002 * LP8727 Micro/Mini USB IC with integrated charger
Kim, Miloe39b8282012-01-29 17:28:18 -08003 *
4 * Copyright (C) 2011 Texas Instruments
Kim, Milo620b2732011-09-07 01:56:14 -07005 * 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.
Kim, Milo620b2732011-09-07 01:56:14 -070010 */
11
12#ifndef _LP8727_H
13#define _LP8727_H
14
15enum lp8727_eoc_level {
Kim, Milo60297192012-08-31 09:24:51 +000016 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,
Kim, Milo620b2732011-09-07 01:56:14 -070023};
24
25enum lp8727_ichg {
Kim, Milo60297192012-08-31 09:24:51 +000026 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,
Kim, Milo620b2732011-09-07 01:56:14 -070036};
37
Kim, Milo9b11adc72012-01-26 22:59:00 -080038/**
39 * struct lp8727_chg_param
40 * @eoc_level : end of charge level setting
Kim, Milob9633ef2012-08-31 09:27:22 +000041 * @ichg : charging current
Kim, Milo9b11adc72012-01-26 22:59:00 -080042 */
Kim, Milo620b2732011-09-07 01:56:14 -070043struct lp8727_chg_param {
Kim, Milo620b2732011-09-07 01:56:14 -070044 enum lp8727_eoc_level eoc_level;
Kim, Milo620b2732011-09-07 01:56:14 -070045 enum lp8727_ichg ichg;
46};
47
Kim, Milo9b11adc72012-01-26 22:59:00 -080048/**
49 * struct lp8727_platform_data
Kim, Milob9633ef2012-08-31 09:27:22 +000050 * @get_batt_present : check battery status - exists or not
51 * @get_batt_level : get battery voltage (mV)
Kim, Milo9b11adc72012-01-26 22:59:00 -080052 * @get_batt_capacity : get battery capacity (%)
Kim, Milob9633ef2012-08-31 09:27:22 +000053 * @get_batt_temp : get battery temperature
Kim, Milo318cb382012-08-31 09:23:12 +000054 * @ac : charging parameters for AC type charger
55 * @usb : charging parameters for USB type charger
Kim, Milo60fd57e2012-08-31 09:23:25 +000056 * @debounce_msec : interrupt debounce time
Kim, Milo9b11adc72012-01-26 22:59:00 -080057 */
Kim, Milo620b2732011-09-07 01:56:14 -070058struct lp8727_platform_data {
Milo(Woogyom) Kime57b4322012-01-04 16:23:11 +040059 u8 (*get_batt_present)(void);
60 u16 (*get_batt_level)(void);
61 u8 (*get_batt_capacity)(void);
62 u8 (*get_batt_temp)(void);
Kim, Milo318cb382012-08-31 09:23:12 +000063 struct lp8727_chg_param *ac;
64 struct lp8727_chg_param *usb;
Kim, Milo60fd57e2012-08-31 09:23:25 +000065 unsigned int debounce_msec;
Kim, Milo620b2732011-09-07 01:56:14 -070066};
67
68#endif