rsmu.h 897 B

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Core interface for Renesas Synchronization Management Unit (SMU) devices.
  4. *
  5. * Copyright (C) 2021 Integrated Device Technology, Inc., a Renesas Company.
  6. */
  7. #ifndef __LINUX_MFD_RSMU_H
  8. #define __LINUX_MFD_RSMU_H
  9. /* The supported devices are ClockMatrix, Sabre and SnowLotus */
  10. enum rsmu_type {
  11. RSMU_CM = 0x34000,
  12. RSMU_SABRE = 0x33810,
  13. RSMU_SL = 0x19850,
  14. };
  15. /**
  16. *
  17. * struct rsmu_ddata - device data structure for sub devices.
  18. *
  19. * @dev: i2c/spi device.
  20. * @regmap: i2c/spi bus access.
  21. * @lock: mutex used by sub devices to make sure a series of
  22. * bus access requests are not interrupted.
  23. * @type: RSMU device type.
  24. * @page: i2c/spi bus driver internal use only.
  25. */
  26. struct rsmu_ddata {
  27. struct device *dev;
  28. struct regmap *regmap;
  29. struct mutex lock;
  30. enum rsmu_type type;
  31. u16 page;
  32. };
  33. #endif /* __LINUX_MFD_RSMU_H */