1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Common data shared between Maxim 77693, 77705 and 77843 drivers
4  *
5  * Copyright (C) 2015 Samsung Electronics
6  */
7 
8 #ifndef __LINUX_MFD_MAX77693_COMMON_H
9 #define __LINUX_MFD_MAX77693_COMMON_H
10 
11 enum max77693_types {
12 	TYPE_MAX77693_UNKNOWN,
13 	TYPE_MAX77693,
14 	TYPE_MAX77705,
15 	TYPE_MAX77843,
16 
17 	TYPE_MAX77693_NUM,
18 };
19 
20 /*
21  * Shared also with max77843.
22  */
23 struct max77693_dev {
24 	struct device *dev;
25 	struct i2c_client *i2c;		/* 0xCC , PMIC, Charger, Flash LED */
26 	struct i2c_client *i2c_muic;	/* 0x4A , MUIC */
27 	struct i2c_client *i2c_haptic;	/* MAX77693: 0x90 , Haptic */
28 	struct i2c_client *i2c_chg;	/* MAX77843: 0xD2, Charger */
29 
30 	enum max77693_types type;
31 
32 	struct regmap *regmap;
33 	struct regmap *regmap_muic;
34 	struct regmap *regmap_haptic;	/* Only MAX77693 */
35 	struct regmap *regmap_chg;	/* Only MAX77843 */
36 	struct regmap *regmap_leds;	/* Only MAX77705 */
37 
38 	struct regmap_irq_chip_data *irq_data_led;
39 	struct regmap_irq_chip_data *irq_data_topsys;
40 	struct regmap_irq_chip_data *irq_data_chg; /* Only MAX77693 */
41 	struct regmap_irq_chip_data *irq_data_muic;
42 
43 	int irq;
44 };
45 
46 
47 #endif /*  __LINUX_MFD_MAX77693_COMMON_H */
48