]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - include/linux/mfd/rt5033.h
Merge branch 'for-4.2' into for-next
[mirror_ubuntu-bionic-kernel.git] / include / linux / mfd / rt5033.h
1 /*
2 * MFD core driver for the RT5033
3 *
4 * Copyright (C) 2014 Samsung Electronics
5 * Author: Beomho Seo <beomho.seo@samsung.com>
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 bythe Free Software Foundation.
10 */
11
12 #ifndef __RT5033_H__
13 #define __RT5033_H__
14
15 #include <linux/regulator/consumer.h>
16 #include <linux/i2c.h>
17 #include <linux/regmap.h>
18 #include <linux/power_supply.h>
19
20 /* RT5033 regulator IDs */
21 enum rt5033_regulators {
22 RT5033_BUCK = 0,
23 RT5033_LDO,
24 RT5033_SAFE_LDO,
25
26 RT5033_REGULATOR_NUM,
27 };
28
29 struct rt5033_dev {
30 struct device *dev;
31
32 struct regmap *regmap;
33 struct regmap_irq_chip_data *irq_data;
34 int irq;
35 bool wakeup;
36 };
37
38 struct rt5033_battery {
39 struct i2c_client *client;
40 struct rt5033_dev *rt5033;
41 struct regmap *regmap;
42 struct power_supply *psy;
43 };
44
45 /* RT5033 charger platform data */
46 struct rt5033_charger_data {
47 unsigned int pre_uamp;
48 unsigned int pre_uvolt;
49 unsigned int const_uvolt;
50 unsigned int eoc_uamp;
51 unsigned int fast_uamp;
52 };
53
54 struct rt5033_charger {
55 struct device *dev;
56 struct rt5033_dev *rt5033;
57 struct power_supply psy;
58
59 struct rt5033_charger_data *chg;
60 };
61
62 #endif /* __RT5033_H__ */