Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
11enum 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 */
23struct 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 */