1/*
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,
18	TYPE_MAX77843,
19
20	TYPE_MAX77693_NUM,
21};
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 */
31	struct i2c_client *i2c_chg;	/* MAX77843: 0xD2, Charger */
32
33	enum max77693_types type;
34
35	struct regmap *regmap;
36	struct regmap *regmap_muic;
37	struct regmap *regmap_haptic;	/* Only MAX77693 */
38	struct regmap *regmap_chg;	/* Only MAX77843 */
39
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 */
50