max77693-common.h 1.1 KB

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