xref: /linux/include/sound/sdca_regmap.h (revision 1260ed77798502de9c98020040d2995008de10cc)
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