1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C) 2015-2017  Dialog Semiconductor
4  */
5 
6 #ifndef __MFD_DA9062_CORE_H__
7 #define __MFD_DA9062_CORE_H__
8 
9 #include <linux/interrupt.h>
10 #include <linux/mfd/da9062/registers.h>
11 
12 enum da9062_compatible_types {
13 	COMPAT_TYPE_DA9061 = 1,
14 	COMPAT_TYPE_DA9062,
15 };
16 
17 enum da9061_irqs {
18 	/* IRQ A */
19 	DA9061_IRQ_ONKEY,
20 	DA9061_IRQ_WDG_WARN,
21 	DA9061_IRQ_SEQ_RDY,
22 	/* IRQ B*/
23 	DA9061_IRQ_TEMP,
24 	DA9061_IRQ_LDO_LIM,
25 	DA9061_IRQ_DVC_RDY,
26 	DA9061_IRQ_VDD_WARN,
27 	/* IRQ C */
28 	DA9061_IRQ_GPI0,
29 	DA9061_IRQ_GPI1,
30 	DA9061_IRQ_GPI2,
31 	DA9061_IRQ_GPI3,
32 	DA9061_IRQ_GPI4,
33 
34 	DA9061_NUM_IRQ,
35 };
36 
37 enum da9062_irqs {
38 	/* IRQ A */
39 	DA9062_IRQ_ONKEY,
40 	DA9062_IRQ_ALARM,
41 	DA9062_IRQ_TICK,
42 	DA9062_IRQ_WDG_WARN,
43 	DA9062_IRQ_SEQ_RDY,
44 	/* IRQ B*/
45 	DA9062_IRQ_TEMP,
46 	DA9062_IRQ_LDO_LIM,
47 	DA9062_IRQ_DVC_RDY,
48 	DA9062_IRQ_VDD_WARN,
49 	/* IRQ C */
50 	DA9062_IRQ_GPI0,
51 	DA9062_IRQ_GPI1,
52 	DA9062_IRQ_GPI2,
53 	DA9062_IRQ_GPI3,
54 	DA9062_IRQ_GPI4,
55 
56 	DA9062_NUM_IRQ,
57 };
58 
59 struct da9062 {
60 	struct device *dev;
61 	struct regmap *regmap;
62 	struct regmap_irq_chip_data *regmap_irq;
63 	enum da9062_compatible_types chip_type;
64 };
65 
66 #endif /* __MFD_DA9062_CORE_H__ */
67