sdca_regmap.h 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * The MIPI SDCA specification is available for public downloads at
  4. * https://www.mipi.org/mipi-sdca-v1-0-download
  5. *
  6. * Copyright (C) 2025 Cirrus Logic, Inc. and
  7. * Cirrus Logic International Semiconductor Ltd.
  8. */
  9. #ifndef __SDCA_REGMAP_H__
  10. #define __SDCA_REGMAP_H__
  11. struct device;
  12. struct sdca_function_data;
  13. struct regmap;
  14. struct reg_default;
  15. bool sdca_regmap_readable(struct sdca_function_data *function, unsigned int reg);
  16. bool sdca_regmap_writeable(struct sdca_function_data *function, unsigned int reg);
  17. bool sdca_regmap_volatile(struct sdca_function_data *function, unsigned int reg);
  18. bool sdca_regmap_deferrable(struct sdca_function_data *function, unsigned int reg);
  19. int sdca_regmap_mbq_size(struct sdca_function_data *function, unsigned int reg);
  20. int sdca_regmap_count_constants(struct device *dev, struct sdca_function_data *function);
  21. int sdca_regmap_populate_constants(struct device *dev, struct sdca_function_data *function,
  22. struct reg_default *consts);
  23. int sdca_regmap_write_defaults(struct device *dev, struct regmap *regmap,
  24. struct sdca_function_data *function);
  25. int sdca_regmap_write_init(struct device *dev, struct regmap *regmap,
  26. struct sdca_function_data *function);
  27. #endif // __SDCA_REGMAP_H__