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

source code of linux/include/linux/platform_data/lp8727.h