[ARM] 3817/1: iop3xx: split the iop3xx mach into iop32x and iop33x
[firefly-linux-kernel-4.4.55.git] / include / asm-arm / arch-iop32x / irqs.h
1 /*
2  * linux/include/asm-arm/arch-iop32x/irqs.h
3  *
4  * Author:      Rory Bolt <rorybolt@pacbell.net>
5  * Copyright:   (C) 2002 Rory Bolt
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  */
12 #ifndef _IRQS_H_
13 #define _IRQS_H_
14
15 /*
16  * IOP80321 chipset interrupts
17  */
18 #define IOP321_IRQ_OFS          0
19 #define IOP321_IRQ(x)           (IOP321_IRQ_OFS + (x))
20
21 /*
22  * On IRQ or FIQ register
23  */
24 #define IRQ_IOP321_DMA0_EOT     IOP321_IRQ(0)
25 #define IRQ_IOP321_DMA0_EOC     IOP321_IRQ(1)
26 #define IRQ_IOP321_DMA1_EOT     IOP321_IRQ(2)
27 #define IRQ_IOP321_DMA1_EOC     IOP321_IRQ(3)
28 #define IRQ_IOP321_RSVD_4       IOP321_IRQ(4)
29 #define IRQ_IOP321_RSVD_5       IOP321_IRQ(5)
30 #define IRQ_IOP321_AA_EOT       IOP321_IRQ(6)
31 #define IRQ_IOP321_AA_EOC       IOP321_IRQ(7)
32 #define IRQ_IOP321_CORE_PMON    IOP321_IRQ(8)
33 #define IRQ_IOP321_TIMER0       IOP321_IRQ(9)
34 #define IRQ_IOP321_TIMER1       IOP321_IRQ(10)
35 #define IRQ_IOP321_I2C_0        IOP321_IRQ(11)
36 #define IRQ_IOP321_I2C_1        IOP321_IRQ(12)
37 #define IRQ_IOP321_MESSAGING    IOP321_IRQ(13)
38 #define IRQ_IOP321_ATU_BIST     IOP321_IRQ(14)
39 #define IRQ_IOP321_PERFMON      IOP321_IRQ(15)
40 #define IRQ_IOP321_CORE_PMU     IOP321_IRQ(16)
41 #define IRQ_IOP321_BIU_ERR      IOP321_IRQ(17)
42 #define IRQ_IOP321_ATU_ERR      IOP321_IRQ(18)
43 #define IRQ_IOP321_MCU_ERR      IOP321_IRQ(19)
44 #define IRQ_IOP321_DMA0_ERR     IOP321_IRQ(20)
45 #define IRQ_IOP321_DMA1_ERR     IOP321_IRQ(21)
46 #define IRQ_IOP321_RSVD_22      IOP321_IRQ(22)
47 #define IRQ_IOP321_AA_ERR       IOP321_IRQ(23)
48 #define IRQ_IOP321_MSG_ERR      IOP321_IRQ(24)
49 #define IRQ_IOP321_SSP          IOP321_IRQ(25)
50 #define IRQ_IOP321_RSVD_26      IOP321_IRQ(26)
51 #define IRQ_IOP321_XINT0        IOP321_IRQ(27)
52 #define IRQ_IOP321_XINT1        IOP321_IRQ(28)
53 #define IRQ_IOP321_XINT2        IOP321_IRQ(29)
54 #define IRQ_IOP321_XINT3        IOP321_IRQ(30)
55 #define IRQ_IOP321_HPI          IOP321_IRQ(31)
56
57 #define NR_IRQS                 (IOP321_IRQ(31) + 1)
58
59
60 /*
61  * Interrupts available on the IQ80321 board
62  */
63
64 /*
65  * On board devices
66  */
67 #define IRQ_IQ80321_I82544      IRQ_IOP321_XINT0
68 #define IRQ_IQ80321_UART        IRQ_IOP321_XINT1
69
70 /*
71  * PCI interrupts
72  */
73 #define IRQ_IQ80321_INTA        IRQ_IOP321_XINT0
74 #define IRQ_IQ80321_INTB        IRQ_IOP321_XINT1
75 #define IRQ_IQ80321_INTC        IRQ_IOP321_XINT2
76 #define IRQ_IQ80321_INTD        IRQ_IOP321_XINT3
77
78 /*
79  * Interrupts on the IQ31244 board
80  */
81
82 /*
83  * On board devices
84  */
85 #define IRQ_IQ31244_UART        IRQ_IOP321_XINT1
86 #define IRQ_IQ31244_I82546      IRQ_IOP321_XINT0
87 #define IRQ_IQ31244_SATA        IRQ_IOP321_XINT2
88 #define IRQ_IQ31244_PCIX_SLOT   IRQ_IOP321_XINT3
89
90 /*
91  * PCI interrupts
92  */
93 #define IRQ_IQ31244_INTA        IRQ_IOP321_XINT0
94 #define IRQ_IQ31244_INTB        IRQ_IOP321_XINT1
95 #define IRQ_IQ31244_INTC        IRQ_IOP321_XINT2
96 #define IRQ_IQ31244_INTD        IRQ_IOP321_XINT3
97
98 #endif // _IRQ_H_