Merge branch 'timer/cleanup' into late/mvebu2
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / arm / mach-nomadik / include / mach / irqs.h
1 /*
2 * mach-nomadik/include/mach/irqs.h
3 *
4 * Copyright (C) ST Microelectronics
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20 #ifndef __ASM_ARCH_IRQS_H
21 #define __ASM_ARCH_IRQS_H
22
23 #include <mach/hardware.h>
24
25 #define IRQ_VIC_START 32 /* first VIC interrupt is 1 */
26
27 /*
28 * Interrupt numbers generic for all Nomadik Chip cuts
29 */
30 #define IRQ_WATCHDOG (IRQ_VIC_START+0)
31 #define IRQ_SOFTINT (IRQ_VIC_START+1)
32 #define IRQ_CRYPTO (IRQ_VIC_START+2)
33 #define IRQ_OWM (IRQ_VIC_START+3)
34 #define IRQ_MTU0 (IRQ_VIC_START+4)
35 #define IRQ_MTU1 (IRQ_VIC_START+5)
36 #define IRQ_GPIO0 (IRQ_VIC_START+6)
37 #define IRQ_GPIO1 (IRQ_VIC_START+7)
38 #define IRQ_GPIO2 (IRQ_VIC_START+8)
39 #define IRQ_GPIO3 (IRQ_VIC_START+9)
40 #define IRQ_RTC_RTT (IRQ_VIC_START+10)
41 #define IRQ_SSP (IRQ_VIC_START+11)
42 #define IRQ_UART0 (IRQ_VIC_START+12)
43 #define IRQ_DMA1 (IRQ_VIC_START+13)
44 #define IRQ_CLCD_MDIF (IRQ_VIC_START+14)
45 #define IRQ_DMA0 (IRQ_VIC_START+15)
46 #define IRQ_PWRFAIL (IRQ_VIC_START+16)
47 #define IRQ_UART1 (IRQ_VIC_START+17)
48 #define IRQ_FIRDA (IRQ_VIC_START+18)
49 #define IRQ_MSP0 (IRQ_VIC_START+19)
50 #define IRQ_I2C0 (IRQ_VIC_START+20)
51 #define IRQ_I2C1 (IRQ_VIC_START+21)
52 #define IRQ_SDMMC (IRQ_VIC_START+22)
53 #define IRQ_USBOTG (IRQ_VIC_START+23)
54 #define IRQ_SVA_IT0 (IRQ_VIC_START+24)
55 #define IRQ_SVA_IT1 (IRQ_VIC_START+25)
56 #define IRQ_SAA_IT0 (IRQ_VIC_START+26)
57 #define IRQ_SAA_IT1 (IRQ_VIC_START+27)
58 #define IRQ_UART2 (IRQ_VIC_START+28)
59 #define IRQ_MSP2 (IRQ_VIC_START+29)
60 #define IRQ_L2CC (IRQ_VIC_START+30)
61 #define IRQ_HPI (IRQ_VIC_START+31)
62 #define IRQ_SKE (IRQ_VIC_START+32)
63 #define IRQ_KP (IRQ_VIC_START+33)
64 #define IRQ_MEMST (IRQ_VIC_START+34)
65 #define IRQ_SGA_IT (IRQ_VIC_START+35)
66 #define IRQ_USBM (IRQ_VIC_START+36)
67 #define IRQ_MSP1 (IRQ_VIC_START+37)
68
69 #define NOMADIK_GPIO_OFFSET (IRQ_VIC_START+64)
70
71 /* After chip-specific IRQ numbers we have the GPIO ones */
72 #define NOMADIK_NR_GPIO 128 /* last 4 not wired to pins */
73 #define NOMADIK_GPIO_TO_IRQ(gpio) ((gpio) + NOMADIK_GPIO_OFFSET)
74 #define NOMADIK_IRQ_TO_GPIO(irq) ((irq) - NOMADIK_GPIO_OFFSET)
75 #define NOMADIK_NR_IRQS NOMADIK_GPIO_TO_IRQ(NOMADIK_NR_GPIO)
76
77 /* Following two are used by entry_macro.S, to access our dual-vic */
78 #define VIC_REG_IRQSR0 0
79 #define VIC_REG_IRQSR1 0x20
80
81 #endif /* __ASM_ARCH_IRQS_H */