Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / include / linux / mfd / da9062 / core.h
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__ */