0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _ASM_POWERPC_TSI108_IRQ_H
0016 #define _ASM_POWERPC_TSI108_IRQ_H
0017
0018
0019
0020
0021 #ifndef TSI108_IRQ_REG_BASE
0022 #define TSI108_IRQ_REG_BASE 0
0023 #endif
0024
0025 #define TSI108_IRQ(x) (TSI108_IRQ_REG_BASE + (x))
0026
0027 #define TSI108_MAX_VECTORS (36 + 4)
0028 #define MAX_TASK_PRIO 0xF
0029
0030 #define TSI108_IRQ_SPURIOUS (TSI108_MAX_VECTORS)
0031
0032 #define DEFAULT_PRIO_LVL 10
0033
0034
0035
0036
0037
0038
0039 #define IRQ_TSI108_EXT_INT0 TSI108_IRQ(0)
0040 #define IRQ_TSI108_EXT_INT1 TSI108_IRQ(1)
0041 #define IRQ_TSI108_EXT_INT2 TSI108_IRQ(2)
0042 #define IRQ_TSI108_EXT_INT3 TSI108_IRQ(3)
0043
0044
0045
0046 #define IRQ_TSI108_RESERVED0 TSI108_IRQ(4)
0047 #define IRQ_TSI108_RESERVED1 TSI108_IRQ(5)
0048 #define IRQ_TSI108_RESERVED2 TSI108_IRQ(6)
0049 #define IRQ_TSI108_RESERVED3 TSI108_IRQ(7)
0050 #define IRQ_TSI108_DMA0 TSI108_IRQ(8)
0051 #define IRQ_TSI108_DMA1 TSI108_IRQ(9)
0052 #define IRQ_TSI108_DMA2 TSI108_IRQ(10)
0053 #define IRQ_TSI108_DMA3 TSI108_IRQ(11)
0054 #define IRQ_TSI108_UART0 TSI108_IRQ(12)
0055 #define IRQ_TSI108_UART1 TSI108_IRQ(13)
0056 #define IRQ_TSI108_I2C TSI108_IRQ(14)
0057 #define IRQ_TSI108_GPIO TSI108_IRQ(15)
0058 #define IRQ_TSI108_GIGE0 TSI108_IRQ(16)
0059 #define IRQ_TSI108_GIGE1 TSI108_IRQ(17)
0060 #define IRQ_TSI108_RESERVED4 TSI108_IRQ(18)
0061 #define IRQ_TSI108_HLP TSI108_IRQ(19)
0062 #define IRQ_TSI108_SDRAM TSI108_IRQ(20)
0063 #define IRQ_TSI108_PROC_IF TSI108_IRQ(21)
0064 #define IRQ_TSI108_RESERVED5 TSI108_IRQ(22)
0065 #define IRQ_TSI108_PCI TSI108_IRQ(23)
0066
0067 #define IRQ_TSI108_MBOX0 TSI108_IRQ(24)
0068 #define IRQ_TSI108_MBOX1 TSI108_IRQ(25)
0069 #define IRQ_TSI108_MBOX2 TSI108_IRQ(26)
0070 #define IRQ_TSI108_MBOX3 TSI108_IRQ(27)
0071
0072 #define IRQ_TSI108_DBELL0 TSI108_IRQ(28)
0073 #define IRQ_TSI108_DBELL1 TSI108_IRQ(29)
0074 #define IRQ_TSI108_DBELL2 TSI108_IRQ(30)
0075 #define IRQ_TSI108_DBELL3 TSI108_IRQ(31)
0076
0077 #define IRQ_TSI108_TIMER0 TSI108_IRQ(32)
0078 #define IRQ_TSI108_TIMER1 TSI108_IRQ(33)
0079 #define IRQ_TSI108_TIMER2 TSI108_IRQ(34)
0080 #define IRQ_TSI108_TIMER3 TSI108_IRQ(35)
0081
0082
0083
0084
0085 #define IRQ_PCI_INTAD_BASE TSI108_IRQ(36)
0086 #define IRQ_PCI_INTA (IRQ_PCI_INTAD_BASE + 0)
0087 #define IRQ_PCI_INTB (IRQ_PCI_INTAD_BASE + 1)
0088 #define IRQ_PCI_INTC (IRQ_PCI_INTAD_BASE + 2)
0089 #define IRQ_PCI_INTD (IRQ_PCI_INTAD_BASE + 3)
0090 #define NUM_PCI_IRQS (4)
0091
0092
0093 #define IRQ_TSI108_TAB_SIZE (TSI108_MAX_VECTORS + 1)
0094
0095
0096
0097 #define IDIR_INT_OUT0 0x1
0098 #define IDIR_INT_OUT1 0x2
0099 #define IDIR_INT_OUT2 0x4
0100 #define IDIR_INT_OUT3 0x8
0101
0102
0103
0104
0105
0106 typedef enum {
0107 TSI108_IRQ_DIRECTED,
0108 TSI108_IRQ_DISTRIBUTED,
0109 } TSI108_IRQ_MODE;
0110 #endif