1/*
2 * Copyright (c) 2014 MediaTek Inc.
3 * Author: Flora Fu, MediaTek
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 */
14
15#ifndef __MFD_MT6397_CORE_H__
16#define __MFD_MT6397_CORE_H__
17
18enum mt6397_irq_numbers {
19	MT6397_IRQ_SPKL_AB = 0,
20	MT6397_IRQ_SPKR_AB,
21	MT6397_IRQ_SPKL,
22	MT6397_IRQ_SPKR,
23	MT6397_IRQ_BAT_L,
24	MT6397_IRQ_BAT_H,
25	MT6397_IRQ_FG_BAT_L,
26	MT6397_IRQ_FG_BAT_H,
27	MT6397_IRQ_WATCHDOG,
28	MT6397_IRQ_PWRKEY,
29	MT6397_IRQ_THR_L,
30	MT6397_IRQ_THR_H,
31	MT6397_IRQ_VBATON_UNDET,
32	MT6397_IRQ_BVALID_DET,
33	MT6397_IRQ_CHRDET,
34	MT6397_IRQ_OV,
35	MT6397_IRQ_LDO,
36	MT6397_IRQ_HOMEKEY,
37	MT6397_IRQ_ACCDET,
38	MT6397_IRQ_AUDIO,
39	MT6397_IRQ_RTC,
40	MT6397_IRQ_PWRKEY_RSTB,
41	MT6397_IRQ_HDMI_SIFM,
42	MT6397_IRQ_HDMI_CEC,
43	MT6397_IRQ_VCA15,
44	MT6397_IRQ_VSRMCA15,
45	MT6397_IRQ_VCORE,
46	MT6397_IRQ_VGPU,
47	MT6397_IRQ_VIO18,
48	MT6397_IRQ_VPCA7,
49	MT6397_IRQ_VSRMCA7,
50	MT6397_IRQ_VDRM,
51	MT6397_IRQ_NR,
52};
53
54struct mt6397_chip {
55	struct device *dev;
56	struct regmap *regmap;
57	int irq;
58	struct irq_domain *irq_domain;
59	struct mutex irqlock;
60	u16 irq_masks_cur[2];
61	u16 irq_masks_cache[2];
62};
63
64#endif /* __MFD_MT6397_CORE_H__ */
65