max77693-common.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. #ifndef __LINUX_MFD_MAX77693_COMMON_H
  12. #define __LINUX_MFD_MAX77693_COMMON_H
  13. enum max77693_types {
  14. TYPE_MAX77693_UNKNOWN,
  15. TYPE_MAX77693,
  16. TYPE_MAX77843,
  17. TYPE_MAX77693_NUM,
  18. };
  19. /*
  20. * Shared also with max77843.
  21. */
  22. struct max77693_dev {
  23. struct device *dev;
  24. struct i2c_client *i2c; /* 0xCC , PMIC, Charger, Flash LED */
  25. struct i2c_client *i2c_muic; /* 0x4A , MUIC */
  26. struct i2c_client *i2c_haptic; /* MAX77693: 0x90 , Haptic */
  27. struct i2c_client *i2c_chg; /* MAX77843: 0xD2, Charger */
  28. enum max77693_types type;
  29. struct regmap *regmap;
  30. struct regmap *regmap_muic;
  31. struct regmap *regmap_haptic; /* Only MAX77693 */
  32. struct regmap *regmap_chg; /* Only MAX77843 */
  33. struct regmap_irq_chip_data *irq_data_led;
  34. struct regmap_irq_chip_data *irq_data_topsys;
  35. struct regmap_irq_chip_data *irq_data_chg; /* Only MAX77693 */
  36. struct regmap_irq_chip_data *irq_data_muic;
  37. int irq;
  38. };
  39. #endif /* __LINUX_MFD_MAX77693_COMMON_H */