blob: 095b121aa725bff8a3477a0df23981ed159ef9da [file] [log] [blame]
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +09001/*
2 * Common data shared between Maxim 77693 and 77843 drivers
3 *
4 * Copyright (C) 2015 Samsung Electronics
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 */
11
12#ifndef __LINUX_MFD_MAX77693_COMMON_H
13#define __LINUX_MFD_MAX77693_COMMON_H
14
15enum max77693_types {
16 TYPE_MAX77693_UNKNOWN,
17 TYPE_MAX77693,
Krzysztof Kozlowskibc1aadc2015-07-15 21:59:51 +090018 TYPE_MAX77843,
19
20 TYPE_MAX77693_NUM,
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +090021};
22
23/*
24 * Shared also with max77843.
25 */
26struct max77693_dev {
27 struct device *dev;
28 struct i2c_client *i2c; /* 0xCC , PMIC, Charger, Flash LED */
29 struct i2c_client *i2c_muic; /* 0x4A , MUIC */
30 struct i2c_client *i2c_haptic; /* MAX77693: 0x90 , Haptic */
Krzysztof Kozlowskibc1aadc2015-07-15 21:59:51 +090031 struct i2c_client *i2c_chg; /* MAX77843: 0xD2, Charger */
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +090032
33 enum max77693_types type;
34
35 struct regmap *regmap;
36 struct regmap *regmap_muic;
37 struct regmap *regmap_haptic; /* Only MAX77693 */
Krzysztof Kozlowskibc1aadc2015-07-15 21:59:51 +090038 struct regmap *regmap_chg; /* Only MAX77843 */
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +090039
40 struct regmap_irq_chip_data *irq_data_led;
41 struct regmap_irq_chip_data *irq_data_topsys;
42 struct regmap_irq_chip_data *irq_data_chg; /* Only MAX77693 */
43 struct regmap_irq_chip_data *irq_data_muic;
44
45 int irq;
46};
47
48
49#endif /* __LINUX_MFD_MAX77693_COMMON_H */