Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc
[sfrench/cifs-2.6.git] / include / asm-arm / arch-ns9xxx / irqs.h
1 /*
2  * include/asm-arm/arch-ns9xxx/irqs.h
3  *
4  * Copyright (C) 2006,2007 by Digi International Inc.
5  * All rights reserved.
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published by
9  * the Free Software Foundation.
10  */
11 #ifndef __ASM_ARCH_IRQS_H
12 #define __ASM_ARCH_IRQS_H
13
14 /* NetSilicon 9360 */
15 #define IRQ_NS9XXX_WATCHDOG     0
16 #define IRQ_NS9XXX_AHBBUSERR    1
17 #define IRQ_NS9360_BBUSAGG      2
18 /* irq 3 is reserved for NS9360 */
19 #define IRQ_NS9XXX_ETHRX        4
20 #define IRQ_NS9XXX_ETHTX        5
21 #define IRQ_NS9XXX_ETHPHY       6
22 #define IRQ_NS9360_LCD          7
23 #define IRQ_NS9360_SERBRX       8
24 #define IRQ_NS9360_SERBTX       9
25 #define IRQ_NS9360_SERARX       10
26 #define IRQ_NS9360_SERATX       11
27 #define IRQ_NS9360_SERCRX       12
28 #define IRQ_NS9360_SERCTX       13
29 #define IRQ_NS9360_I2C          14
30 #define IRQ_NS9360_BBUSDMA      15
31 #define IRQ_NS9360_TIMER0       16
32 #define IRQ_NS9360_TIMER1       17
33 #define IRQ_NS9360_TIMER2       18
34 #define IRQ_NS9360_TIMER3       19
35 #define IRQ_NS9360_TIMER4       20
36 #define IRQ_NS9360_TIMER5       21
37 #define IRQ_NS9360_TIMER6       22
38 #define IRQ_NS9360_TIMER7       23
39 #define IRQ_NS9360_RTC          24
40 #define IRQ_NS9360_USBHOST      25
41 #define IRQ_NS9360_USBDEVICE    26
42 #define IRQ_NS9360_IEEE1284     27
43 #define IRQ_NS9XXX_EXT0         28
44 #define IRQ_NS9XXX_EXT1         29
45 #define IRQ_NS9XXX_EXT2         30
46 #define IRQ_NS9XXX_EXT3         31
47
48 #define BBUS_IRQ(irq)   (32 + irq)
49
50 #define IRQ_BBUS_DMA            BBUS_IRQ(0)
51 #define IRQ_BBUS_SERBRX         BBUS_IRQ(2)
52 #define IRQ_BBUS_SERBTX         BBUS_IRQ(3)
53 #define IRQ_BBUS_SERARX         BBUS_IRQ(4)
54 #define IRQ_BBUS_SERATX         BBUS_IRQ(5)
55 #define IRQ_BBUS_SERCRX         BBUS_IRQ(6)
56 #define IRQ_BBUS_SERCTX         BBUS_IRQ(7)
57 #define IRQ_BBUS_SERDRX         BBUS_IRQ(8)
58 #define IRQ_BBUS_SERDTX         BBUS_IRQ(9)
59 #define IRQ_BBUS_I2C            BBUS_IRQ(10)
60 #define IRQ_BBUS_1284           BBUS_IRQ(11)
61 #define IRQ_BBUS_UTIL           BBUS_IRQ(12)
62 #define IRQ_BBUS_RTC            BBUS_IRQ(13)
63 #define IRQ_BBUS_USBHST         BBUS_IRQ(14)
64 #define IRQ_BBUS_USBDEV         BBUS_IRQ(15)
65 #define IRQ_BBUS_AHBDMA1        BBUS_IRQ(24)
66 #define IRQ_BBUS_AHBDMA2        BBUS_IRQ(25)
67
68 /*
69  * these Interrupts are specific for the a9m9750dev board.
70  * They are generated by an FPGA that interrupts the CPU on
71  * IRQ_NS9360_EXT2
72  */
73 #define FPGA_IRQ(irq)   (64 + irq)
74
75 #define IRQ_FPGA_UARTA          FPGA_IRQ(0)
76 #define IRQ_FPGA_UARTB          FPGA_IRQ(1)
77 #define IRQ_FPGA_UARTC          FPGA_IRQ(2)
78 #define IRQ_FPGA_UARTD          FPGA_IRQ(3)
79 #define IRQ_FPGA_TOUCH          FPGA_IRQ(4)
80 #define IRQ_FPGA_CF             FPGA_IRQ(5)
81 #define IRQ_FPGA_CAN0           FPGA_IRQ(6)
82 #define IRQ_FPGA_CAN1           FPGA_IRQ(7)
83
84 #define NR_IRQS 72
85
86 #endif /* __ASM_ARCH_IRQS_H */