1/*
2 * arch/arm/mach-netx/include/mach/irqs.h
3 *
4 * Copyright (C) 2005 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
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 version 2
8 * as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 */
19
20#define NETX_IRQ_VIC_START	64
21#define NETX_IRQ_SOFTINT	(NETX_IRQ_VIC_START + 0)
22#define NETX_IRQ_TIMER0		(NETX_IRQ_VIC_START + 1)
23#define NETX_IRQ_TIMER1		(NETX_IRQ_VIC_START + 2)
24#define NETX_IRQ_TIMER2		(NETX_IRQ_VIC_START + 3)
25#define NETX_IRQ_SYSTIME_NS	(NETX_IRQ_VIC_START + 4)
26#define NETX_IRQ_SYSTIME_S	(NETX_IRQ_VIC_START + 5)
27#define NETX_IRQ_GPIO_15	(NETX_IRQ_VIC_START + 6)
28#define NETX_IRQ_WATCHDOG	(NETX_IRQ_VIC_START + 7)
29#define NETX_IRQ_UART0		(NETX_IRQ_VIC_START + 8)
30#define NETX_IRQ_UART1		(NETX_IRQ_VIC_START + 9)
31#define NETX_IRQ_UART2		(NETX_IRQ_VIC_START + 10)
32#define NETX_IRQ_USB		(NETX_IRQ_VIC_START + 11)
33#define NETX_IRQ_SPI		(NETX_IRQ_VIC_START + 12)
34#define NETX_IRQ_I2C		(NETX_IRQ_VIC_START + 13)
35#define NETX_IRQ_LCD		(NETX_IRQ_VIC_START + 14)
36#define NETX_IRQ_HIF		(NETX_IRQ_VIC_START + 15)
37#define NETX_IRQ_GPIO_0_14	(NETX_IRQ_VIC_START + 16)
38#define NETX_IRQ_XPEC0		(NETX_IRQ_VIC_START + 17)
39#define NETX_IRQ_XPEC1		(NETX_IRQ_VIC_START + 18)
40#define NETX_IRQ_XPEC2		(NETX_IRQ_VIC_START + 19)
41#define NETX_IRQ_XPEC3		(NETX_IRQ_VIC_START + 20)
42#define NETX_IRQ_XPEC(no)	(NETX_IRQ_VIC_START + 17 + (no))
43#define NETX_IRQ_MSYNC0		(NETX_IRQ_VIC_START + 21)
44#define NETX_IRQ_MSYNC1		(NETX_IRQ_VIC_START + 22)
45#define NETX_IRQ_MSYNC2		(NETX_IRQ_VIC_START + 23)
46#define NETX_IRQ_MSYNC3		(NETX_IRQ_VIC_START + 24)
47#define NETX_IRQ_IRQ_PHY	(NETX_IRQ_VIC_START + 25)
48#define NETX_IRQ_ISO_AREA	(NETX_IRQ_VIC_START + 26)
49/* int 27 is reserved */
50/* int 28 is reserved */
51#define NETX_IRQ_TIMER3		(NETX_IRQ_VIC_START + 29)
52#define NETX_IRQ_TIMER4		(NETX_IRQ_VIC_START + 30)
53/* int 31 is reserved */
54
55#define NETX_IRQS 		(NETX_IRQ_VIC_START + 32)
56
57/* for multiplexed irqs on gpio 0..14 */
58#define NETX_IRQ_GPIO(x) (NETX_IRQS + (x))
59#define NETX_IRQ_GPIO_LAST NETX_IRQ_GPIO(14)
60
61/* Host interface interrupts */
62#define NETX_IRQ_HIF_CHAINED(x)    (NETX_IRQ_GPIO_LAST + 1 + (x))
63#define NETX_IRQ_HIF_PIO35         NETX_IRQ_HIF_CHAINED(0)
64#define NETX_IRQ_HIF_PIO36         NETX_IRQ_HIF_CHAINED(1)
65#define NETX_IRQ_HIF_PIO40         NETX_IRQ_HIF_CHAINED(2)
66#define NETX_IRQ_HIF_PIO47         NETX_IRQ_HIF_CHAINED(3)
67#define NETX_IRQ_HIF_PIO72         NETX_IRQ_HIF_CHAINED(4)
68#define NETX_IRQ_HIF_LAST          NETX_IRQ_HIF_CHAINED(4)
69
70#define NR_IRQS (NETX_IRQ_HIF_LAST + 1)
71