Commit | Line | Data |
---|---|---|
39ae702c RV |
1 | /* |
2 | * Copyright (C) ST-Ericsson SA 2010 | |
3 | * | |
4 | * Author: Rabin Vincent <rabin.vincent@stericsson.com> | |
5 | * License terms: GNU General Public License (GPL) version 2 | |
6 | */ | |
7 | ||
8 | #ifndef __MACH_IRQS_BOARD_MOP500_H | |
9 | #define __MACH_IRQS_BOARD_MOP500_H | |
10 | ||
a5de3dc2 | 11 | /* Number of AB8500 irqs is taken from header file */ |
ee66e653 | 12 | #include <linux/mfd/abx500/ab8500.h> |
39ae702c RV |
13 | |
14 | #define MOP500_AB8500_IRQ_BASE IRQ_BOARD_START | |
15 | #define MOP500_AB8500_IRQ_END (MOP500_AB8500_IRQ_BASE \ | |
d6255529 | 16 | + AB8500_MAX_NR_IRQS) |
b8410a15 | 17 | |
556fb038 | 18 | /* TC35892 */ |
b8410a15 RV |
19 | #define TC35892_NR_INTERNAL_IRQS 8 |
20 | #define TC35892_INT_GPIO(x) (TC35892_NR_INTERNAL_IRQS + (x)) | |
21 | #define TC35892_NR_GPIOS 24 | |
22 | #define TC35892_NR_IRQS TC35892_INT_GPIO(TC35892_NR_GPIOS) | |
23 | ||
24 | #define MOP500_EGPIO_NR_IRQS TC35892_NR_IRQS | |
25 | ||
26 | #define MOP500_EGPIO_IRQ_BASE MOP500_AB8500_IRQ_END | |
27 | #define MOP500_EGPIO_IRQ_END (MOP500_EGPIO_IRQ_BASE \ | |
28 | + MOP500_EGPIO_NR_IRQS) | |
556fb038 SI |
29 | /* STMPE1601 irqs */ |
30 | #define STMPE_NR_INTERNAL_IRQS 9 | |
31 | #define STMPE_INT_GPIO(x) (STMPE_NR_INTERNAL_IRQS + (x)) | |
32 | #define STMPE_NR_GPIOS 24 | |
33 | #define STMPE_NR_IRQS STMPE_INT_GPIO(STMPE_NR_GPIOS) | |
b8410a15 | 34 | |
556fb038 SI |
35 | #define MOP500_STMPE1601_IRQBASE MOP500_EGPIO_IRQ_END |
36 | #define MOP500_STMPE1601_IRQ(x) (MOP500_STMPE1601_IRQBASE + (x)) | |
37 | ||
3ef374a2 BB |
38 | #define MOP500_STMPE1601_IRQ_END \ |
39 | MOP500_STMPE1601_IRQ(STMPE_NR_INTERNAL_IRQS) | |
556fb038 | 40 | |
c3f78f07 | 41 | #define MOP500_NR_IRQS MOP500_STMPE1601_IRQ_END |
3ef374a2 BB |
42 | |
43 | #define MOP500_IRQ_END MOP500_NR_IRQS | |
39ae702c | 44 | |
06be2efa RV |
45 | /* |
46 | * We may have several boards, but only one will run at a | |
47 | * time, so the one with most IRQs will bump this ahead, | |
48 | * but the IRQ_BOARD_START remains the same for either board. | |
49 | */ | |
39ae702c RV |
50 | #if MOP500_IRQ_END > IRQ_BOARD_END |
51 | #undef IRQ_BOARD_END | |
52 | #define IRQ_BOARD_END MOP500_IRQ_END | |
53 | #endif | |
54 | ||
55 | #endif |