Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
[pandora-kernel.git] / arch / arm / mach-ux500 / include / mach / irqs-board-mop500.h
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
11 /* Number of AB8500 irqs is taken from header file */
12 #include <linux/mfd/ab8500.h>
13
14 #define MOP500_AB8500_IRQ_BASE          IRQ_BOARD_START
15 #define MOP500_AB8500_IRQ_END           (MOP500_AB8500_IRQ_BASE \
16                                          + AB8500_NR_IRQS)
17
18 /* TC35892 */
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)
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)
34
35 #define MOP500_STMPE1601_IRQBASE        MOP500_EGPIO_IRQ_END
36 #define MOP500_STMPE1601_IRQ(x)         (MOP500_STMPE1601_IRQBASE + (x))
37
38 #define MOP500_STMPE1601_IRQ_END        \
39         MOP500_STMPE1601_IRQ(STMPE_NR_INTERNAL_IRQS)
40
41 /* AB8500 virtual gpio IRQ */
42 #define AB8500_VIR_GPIO_NR_IRQS                 16
43
44 #define MOP500_AB8500_VIR_GPIO_IRQ_BASE         \
45         MOP500_STMPE1601_IRQ_END
46 #define MOP500_AB8500_VIR_GPIO_IRQ_END          \
47         (MOP500_AB8500_VIR_GPIO_IRQ_BASE + AB8500_VIR_GPIO_NR_IRQS)
48
49 #define MOP500_NR_IRQS          MOP500_AB8500_VIR_GPIO_IRQ_END
50
51 #define MOP500_IRQ_END          MOP500_NR_IRQS
52
53 #if MOP500_IRQ_END > IRQ_BOARD_END
54 #undef IRQ_BOARD_END
55 #define IRQ_BOARD_END   MOP500_IRQ_END
56 #endif
57
58 #endif