Commit | Line | Data |
---|---|---|
3a00c11b RF |
1 | /* |
2 | * MFD internals for Cirrus Logic Madera codecs | |
3 | * | |
4 | * Copyright 2015-2017 Cirrus Logic | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | ||
11 | #ifndef MADERA_MFD_H | |
12 | #define MADERA_MFD_H | |
13 | ||
14 | #include <linux/of.h> | |
15 | #include <linux/pm.h> | |
16 | ||
17 | struct madera; | |
18 | ||
19 | extern const struct dev_pm_ops madera_pm_ops; | |
20 | extern const struct of_device_id madera_of_match[]; | |
21 | ||
22 | int madera_dev_init(struct madera *madera); | |
23 | int madera_dev_exit(struct madera *madera); | |
24 | ||
25 | #ifdef CONFIG_OF | |
26 | unsigned long madera_get_type_from_of(struct device *dev); | |
27 | #else | |
28 | static inline unsigned long madera_get_type_from_of(struct device *dev) | |
29 | { | |
30 | return 0; | |
31 | } | |
32 | #endif | |
33 | ||
b17c6fa2 RF |
34 | extern const struct regmap_config cs47l15_16bit_spi_regmap; |
35 | extern const struct regmap_config cs47l15_32bit_spi_regmap; | |
36 | extern const struct regmap_config cs47l15_16bit_i2c_regmap; | |
37 | extern const struct regmap_config cs47l15_32bit_i2c_regmap; | |
38 | int cs47l15_patch(struct madera *madera); | |
39 | ||
3a00c11b RF |
40 | extern const struct regmap_config cs47l35_16bit_spi_regmap; |
41 | extern const struct regmap_config cs47l35_32bit_spi_regmap; | |
42 | extern const struct regmap_config cs47l35_16bit_i2c_regmap; | |
43 | extern const struct regmap_config cs47l35_32bit_i2c_regmap; | |
44 | int cs47l35_patch(struct madera *madera); | |
45 | ||
46 | extern const struct regmap_config cs47l85_16bit_spi_regmap; | |
47 | extern const struct regmap_config cs47l85_32bit_spi_regmap; | |
48 | extern const struct regmap_config cs47l85_16bit_i2c_regmap; | |
49 | extern const struct regmap_config cs47l85_32bit_i2c_regmap; | |
50 | int cs47l85_patch(struct madera *madera); | |
51 | ||
52 | extern const struct regmap_config cs47l90_16bit_spi_regmap; | |
53 | extern const struct regmap_config cs47l90_32bit_spi_regmap; | |
54 | extern const struct regmap_config cs47l90_16bit_i2c_regmap; | |
55 | extern const struct regmap_config cs47l90_32bit_i2c_regmap; | |
56 | int cs47l90_patch(struct madera *madera); | |
57 | ||
336a6bbf SH |
58 | extern const struct regmap_config cs47l92_16bit_spi_regmap; |
59 | extern const struct regmap_config cs47l92_32bit_spi_regmap; | |
60 | extern const struct regmap_config cs47l92_16bit_i2c_regmap; | |
61 | extern const struct regmap_config cs47l92_32bit_i2c_regmap; | |
62 | int cs47l92_patch(struct madera *madera); | |
63 | ||
3a00c11b | 64 | #endif |