xref: /openbmc/linux/drivers/mfd/madera.h (revision 3dc4b6fb)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * MFD internals for Cirrus Logic Madera codecs
4  *
5  * Copyright 2015-2018 Cirrus Logic
6  */
7 
8 #ifndef MADERA_MFD_H
9 #define MADERA_MFD_H
10 
11 #include <linux/of.h>
12 #include <linux/pm.h>
13 
14 struct madera;
15 
16 extern const struct dev_pm_ops madera_pm_ops;
17 extern const struct of_device_id madera_of_match[];
18 
19 int madera_dev_init(struct madera *madera);
20 int madera_dev_exit(struct madera *madera);
21 
22 const char *madera_name_from_type(enum madera_type type);
23 
24 extern const struct regmap_config cs47l15_16bit_spi_regmap;
25 extern const struct regmap_config cs47l15_32bit_spi_regmap;
26 extern const struct regmap_config cs47l15_16bit_i2c_regmap;
27 extern const struct regmap_config cs47l15_32bit_i2c_regmap;
28 int cs47l15_patch(struct madera *madera);
29 
30 extern const struct regmap_config cs47l35_16bit_spi_regmap;
31 extern const struct regmap_config cs47l35_32bit_spi_regmap;
32 extern const struct regmap_config cs47l35_16bit_i2c_regmap;
33 extern const struct regmap_config cs47l35_32bit_i2c_regmap;
34 int cs47l35_patch(struct madera *madera);
35 
36 extern const struct regmap_config cs47l85_16bit_spi_regmap;
37 extern const struct regmap_config cs47l85_32bit_spi_regmap;
38 extern const struct regmap_config cs47l85_16bit_i2c_regmap;
39 extern const struct regmap_config cs47l85_32bit_i2c_regmap;
40 int cs47l85_patch(struct madera *madera);
41 
42 extern const struct regmap_config cs47l90_16bit_spi_regmap;
43 extern const struct regmap_config cs47l90_32bit_spi_regmap;
44 extern const struct regmap_config cs47l90_16bit_i2c_regmap;
45 extern const struct regmap_config cs47l90_32bit_i2c_regmap;
46 int cs47l90_patch(struct madera *madera);
47 
48 extern const struct regmap_config cs47l92_16bit_spi_regmap;
49 extern const struct regmap_config cs47l92_32bit_spi_regmap;
50 extern const struct regmap_config cs47l92_16bit_i2c_regmap;
51 extern const struct regmap_config cs47l92_32bit_i2c_regmap;
52 int cs47l92_patch(struct madera *madera);
53 
54 #endif
55