SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The device has a large number of interrupts to service the needs of its many peripherals and subsystems. The MPU, DSP (x2), IPU (x2), and EVE (x2) subsystems are capable of servicing these interrupts via their integrated interrupt controllers. In addition, each processor's interrupt controller is preceded by an Interrupt Controller Crossbar (IRQ_CROSSBAR) that provides flexibility in mapping the device interrupts to processor interrupt inputs. For more information about IRQ crossbar, see Chapter 18, Control Module.
Dual Cortex®-A15 MPU Subsystem Interrupt Controller (MPU_INTC)
The MPU_INTC module (also called Generalized Interrupt Controller [GIC]) is a single functional unit that is integrated in the Arm® Cortex-A15 multiprocessor core (MPCore) alongside Cortex-A15 processors. It provides:
Each Cortex-A15 processor supports three main groups of interrupt sources, with each interrupt source having a unique ID:
For detailed information about this module and description of SGIs and PPIs, see the Arm Cortex-A15 MPCore Technical Reference Manual (available at infocenter.arm.com/help/index.jsp).
C66x DSP Subsystem Interrupt Controller (DSPx_INTC, where x = 1, 2)
There are two Digital Signal Processing (DSP) subsystems in the device - DSP1, and DSP2. Each DSP subsystem integrates an interrupt controller - DSPx_INTC, which interfaces the system events to the C66x core interrupt and exceptions inputs. It combines up to 128 interrupts into 12 prioritized interrupts presented to the C66x CPU.
For detailed information about this module, see Chapter 5, DSP Subsystem.
Dual Cortex-M4 IPU Subsystem Interrupt Controller (IPUx_Cx_INTC, where x = 1, 2)
There are two Image Processing Unit (IPU) subsystems in the device - IPU1, and IPU2. Each IPU subsystem integrates two Arm Cortex-M4 cores.
A Nested Vectored Interrupt Controller (NVIC) is integrated within each Cortex-M4. The interrupt mapping is the same (per IPU) for the two cores to facilitate parallel processing. The NVIC supports:
For detailed information about this module, refer to Arm Cortex-M4 Technical Reference Manual (available at infocenter.arm.com/help/index.jsp).
IPUx_Cx_INTC is a unified name for the following interrupt controllers:
EVE Subsystem Interrupt Controller (EVEx_INTC, where x = 1 to 2)
There are two Embedded Video Engine (EVE) subsystems in the device - EVE1, and EVE2. Each EVE subsystem integrates an interrupt controller - EVEx_INTC, which handles incoming interrupts, merging them with internal interrupt sources to drive ARP32's interrupt inputs. It also allows ARP32 to generate outgoing interrupts or events to synchronize with other system processors and EDMA.
The EVEx_INTC supports up to 32 active-high level interrupt inputs. Its architecture allows both hardware and software prioritization.
For detailed information about this module, see Section 8.1, Embedded Vision Engine.
Figure 17-1 shows the top-level block diagram of the interrupt controllers in this device.