37#ifndef TQM8xx_IRQ_IRQ_H
38#define TQM8xx_IRQ_IRQ_H
54#define BSP_SIU_PER_IRQ_NUMBER 16U
55#define BSP_SIU_IRQ_LOWEST_OFFSET 0U
56#define BSP_SIU_IRQ_MAX_OFFSET (BSP_SIU_IRQ_LOWEST_OFFSET\
57 +BSP_SIU_PER_IRQ_NUMBER-1U)
59#define BSP_IS_SIU_IRQ(irqnum) \
60 (((unsigned)(irqnum) - BSP_SIU_IRQ_LOWEST_OFFSET) < BSP_SIU_PER_IRQ_NUMBER)
62#define BSP_CPM_PER_IRQ_NUMBER 32U
63#define BSP_CPM_IRQ_LOWEST_OFFSET (BSP_SIU_IRQ_MAX_OFFSET+1U)
64#define BSP_CPM_IRQ_MAX_OFFSET (BSP_CPM_IRQ_LOWEST_OFFSET\
65 +BSP_CPM_PER_IRQ_NUMBER-1U)
67#define BSP_IS_CPM_IRQ(irqnum) \
68 (((unsigned)(irqnum) - BSP_CPM_IRQ_LOWEST_OFFSET) < BSP_CPM_PER_IRQ_NUMBER)
73#define BSP_PROCESSOR_IRQ_NUMBER 1U
74#define BSP_PROCESSOR_IRQ_LOWEST_OFFSET (BSP_CPM_IRQ_MAX_OFFSET+1U)
75#define BSP_PROCESSOR_IRQ_MAX_OFFSET (BSP_PROCESSOR_IRQ_LOWEST_OFFSET\
76 +BSP_PROCESSOR_IRQ_NUMBER-1U)
78#define BSP_IS_PROCESSOR_IRQ(irqnum) \
79 (((irqnum) >= BSP_PROCESSOR_IRQ_LOWEST_OFFSET) && \
80 ((irqnum) <= BSP_PROCESSOR_IRQ_MAX_OFFSET))
84#define BSP_IRQ_NUMBER (BSP_PROCESSOR_IRQ_MAX_OFFSET+1U)
85#define BSP_LOWEST_OFFSET BSP_SIU_IRQ_LOWEST_OFFSET
86#define BSP_MAX_OFFSET BSP_PROCESSOR_IRQ_MAX_OFFSET
88#define BSP_IS_VALID_IRQ(irqnum) \
89 (BSP_IS_PROCESSOR_IRQ(irqnum) \
90 || BSP_IS_SIU_IRQ(irqnum) \
91 || BSP_IS_CPM_IRQ(irqnum))
102 BSP_SIU_EXT_IRQ_0 = BSP_SIU_IRQ_LOWEST_OFFSET + 0,
103 BSP_SIU_INT_IRQ_0 = BSP_SIU_IRQ_LOWEST_OFFSET + 1,
104 BSP_SIU_EXT_IRQ_1 = BSP_SIU_IRQ_LOWEST_OFFSET + 2,
105 BSP_SIU_INT_IRQ_1 = BSP_SIU_IRQ_LOWEST_OFFSET + 3,
106 BSP_SIU_EXT_IRQ_2 = BSP_SIU_IRQ_LOWEST_OFFSET + 4,
107 BSP_SIU_INT_IRQ_2 = BSP_SIU_IRQ_LOWEST_OFFSET + 5,
108 BSP_SIU_EXT_IRQ_3 = BSP_SIU_IRQ_LOWEST_OFFSET + 6,
109 BSP_SIU_INT_IRQ_3 = BSP_SIU_IRQ_LOWEST_OFFSET + 7,
110 BSP_SIU_EXT_IRQ_4 = BSP_SIU_IRQ_LOWEST_OFFSET + 8,
111 BSP_SIU_INT_IRQ_4 = BSP_SIU_IRQ_LOWEST_OFFSET + 9,
112 BSP_SIU_EXT_IRQ_5 = BSP_SIU_IRQ_LOWEST_OFFSET + 10,
113 BSP_SIU_INT_IRQ_5 = BSP_SIU_IRQ_LOWEST_OFFSET + 11,
114 BSP_SIU_EXT_IRQ_6 = BSP_SIU_IRQ_LOWEST_OFFSET + 12,
115 BSP_SIU_INT_IRQ_6 = BSP_SIU_IRQ_LOWEST_OFFSET + 13,
116 BSP_SIU_EXT_IRQ_7 = BSP_SIU_IRQ_LOWEST_OFFSET + 14,
117 BSP_SIU_INT_IRQ_7 = BSP_SIU_IRQ_LOWEST_OFFSET + 15,
118 BSP_SIU_IRQ_LAST = BSP_SIU_IRQ_MAX_OFFSET,
122 BSP_CPM_IRQ_ERROR = (BSP_CPM_IRQ_LOWEST_OFFSET),
123 BSP_CPM_IRQ_PARALLEL_IO_PC4 = (BSP_CPM_IRQ_LOWEST_OFFSET + 1),
124 BSP_CPM_IRQ_PARALLEL_IO_PC5 = (BSP_CPM_IRQ_LOWEST_OFFSET + 2),
125 BSP_CPM_IRQ_SMC2_OR_PIP = (BSP_CPM_IRQ_LOWEST_OFFSET + 3),
126 BSP_CPM_IRQ_SMC1 = (BSP_CPM_IRQ_LOWEST_OFFSET + 4),
127 BSP_CPM_IRQ_SPI = (BSP_CPM_IRQ_LOWEST_OFFSET + 5),
128 BSP_CPM_IRQ_PARALLEL_IO_PC6 = (BSP_CPM_IRQ_LOWEST_OFFSET + 6),
129 BSP_CPM_IRQ_TIMER_4 = (BSP_CPM_IRQ_LOWEST_OFFSET + 7),
130 BSP_CPM_IRQ_PARALLEL_IO_PC7 = (BSP_CPM_IRQ_LOWEST_OFFSET + 9),
131 BSP_CPM_IRQ_PARALLEL_IO_PC8 = (BSP_CPM_IRQ_LOWEST_OFFSET + 10),
132 BSP_CPM_IRQ_PARALLEL_IO_PC9 = (BSP_CPM_IRQ_LOWEST_OFFSET + 11),
133 BSP_CPM_IRQ_TIMER_3 = (BSP_CPM_IRQ_LOWEST_OFFSET + 12),
134 BSP_CPM_IRQ_PARALLEL_IO_PC10= (BSP_CPM_IRQ_LOWEST_OFFSET + 14),
135 BSP_CPM_IRQ_PARALLEL_IO_PC11= (BSP_CPM_IRQ_LOWEST_OFFSET + 15),
136 BSP_CPM_I2C = (BSP_CPM_IRQ_LOWEST_OFFSET + 16),
137 BSP_CPM_RISC_TIMER_TABLE = (BSP_CPM_IRQ_LOWEST_OFFSET + 17),
138 BSP_CPM_IRQ_TIMER_2 = (BSP_CPM_IRQ_LOWEST_OFFSET + 18),
139 BSP_CPM_IDMA2 = (BSP_CPM_IRQ_LOWEST_OFFSET + 20),
140 BSP_CPM_IDMA1 = (BSP_CPM_IRQ_LOWEST_OFFSET + 21),
141 BSP_CPM_SDMA_CHANNEL_BUS_ERR= (BSP_CPM_IRQ_LOWEST_OFFSET + 22),
142 BSP_CPM_IRQ_PARALLEL_IO_PC12= (BSP_CPM_IRQ_LOWEST_OFFSET + 23),
143 BSP_CPM_IRQ_PARALLEL_IO_PC13= (BSP_CPM_IRQ_LOWEST_OFFSET + 24),
144 BSP_CPM_IRQ_TIMER_1 = (BSP_CPM_IRQ_LOWEST_OFFSET + 25),
145 BSP_CPM_IRQ_PARALLEL_IO_PC14= (BSP_CPM_IRQ_LOWEST_OFFSET + 26),
146 BSP_CPM_IRQ_SCC4 = (BSP_CPM_IRQ_LOWEST_OFFSET + 27),
147 BSP_CPM_IRQ_SCC3 = (BSP_CPM_IRQ_LOWEST_OFFSET + 28),
148 BSP_CPM_IRQ_SCC2 = (BSP_CPM_IRQ_LOWEST_OFFSET + 29),
149 BSP_CPM_IRQ_SCC1 = (BSP_CPM_IRQ_LOWEST_OFFSET + 30),
150 BSP_CPM_IRQ_PARALLEL_IO_PC15= (BSP_CPM_IRQ_LOWEST_OFFSET + 31),
151 BSP_CPM_IRQ_LAST = BSP_CPM_IRQ_MAX_OFFSET,
152 } rtems_irq_symbolic_name;
157#define BSP_CPM_INTERRUPT BSP_SIU_INT_IRQ_2
158#define BSP_PERIODIC_TIMER BSP_SIU_INT_IRQ_6
159#define BSP_FAST_ETHERNET_CTRL BSP_SIU_INT_IRQ_3
161#define BSP_INTERRUPT_VECTOR_COUNT (BSP_MAX_OFFSET + 1U)
163extern int BSP_irq_enabled_at_cpm(
const rtems_irq_number irqLine);
Interrupt Handler Support.
This header file is provided for backward compatiblility.
This header file defines the RTEMS Classic API.