blob: a5bce099f1ed47b6874d3064a6a50976296eb27b [file] [log] [blame]
Krzysztof Kozlowskid7d8d7a2018-08-07 18:11:23 +02001/* SPDX-License-Identifier: GPL-2.0+ */
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +09002/*
3 * Common data shared between Maxim 77693 and 77843 drivers
4 *
5 * Copyright (C) 2015 Samsung Electronics
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +09006 */
7
8#ifndef __LINUX_MFD_MAX77693_COMMON_H
9#define __LINUX_MFD_MAX77693_COMMON_H
10
11enum max77693_types {
12 TYPE_MAX77693_UNKNOWN,
13 TYPE_MAX77693,
Krzysztof Kozlowskibc1aadc2015-07-15 21:59:51 +090014 TYPE_MAX77843,
15
16 TYPE_MAX77693_NUM,
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +090017};
18
19/*
20 * Shared also with max77843.
21 */
22struct max77693_dev {
23 struct device *dev;
24 struct i2c_client *i2c; /* 0xCC , PMIC, Charger, Flash LED */
25 struct i2c_client *i2c_muic; /* 0x4A , MUIC */
26 struct i2c_client *i2c_haptic; /* MAX77693: 0x90 , Haptic */
Krzysztof Kozlowskibc1aadc2015-07-15 21:59:51 +090027 struct i2c_client *i2c_chg; /* MAX77843: 0xD2, Charger */
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +090028
29 enum max77693_types type;
30
31 struct regmap *regmap;
32 struct regmap *regmap_muic;
33 struct regmap *regmap_haptic; /* Only MAX77693 */
Krzysztof Kozlowskibc1aadc2015-07-15 21:59:51 +090034 struct regmap *regmap_chg; /* Only MAX77843 */
Krzysztof Kozlowski61b305c2015-07-15 21:59:50 +090035
36 struct regmap_irq_chip_data *irq_data_led;
37 struct regmap_irq_chip_data *irq_data_topsys;
38 struct regmap_irq_chip_data *irq_data_chg; /* Only MAX77693 */
39 struct regmap_irq_chip_data *irq_data_muic;
40
41 int irq;
42};
43
44
45#endif /* __LINUX_MFD_MAX77693_COMMON_H */