IRQ/FIQ
map
00
FIQn
0−63
INTn
INTPRIn[2:1]
EINTn
IRQn
INT
enable
EABASE
Prioritizer
IRQn
Prioritizer
FIQn
Entry
address
generator
generator
Entry
address
IRQENTRY
FIQENTRY
IRQz
To ARM
FIQz
To ARM
8.3.1 Interrupt Mapping
8.3.2 Interrupt Prioritization
INTC Methodology
www.ti.com
•
The INTC generates the entry address of the pending interrupt with the highest priority and stores the
entry address in the FIQENTRY or the IRQENTRY register, depending on whether the interrupt is
mapped to IRQ or FIQ interrupt. The IRQ or FIQ ISR can then read the entry address and its branch to
the ISR of the interrupt.
Figure 8-1. AINTC Functional Diagram
Each event input is mapped to either the ARM IRQ or to the FIQ interrupt based on the priority level
selected in the INTPRIn register. Events with a priority of 0x0 or 0x1 are designated as FIQs. Those with
priorities of 0x2-0x7 are designated as IRQs. The appropriate IRQ / FIQ registers capture interrupt events.
Each event causes an IRQ or FIQ to generate only if the corresponding EINT bit enables it. The EINT bit
enables or disables the event regardless of whether it is mapped to IRQ or to FIQ. The IRQ / FIQ register
always captures each event, regardless of whether the interrupt is actually enabled.
Event priority is determined using both a fixed and a programmable prioritization scheme. The AINTC has
8 different programmable interrupt priorities. Priority 0 and priority 1 are mapped to the FIQ interrupt with
priority 0 being the highest priority. Priorities 2-7 are mapped to the IRQ interrupt (priority 2 is the highest,
priority 7 is the lowest). Each interrupt is mapped to a priority level using the INTPRIn registers. When
simultaneous events occur (multiple enabled events captured in IRQ or FIQ registers), the event with the
highest priority is the one whose entry table address is generated when sending the interrupt signal to the
ARM. When events of identical priority occur, the event with the lowest event number is treated as having
the higher priority.
Interrupt Controller
90
SPRUFX7 – July 2008