36#ifndef LIBBSP_POWERPC_QORIQ_IRQ_H
37#define LIBBSP_POWERPC_QORIQ_IRQ_H
48#ifdef QORIQ_IS_HYPERVISOR_GUEST
50#define BSP_INTERRUPT_VECTOR_COUNT 1024
54#define QORIQ_IRQ_ERROR 0
56#if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
58#define QORIQ_IRQ_PCI_EXPRESS_1 4
59#define QORIQ_IRQ_PCI_EXPRESS_2 5
60#define QORIQ_IRQ_PCI_EXPRESS_3 6
61#define QORIQ_IRQ_PCI_EXPRESS_4 7
62#define QORIQ_IRQ_PAMU 8
63#define QORIQ_IRQ_IFC 9
64#define QORIQ_IRQ_DMA_CHANNEL_1_1 12
65#define QORIQ_IRQ_DMA_CHANNEL_1_2 13
66#define QORIQ_IRQ_DMA_CHANNEL_1_3 14
67#define QORIQ_IRQ_DMA_CHANNEL_1_4 15
68#define QORIQ_IRQ_DMA_CHANNEL_2_1 16
69#define QORIQ_IRQ_DMA_CHANNEL_2_2 17
70#define QORIQ_IRQ_DMA_CHANNEL_2_3 18
71#define QORIQ_IRQ_DMA_CHANNEL_2_4 19
72#define QORIQ_IRQ_DUART_1 20
73#define QORIQ_IRQ_DUART_2 21
74#define QORIQ_IRQ_DUARL_I2C_1 22
75#define QORIQ_IRQ_DUARL_I2C_2 23
76#define QORIQ_IRQ_PCI_EXPRESS_1_INTA 24
77#define QORIQ_IRQ_PCI_EXPRESS_2_INTA 25
78#define QORIQ_IRQ_PCI_EXPRESS_3_INTA 26
79#define QORIQ_IRQ_PCI_EXPRESS_4_INTA 27
80#define QORIQ_IRQ_USB_1 28
81#define QORIQ_IRQ_USB_2 29
82#define QORIQ_IRQ_ESDHC 32
83#define QORIQ_IRQ_PERF_MON 36
84#define QORIQ_IRQ_ESPI 37
85#define QORIQ_IRQ_GPIO_2 38
86#define QORIQ_IRQ_GPIO_1 39
87#define QORIQ_IRQ_SATA_1 52
88#define QORIQ_IRQ_SATA_2 53
89#define QORIQ_IRQ_DMA_CHANNEL_1_5 60
90#define QORIQ_IRQ_DMA_CHANNEL_1_6 61
91#define QORIQ_IRQ_DMA_CHANNEL_1_7 62
92#define QORIQ_IRQ_DMA_CHANNEL_1_8 63
93#define QORIQ_IRQ_DMA_CHANNEL_2_5 64
94#define QORIQ_IRQ_DMA_CHANNEL_2_6 65
95#define QORIQ_IRQ_DMA_CHANNEL_2_7 66
96#define QORIQ_IRQ_DMA_CHANNEL_2_8 67
97#define QORIQ_IRQ_EVENT_PROC_UNIT_1 68
98#define QORIQ_IRQ_EVENT_PROC_UNIT_2 69
99#define QORIQ_IRQ_GPIO_3 70
100#define QORIQ_IRQ_GPIO_4 71
101#define QORIQ_IRQ_SEC_5_2_JOB_QUEUE_1 72
102#define QORIQ_IRQ_SEC_5_2_JOB_QUEUE_2 73
103#define QORIQ_IRQ_SEC_5_2_JOB_QUEUE_3 74
104#define QORIQ_IRQ_SEC_5_2_JOB_QUEUE_4 75
105#define QORIQ_IRQ_SEC_5_2_GLOBAL_ERROR 76
106#define QORIQ_IRQ_SEC_MON 77
107#define QORIQ_IRQ_EVENT_PROC_UNIT_3 78
108#define QORIQ_IRQ_EVENT_PROC_UNIT_4 79
109#define QORIQ_IRQ_FRAME_MGR 80
110#define QORIQ_IRQ_MDIO_1 84
111#define QORIQ_IRQ_MDIO_2 85
112#define QORIQ_IRQ_QUEUE_MGR_PORTAL_0 88
113#define QORIQ_IRQ_BUFFER_MGR_PORTAL_0 89
114#define QORIQ_IRQ_QUEUE_MGR_PORTAL_1 90
115#define QORIQ_IRQ_BUFFER_MGR_PORTAL_1 91
116#define QORIQ_IRQ_QUEUE_MGR_PORTAL_2 92
117#define QORIQ_IRQ_BUFFER_MGR_PORTAL_2 93
118#define QORIQ_IRQ_QUEUE_MGR_PORTAL_3 94
119#define QORIQ_IRQ_BUFFER_MGR_PORTAL_3 95
120#define QORIQ_IRQ_QUEUE_MGR_PORTAL_4 96
121#define QORIQ_IRQ_BUFFER_MGR_PORTAL_4 97
122#define QORIQ_IRQ_QUEUE_MGR_PORTAL_5 98
123#define QORIQ_IRQ_BUFFER_MGR_PORTAL_5 99
124#define QORIQ_IRQ_QUEUE_MGR_PORTAL_6 100
125#define QORIQ_IRQ_BUFFER_MGR_PORTAL_6 101
126#define QORIQ_IRQ_QUEUE_MGR_PORTAL_7 102
127#define QORIQ_IRQ_BUFFER_MGR_PORTAL_7 103
128#define QORIQ_IRQ_QUEUE_MGR_PORTAL_8 104
129#define QORIQ_IRQ_BUFFER_MGR_PORTAL_8 105
130#define QORIQ_IRQ_QUEUE_MGR_PORTAL_9 106
131#define QORIQ_IRQ_BUFFER_MGR_PORTAL_9 107
132#define QORIQ_IRQ_QUEUE_MGR_PORTAL_10 109
133#define QORIQ_IRQ_BUFFER_MGR_PORTAL_10 109
134#define QORIQ_IRQ_QUEUE_MGR_PORTAL_11 110
135#define QORIQ_IRQ_BUFFER_MGR_PORTAL_11 111
136#define QORIQ_IRQ_QUEUE_MGR_PORTAL_12 112
137#define QORIQ_IRQ_BUFFER_MGR_PORTAL_12 113
138#define QORIQ_IRQ_QUEUE_MGR_PORTAL_13 114
139#define QORIQ_IRQ_BUFFER_MGR_PORTAL_13 115
140#define QORIQ_IRQ_QUEUE_MGR_PORTAL_14 116
141#define QORIQ_IRQ_BUFFER_MGR_PORTAL_14 117
142#define QORIQ_IRQ_QUEUE_MGR_PORTAL_15 118
143#define QORIQ_IRQ_BUFFER_MGR_PORTAL_15 119
144#define QORIQ_IRQ_QUEUE_MGR_PORTAL_16 120
145#define QORIQ_IRQ_BUFFER_MGR_PORTAL_16 121
146#define QORIQ_IRQ_QUEUE_MGR_PORTAL_17 122
147#define QORIQ_IRQ_BUFFER_MGR_PORTAL_17 123
148#define QORIQ_IRQ_DMA_CHANNEL_3_1 240
149#define QORIQ_IRQ_DMA_CHANNEL_3_2 241
150#define QORIQ_IRQ_DMA_CHANNEL_3_3 242
151#define QORIQ_IRQ_DMA_CHANNEL_3_4 243
152#define QORIQ_IRQ_DMA_CHANNEL_3_5 244
153#define QORIQ_IRQ_DMA_CHANNEL_3_6 245
154#define QORIQ_IRQ_DMA_CHANNEL_3_7 246
155#define QORIQ_IRQ_DMA_CHANNEL_3_8 247
157#define QORIQ_IRQ_EXT_BASE 256
171#define QORIQ_IRQ_ETSEC_TX_1_GROUP_1 1
172#define QORIQ_IRQ_ETSEC_RX_1_GROUP_1 2
173#define QORIQ_IRQ_ETSEC_ER_1_GROUP_1 8
174#define QORIQ_IRQ_ETSEC_TX_3_GROUP_1 9
175#define QORIQ_IRQ_ETSEC_RX_3_GROUP_1 10
176#define QORIQ_IRQ_ETSEC_ER_3_GROUP_1 11
177#define QORIQ_IRQ_ETSEC_TX_2_GROUP_1 35
178#define QORIQ_IRQ_ETSEC_RX_2_GROUP_1 36
179#define QORIQ_IRQ_TDM 46
180#define QORIQ_IRQ_TDM_ERROR 47
181#define QORIQ_IRQ_ETSEC_ER_2_GROUP_1 51
195#define QORIQ_IRQ_L2_CACHE 0
196#define QORIQ_IRQ_ECM 1
197#define QORIQ_IRQ_DDR_CONTROLLER 2
198#define QORIQ_IRQ_PCI_EXPRESS_3 8
199#define QORIQ_IRQ_PCI_EXPRESS_2 9
200#define QORIQ_IRQ_PCI_EXPRESS_1 10
201#define QORIQ_IRQ_SRIO_ERR_WRT_1_2 32
202#define QORIQ_IRQ_SRIO_OUT_DOORBELL_1 33
203#define QORIQ_IRQ_SRIO_IN_DOORBELL_1 34
204#define QORIQ_IRQ_SRIO_OUT_MSG_1 37
205#define QORIQ_IRQ_SRIO_IN_MSG_1 38
206#define QORIQ_IRQ_SRIO_OUT_MSG_2 39
207#define QORIQ_IRQ_SRIO_IN_MSG_2 40
221#define QORIQ_IRQ_ELBC 3
222#define QORIQ_IRQ_DMA_CHANNEL_1_1 4
223#define QORIQ_IRQ_DMA_CHANNEL_2_1 5
224#define QORIQ_IRQ_DMA_CHANNEL_3_1 6
225#define QORIQ_IRQ_DMA_CHANNEL_4_1 7
226#define QORIQ_IRQ_USB_1 12
227#define QORIQ_IRQ_ETSEC_TX_1 13
228#define QORIQ_IRQ_ETSEC_RX_1 14
229#define QORIQ_IRQ_ETSEC_TX_3 15
230#define QORIQ_IRQ_ETSEC_RX_3 16
231#define QORIQ_IRQ_ETSEC_ER_3 17
232#define QORIQ_IRQ_ETSEC_ER_1 18
233#define QORIQ_IRQ_ETSEC_TX_2 19
234#define QORIQ_IRQ_ETSEC_RX_2 20
235#define QORIQ_IRQ_ETSEC_ER_2 24
236#define QORIQ_IRQ_DUART_1 26
237#define QORIQ_IRQ_I2C 27
238#define QORIQ_IRQ_PERFORMANCE_MONITOR 28
239#define QORIQ_IRQ_SECURITY_1 29
240#define QORIQ_IRQ_USB_2 30
241#define QORIQ_IRQ_GPIO 31
242#define QORIQ_IRQ_SECURITY_2 42
243#define QORIQ_IRQ_ESPI 43
244#define QORIQ_IRQ_ETSEC_IEEE_1588_1 52
245#define QORIQ_IRQ_ETSEC_IEEE_1588_2 53
246#define QORIQ_IRQ_ETSEC_IEEE_1588_3 54
247#define QORIQ_IRQ_ESDHC 56
248#define QORIQ_IRQ_DMA_CHANNEL_1_2 60
249#define QORIQ_IRQ_DMA_CHANNEL_2_2 61
250#define QORIQ_IRQ_DMA_CHANNEL_3_2 62
251#define QORIQ_IRQ_DMA_CHANNEL_4_2 63
255#define QORIQ_IRQ_EXT_BASE 64
269#define QORIQ_IRQ_EXT_0 (QORIQ_IRQ_EXT_BASE + 0)
270#define QORIQ_IRQ_EXT_1 (QORIQ_IRQ_EXT_BASE + 1)
271#define QORIQ_IRQ_EXT_2 (QORIQ_IRQ_EXT_BASE + 2)
272#define QORIQ_IRQ_EXT_3 (QORIQ_IRQ_EXT_BASE + 3)
273#define QORIQ_IRQ_EXT_4 (QORIQ_IRQ_EXT_BASE + 4)
274#define QORIQ_IRQ_EXT_5 (QORIQ_IRQ_EXT_BASE + 5)
275#define QORIQ_IRQ_EXT_6 (QORIQ_IRQ_EXT_BASE + 6)
276#define QORIQ_IRQ_EXT_7 (QORIQ_IRQ_EXT_BASE + 7)
277#define QORIQ_IRQ_EXT_8 (QORIQ_IRQ_EXT_BASE + 8)
278#define QORIQ_IRQ_EXT_9 (QORIQ_IRQ_EXT_BASE + 9)
279#define QORIQ_IRQ_EXT_10 (QORIQ_IRQ_EXT_BASE + 10)
280#define QORIQ_IRQ_EXT_11 (QORIQ_IRQ_EXT_BASE + 11)
294#define QORIQ_IRQ_IPI_BASE (QORIQ_IRQ_EXT_11 + 1)
295#define QORIQ_IRQ_IPI_0 (QORIQ_IRQ_IPI_BASE + 0)
296#define QORIQ_IRQ_IPI_1 (QORIQ_IRQ_IPI_BASE + 1)
297#define QORIQ_IRQ_IPI_2 (QORIQ_IRQ_IPI_BASE + 2)
298#define QORIQ_IRQ_IPI_3 (QORIQ_IRQ_IPI_BASE + 3)
312#define QORIQ_IRQ_MI_BASE (QORIQ_IRQ_IPI_3 + 1)
313#define QORIQ_IRQ_MI_0 (QORIQ_IRQ_MI_BASE + 0)
314#define QORIQ_IRQ_MI_1 (QORIQ_IRQ_MI_BASE + 1)
315#define QORIQ_IRQ_MI_2 (QORIQ_IRQ_MI_BASE + 2)
316#define QORIQ_IRQ_MI_3 (QORIQ_IRQ_MI_BASE + 3)
317#define QORIQ_IRQ_MI_4 (QORIQ_IRQ_MI_BASE + 4)
318#define QORIQ_IRQ_MI_5 (QORIQ_IRQ_MI_BASE + 5)
319#define QORIQ_IRQ_MI_6 (QORIQ_IRQ_MI_BASE + 6)
320#define QORIQ_IRQ_MI_7 (QORIQ_IRQ_MI_BASE + 7)
334#define QORIQ_IRQ_MSI_BASE (QORIQ_IRQ_MI_7 + 1)
335#define QORIQ_IRQ_MSI_0 (QORIQ_IRQ_MSI_BASE + 0)
336#define QORIQ_IRQ_MSI_1 (QORIQ_IRQ_MSI_BASE + 1)
337#define QORIQ_IRQ_MSI_2 (QORIQ_IRQ_MSI_BASE + 2)
338#define QORIQ_IRQ_MSI_3 (QORIQ_IRQ_MSI_BASE + 3)
339#define QORIQ_IRQ_MSI_4 (QORIQ_IRQ_MSI_BASE + 4)
340#define QORIQ_IRQ_MSI_5 (QORIQ_IRQ_MSI_BASE + 5)
341#define QORIQ_IRQ_MSI_6 (QORIQ_IRQ_MSI_BASE + 6)
342#define QORIQ_IRQ_MSI_7 (QORIQ_IRQ_MSI_BASE + 7)
356#define QORIQ_IRQ_GT_BASE (QORIQ_IRQ_MSI_7 + 1)
357#define QORIQ_IRQ_GT_A_0 (QORIQ_IRQ_GT_BASE + 0)
358#define QORIQ_IRQ_GT_A_1 (QORIQ_IRQ_GT_BASE + 1)
359#define QORIQ_IRQ_GT_A_2 (QORIQ_IRQ_GT_BASE + 2)
360#define QORIQ_IRQ_GT_A_3 (QORIQ_IRQ_GT_BASE + 3)
361#define QORIQ_IRQ_GT_B_0 (QORIQ_IRQ_GT_BASE + 4)
362#define QORIQ_IRQ_GT_B_1 (QORIQ_IRQ_GT_BASE + 5)
363#define QORIQ_IRQ_GT_B_2 (QORIQ_IRQ_GT_BASE + 6)
364#define QORIQ_IRQ_GT_B_3 (QORIQ_IRQ_GT_BASE + 7)
366#define QORIQ_INTERRUPT_SOURCE_COUNT (QORIQ_IRQ_GT_B_3 + 1)
368#define QORIQ_IS_INTERRUPT_SOURCE(vector) \
369 (((rtems_vector_number) (vector)) < QORIQ_INTERRUPT_SOURCE_COUNT)
371#define QORIQ_IRQ_MSI_MULTIPLEX_BASE QORIQ_INTERRUPT_SOURCE_COUNT
373#define QORIQ_IRQ_MSI_COUNT 256
375#define QORIQ_IRQ_MSI_INDEX(vector) ((vector) - QORIQ_IRQ_MSI_MULTIPLEX_BASE)
377#define QORIQ_IRQ_MSI_VECTOR(index) (QORIQ_IRQ_MSI_MULTIPLEX_BASE + (index))
379#define QORIQ_IRQ_IS_MSI(vector) \
380 (QORIQ_IRQ_MSI_INDEX(vector) < QORIQ_IRQ_MSI_COUNT)
382#define BSP_INTERRUPT_VECTOR_COUNT QORIQ_IRQ_MSI_VECTOR(QORIQ_IRQ_MSI_COUNT)
398#define QORIQ_PIC_PRIORITY_LOWEST 1
399#define QORIQ_PIC_PRIORITY_HIGHEST 15
400#define QORIQ_PIC_PRIORITY_DISABLED 0
401#define QORIQ_PIC_PRIORITY_INVALID (QORIQ_PIC_PRIORITY_HIGHEST + 1)
402#define QORIQ_PIC_PRIORITY_DEFAULT (QORIQ_PIC_PRIORITY_LOWEST + 1)
403#define QORIQ_PIC_PRIORITY_IS_VALID(p) \
404 ((p) >= QORIQ_PIC_PRIORITY_DISABLED && (p) <= QORIQ_PIC_PRIORITY_HIGHEST)
414 const Processor_mask *affinity
419 Processor_mask *affinity
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
This header file is provided for backward compatiblility.
This header file provides the interfaces of the Processor Mask.