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 cs47l35_16bit_spi_regmap; 25 extern const struct regmap_config cs47l35_32bit_spi_regmap; 26 extern const struct regmap_config cs47l35_16bit_i2c_regmap; 27 extern const struct regmap_config cs47l35_32bit_i2c_regmap; 28 int cs47l35_patch(struct madera *madera); 29 30 extern const struct regmap_config cs47l85_16bit_spi_regmap; 31 extern const struct regmap_config cs47l85_32bit_spi_regmap; 32 extern const struct regmap_config cs47l85_16bit_i2c_regmap; 33 extern const struct regmap_config cs47l85_32bit_i2c_regmap; 34 int cs47l85_patch(struct madera *madera); 35 36 extern const struct regmap_config cs47l90_16bit_spi_regmap; 37 extern const struct regmap_config cs47l90_32bit_spi_regmap; 38 extern const struct regmap_config cs47l90_16bit_i2c_regmap; 39 extern const struct regmap_config cs47l90_32bit_i2c_regmap; 40 int cs47l90_patch(struct madera *madera); 41 #endif 42