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 10 #ifndef __SDCA_REGMAP_H__ 11 #define __SDCA_REGMAP_H__ 12 13 struct device; 14 struct sdca_function_data; 15 struct regmap; 16 struct reg_default; 17 18 bool sdca_regmap_readable(struct sdca_function_data *function, unsigned int reg); 19 bool sdca_regmap_writeable(struct sdca_function_data *function, unsigned int reg); 20 bool sdca_regmap_volatile(struct sdca_function_data *function, unsigned int reg); 21 bool sdca_regmap_deferrable(struct sdca_function_data *function, unsigned int reg); 22 int sdca_regmap_mbq_size(struct sdca_function_data *function, unsigned int reg); 23 24 int sdca_regmap_count_constants(struct device *dev, struct sdca_function_data *function); 25 int sdca_regmap_populate_constants(struct device *dev, struct sdca_function_data *function, 26 struct reg_default *consts); 27 28 int sdca_regmap_write_defaults(struct device *dev, struct regmap *regmap, 29 struct sdca_function_data *function); 30 31 #endif // __SDCA_REGMAP_H__ 32