madera.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * MFD internals for Cirrus Logic Madera codecs
  3. *
  4. * Copyright 2015-2018 Cirrus Logic
  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 version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef MADERA_MFD_H
  11. #define MADERA_MFD_H
  12. #include <linux/of.h>
  13. #include <linux/pm.h>
  14. struct madera;
  15. extern const struct dev_pm_ops madera_pm_ops;
  16. extern const struct of_device_id madera_of_match[];
  17. int madera_dev_init(struct madera *madera);
  18. int madera_dev_exit(struct madera *madera);
  19. const char *madera_name_from_type(enum madera_type type);
  20. extern const struct regmap_config cs47l35_16bit_spi_regmap;
  21. extern const struct regmap_config cs47l35_32bit_spi_regmap;
  22. extern const struct regmap_config cs47l35_16bit_i2c_regmap;
  23. extern const struct regmap_config cs47l35_32bit_i2c_regmap;
  24. int cs47l35_patch(struct madera *madera);
  25. extern const struct regmap_config cs47l85_16bit_spi_regmap;
  26. extern const struct regmap_config cs47l85_32bit_spi_regmap;
  27. extern const struct regmap_config cs47l85_16bit_i2c_regmap;
  28. extern const struct regmap_config cs47l85_32bit_i2c_regmap;
  29. int cs47l85_patch(struct madera *madera);
  30. extern const struct regmap_config cs47l90_16bit_spi_regmap;
  31. extern const struct regmap_config cs47l90_32bit_spi_regmap;
  32. extern const struct regmap_config cs47l90_16bit_i2c_regmap;
  33. extern const struct regmap_config cs47l90_32bit_i2c_regmap;
  34. int cs47l90_patch(struct madera *madera);
  35. #endif