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