xref: /openbmc/linux/drivers/mfd/arizona.h (revision 799a545b)
1 /*
2  * wm5102.h  --  WM5102 MFD internals
3  *
4  * Copyright 2012 Wolfson Microelectronics plc
5  *
6  * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12 
13 #ifndef _WM5102_H
14 #define _WM5102_H
15 
16 #include <linux/of.h>
17 #include <linux/regmap.h>
18 #include <linux/pm.h>
19 
20 struct wm_arizona;
21 
22 extern const struct regmap_config wm5102_i2c_regmap;
23 extern const struct regmap_config wm5102_spi_regmap;
24 
25 extern const struct regmap_config wm5110_i2c_regmap;
26 extern const struct regmap_config wm5110_spi_regmap;
27 
28 extern const struct regmap_config cs47l24_spi_regmap;
29 
30 extern const struct regmap_config wm8997_i2c_regmap;
31 
32 extern const struct regmap_config wm8998_i2c_regmap;
33 
34 extern const struct dev_pm_ops arizona_pm_ops;
35 
36 extern const struct of_device_id arizona_of_match[];
37 
38 extern const struct regmap_irq_chip wm5102_aod;
39 extern const struct regmap_irq_chip wm5102_irq;
40 
41 extern const struct regmap_irq_chip wm5110_aod;
42 extern const struct regmap_irq_chip wm5110_irq;
43 extern const struct regmap_irq_chip wm5110_revd_irq;
44 
45 extern const struct regmap_irq_chip cs47l24_irq;
46 
47 extern const struct regmap_irq_chip wm8997_aod;
48 extern const struct regmap_irq_chip wm8997_irq;
49 
50 extern struct regmap_irq_chip wm8998_aod;
51 extern struct regmap_irq_chip wm8998_irq;
52 
53 int arizona_dev_init(struct arizona *arizona);
54 int arizona_dev_exit(struct arizona *arizona);
55 int arizona_irq_init(struct arizona *arizona);
56 int arizona_irq_exit(struct arizona *arizona);
57 
58 #ifdef CONFIG_OF
59 unsigned long arizona_of_get_type(struct device *dev);
60 #else
61 static inline unsigned long arizona_of_get_type(struct device *dev)
62 {
63 	return 0;
64 }
65 #endif
66 
67 #endif
68