blob: a0bddc5bd043aaceb4561a2b886d769b2b9a0e67 [file] [log] [blame]
Mark Brown3cc72982012-06-19 16:31:53 +01001/*
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
Mark Brownd7810092013-03-25 00:11:27 +000016#include <linux/of.h>
Mark Brown3cc72982012-06-19 16:31:53 +010017#include <linux/regmap.h>
18#include <linux/pm.h>
19
Mark Brown3cc72982012-06-19 16:31:53 +010020extern const struct regmap_config wm5102_i2c_regmap;
21extern const struct regmap_config wm5102_spi_regmap;
Mark Browne102bef2012-07-10 12:37:58 +010022
23extern const struct regmap_config wm5110_i2c_regmap;
24extern const struct regmap_config wm5110_spi_regmap;
25
Richard Fitzgeraldea1f3332015-11-03 15:08:32 +000026extern const struct regmap_config cs47l24_spi_regmap;
27
Charles Keepaxdc7d4862013-06-13 09:43:29 +010028extern const struct regmap_config wm8997_i2c_regmap;
29
Richard Fitzgerald6887b042015-07-03 16:16:35 +010030extern const struct regmap_config wm8998_i2c_regmap;
31
Mark Brown3cc72982012-06-19 16:31:53 +010032extern const struct dev_pm_ops arizona_pm_ops;
33
Mark Brownd7810092013-03-25 00:11:27 +000034extern const struct of_device_id arizona_of_match[];
35
Mark Brown3cc72982012-06-19 16:31:53 +010036extern const struct regmap_irq_chip wm5102_aod;
37extern const struct regmap_irq_chip wm5102_irq;
38
Mark Browne102bef2012-07-10 12:37:58 +010039extern const struct regmap_irq_chip wm5110_aod;
40extern const struct regmap_irq_chip wm5110_irq;
Charles Keepax32155012014-07-15 11:21:48 +010041extern const struct regmap_irq_chip wm5110_revd_irq;
Mark Browne102bef2012-07-10 12:37:58 +010042
Richard Fitzgeraldea1f3332015-11-03 15:08:32 +000043extern const struct regmap_irq_chip cs47l24_irq;
44
Charles Keepaxdc7d4862013-06-13 09:43:29 +010045extern const struct regmap_irq_chip wm8997_aod;
46extern const struct regmap_irq_chip wm8997_irq;
47
Richard Fitzgerald6887b042015-07-03 16:16:35 +010048extern struct regmap_irq_chip wm8998_aod;
49extern struct regmap_irq_chip wm8998_irq;
50
Mark Brown3cc72982012-06-19 16:31:53 +010051int arizona_dev_init(struct arizona *arizona);
52int arizona_dev_exit(struct arizona *arizona);
53int arizona_irq_init(struct arizona *arizona);
54int arizona_irq_exit(struct arizona *arizona);
55
Mark Brownd7810092013-03-25 00:11:27 +000056#ifdef CONFIG_OF
Lee Jones942786e2014-07-02 14:28:46 +010057unsigned long arizona_of_get_type(struct device *dev);
Mark Brownd7810092013-03-25 00:11:27 +000058#else
Lee Jones942786e2014-07-02 14:28:46 +010059static inline unsigned long arizona_of_get_type(struct device *dev)
Mark Brownd7810092013-03-25 00:11:27 +000060{
61 return 0;
62}
63#endif
64
Mark Brown3cc72982012-06-19 16:31:53 +010065#endif