SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Table 19-6 lists the default interrupt sources for the IPU2_Cx_INTC. In addition, device interrupts IPU2_IRQ_23 through IPU2_IRQ_79 can alternatively be sourced through the IPU2's IRQ_CROSSBAR from one of the 420 multiplexed device interrupts listed in Table 19-9. The CTRL_CORE_IPU2_IRQ_y_z registers in the Control Module are used to select between the default interrupts and the multiplexed interrupts.
IRQ Input Line(1) | IRQ_ CROSSBAR Instance Number | IRQ_CROSSBAR Configuration Register | IRQ_ CROSSBAR Default Input Index | Default Interrupt Name | Default Interrupt Source Description |
---|---|---|---|---|---|
IPU2_IRQ_0 | N/A | N/A | N/A | Reserved | MSP initial value in exception vector table |
IPU2_IRQ_1 | N/A | N/A | N/A | RESET_IRQ | Reset |
IPU2_IRQ_2 | N/A | N/A | N/A | NMI_IRQ | External NMI input (interrupt from nmin_dsp device pad) |
IPU2_IRQ_3 | N/A | N/A | N/A | HARD_FAULT_IRQ | All fault conditions, if the fault handle is not enabled |
IPU2_IRQ_4 | N/A | N/A | N/A | MEM_MANAGE_FAULT_IRQ | Memory management fault; access to illegal locations |
IPU2_IRQ_5 | N/A | N/A | N/A | BUS_FAULT_IRQ | Bus error (on AHB intf) |
IPU2_IRQ_6 | N/A | N/A | N/A | USAGE_FAULT_IRQ | Program error |
IPU2_IRQ_7 | N/A | N/A | N/A | Reserved | Reserved |
IPU2_IRQ_8 | N/A | N/A | N/A | Reserved | Reserved |
IPU2_IRQ_9 | NA | N/A | N/A | Reserved | Reserved |
IPU2_IRQ_10 | N/A | N/A | N/A | Reserved | Reserved |
IPU2_IRQ_11 | N/A | N/A | N/A | SV_CALL_IRQ | Service system Call |
IPU2_IRQ_12 | N/A | N/A | N/A | DEBUG_MON_IRQ | BP, WP or external debug req. |
IPU2_IRQ_13 | N/A | N/A | N/A | Reserved | Reserved |
IPU2_IRQ_14 | N/A | N/A | N/A | PEND_SV_IRQ | Pendable request for system device |
IPU2_IRQ_15 | N/A | N/A | N/A | SYS_TICK_TIMER_IRQ | System Tick Timer |
IPU2_IRQ_16 | N/A | N/A | N/A | XLATE_MMU_FAULT_IRQ | xlate_mmu_fault (from L2 MMU) |
IPU2_IRQ_17 | N/A | N/A | N/A | UNICACHE_MMU_IRQ | Unicache or MMU maintenance complete |
IPU2_IRQ_18 | N/A | N/A | N/A | CTM_TIM_EVENT1_IRQ | CTM timer event (timer #1) |
IPU2_IRQ_19 | N/A | N/A | N/A | HWSEM_M4_IRQ | Semaphore interrupt (1 to each core) |
IPU2_IRQ_20 | N/A | N/A | N/A | ICE_NEMU_IRQ | ICECrusher (1 to each core) |
IPU2_IRQ_21 | N/A | N/A | N/A | IPU_IMP_FAULT_IRQ | Ducati imprecise fault (from interconnect) |
IPU2_IRQ_22 | N/A | N/A | N/A | CTM_TIM_EVENT2_IRQ | CTM timer event (timer #2) |
IPU2_IRQ_23 | 1 | CTRL_CORE_IPU2_IRQ_23_24[8:0] | 20 | DISPC_IRQ | Display controller interrupt |
IPU2_IRQ_24 | 2 | CTRL_CORE_IPU2_IRQ_23_24[24:16] | 48 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_25 | 3 | CTRL_CORE_IPU2_IRQ_25_26[8:0] | 0 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_26 | 4 | CTRL_CORE_IPU2_IRQ_25_26[24:16] | 96 | HDMI_IRQ | HDMI interrupt |
IPU2_IRQ_27 | 5 | CTRL_CORE_IPU2_IRQ_27_28[8:0] | 126 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_28 | 6 | CTRL_CORE_IPU2_IRQ_27_28[24:16] | 127 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_29 | 7 | CTRL_CORE_IPU2_IRQ_29_30[8:0] | 128 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_30 | 8 | CTRL_CORE_IPU2_IRQ_29_30[24:16] | 129 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_31 | 9 | CTRL_CORE_IPU2_IRQ_31_32[8:0] | 130 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_32 | 10 | CTRL_CORE_IPU2_IRQ_31_32[24:16] | 19 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_33 | 11 | CTRL_CORE_IPU2_IRQ_33_34[8:0] | 131 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_34 | 12 | CTRL_CORE_IPU2_IRQ_33_34[24:16] | 7 | DMA_SYSTEM_IRQ_0 | System DMA interrupt 0 |
IPU2_IRQ_35 | 13 | CTRL_CORE_IPU2_IRQ_35_36[8:0] | 8 | DMA_SYSTEM_IRQ_1 | System DMA interrupt 1 |
IPU2_IRQ_36 | 14 | CTRL_CORE_IPU2_IRQ_35_36[24:16] | 9 | DMA_SYSTEM_IRQ_2 | System DMA interrupt 2 |
IPU2_IRQ_37 | 15 | CTRL_CORE_IPU2_IRQ_37_38[8:0] | 10 | DMA_SYSTEM_IRQ_3 | System DMA interrupt 3 |
IPU2_IRQ_38 | 16 | CTRL_CORE_IPU2_IRQ_37_38[24:16] | 132 | IVA_IRQ_MAILBOX_2 | IVA mailbox user 2 interrupt |
IPU2_IRQ_39 | 17 | CTRL_CORE_IPU2_IRQ_39_40[8:0] | 98 | IVA_IRQ_SYNC_1 | IVA ICONT2 sync interrupt |
IPU2_IRQ_40 | 18 | CTRL_CORE_IPU2_IRQ_39_40[24:16] | 99 | IVA_IRQ_SYNC_0 | IVA ICONT1 sync interrupt |
IPU2_IRQ_41 | 19 | CTRL_CORE_IPU2_IRQ_41_42[8:0] | 51 | I2C1_IRQ | I2C1 interrupt |
IPU2_IRQ_42 | 20 | CTRL_CORE_IPU2_IRQ_41_42[24:16] | 52 | I2C2_IRQ | I2C2 interrupt |
IPU2_IRQ_43 | 21 | CTRL_CORE_IPU2_IRQ_43_44[8:0] | 56 | I2C3_IRQ | I2C3 interrupt |
IPU2_IRQ_44 | 22 | CTRL_CORE_IPU2_IRQ_43_44[24:16] | 57 | I2C4_IRQ | I2C4 interrupt |
IPU2_IRQ_45 | 23 | CTRL_CORE_IPU2_IRQ_45_46[8:0] | 69 | UART3_IRQ | UART3 interrupt |
IPU2_IRQ_46 | 24 | CTRL_CORE_IPU2_IRQ_45_46[24:16] | 5 | L3_MAIN_IRQ_APP_ERR | L3_MAIN application or non-attributable error |
IPU2_IRQ_47 | 25 | CTRL_CORE_IPU2_IRQ_47_48[8:0] | 133 | PRM_IRQ_IPU1 | PRCM interrupt to IPU2 |
IPU2_IRQ_48 | 26 | CTRL_CORE_IPU2_IRQ_47_48[24:16] | 14 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_49 | 27 | CTRL_CORE_IPU2_IRQ_49_50[8:0] | 66 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_50 | 28 | CTRL_CORE_IPU2_IRQ_49_50[24:16] | 134 | MAILBOX1_IRQ_USER2 | Mailbox 1 user 2 interrupt |
IPU2_IRQ_51 | 29 | CTRL_CORE_IPU2_IRQ_51_52[8:0] | 24 | GPIO1_IRQ_1 | GPIO1 interrupt 1 |
IPU2_IRQ_52 | 30 | CTRL_CORE_IPU2_IRQ_51_52[24:16] | 25 | GPIO2_IRQ_1 | GPIO2 interrupt 1 |
IPU2_IRQ_53 | 31 | CTRL_CORE_IPU2_IRQ_53_54[8:0] | 34 | TIMER3_IRQ | TIMER3 interrupt |
IPU2_IRQ_54 | 32 | CTRL_CORE_IPU2_IRQ_53_54[24:16] | 35 | TIMER4_IRQ | TIMER4 interrupt |
IPU2_IRQ_55 | 33 | CTRL_CORE_IPU2_IRQ_55_56[8:0] | 40 | TIMER9_IRQ | TIMER9 interrupt |
IPU2_IRQ_56 | 34 | CTRL_CORE_IPU2_IRQ_55_56[24:16] | 42 | TIMER11_IRQ | TIMER11 interrupt |
IPU2_IRQ_57 | 35 | CTRL_CORE_IPU2_IRQ_57_58[8:0] | 60 | MCSPI1_IRQ | McSPI1 interrupt |
IPU2_IRQ_58 | 36 | CTRL_CORE_IPU2_IRQ_57_58[24:16] | 61 | MCSPI2_IRQ | McSPI2 interrupt |
IPU2_IRQ_59 | 37 | CTRL_CORE_IPU2_IRQ_59_60[8:0] | 50 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_60 | 38 | CTRL_CORE_IPU2_IRQ_59_60[24:16] | 0 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_61 | 39 | CTRL_CORE_IPU2_IRQ_61_62[8:0] | 0 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_62 | 40 | CTRL_CORE_IPU2_IRQ_61_62[24:16] | 22 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_63 | 41 | CTRL_CORE_IPU2_IRQ_63_64[8:0] | 83 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_64 | 42 | CTRL_CORE_IPU2_IRQ_63_64[24:16] | 108 | DMM_IRQ | DMM interrupt |
IPU2_IRQ_65 | 43 | CTRL_CORE_IPU2_IRQ_65_66[8:0] | 120 | BB2D_IRQ | BB2D interrupt |
IPU2_IRQ_66 | 44 | CTRL_CORE_IPU2_IRQ_65_66[24:16] | 78 | MMC1_IRQ | MMC1 interrupt |
IPU2_IRQ_67 | 45 | CTRL_CORE_IPU2_IRQ_67_68[8:0] | 81 | MMC2_IRQ | MMC2 interrupt |
IPU2_IRQ_68 | 46 | CTRL_CORE_IPU2_IRQ_67_68[24:16] | 89 | MMC3_IRQ | MMC3 interrupt |
IPU2_IRQ_69 | 47 | CTRL_CORE_IPU2_IRQ_69_70[8:0] | 0 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_70 | 48 | CTRL_CORE_IPU2_IRQ_69_70[24:16] | 0 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_71 | 49 | CTRL_CORE_IPU2_IRQ_71_72[8:0] | 119 | Reserved | Reserved by default but can be remapped to a valid interrupt source |
IPU2_IRQ_72 | 50 | CTRL_CORE_IPU2_IRQ_71_72[24:16] | 118 | MCAN_IRQ_TS | MCAN timestamp interrupt |
IPU2_IRQ_73 | 51 | CTRL_CORE_IPU2_IRQ_73_74[8:0] | 72 | USB1_IRQ_INTR1 | USB1 interrupt 1 |
IPU2_IRQ_74 | 52 | CTRL_CORE_IPU2_IRQ_73_74[24:16] | 73 | USB2_IRQ_INTR0 | USB2 interrupt 0 |
IPU2_IRQ_75 | 53 | CTRL_CORE_IPU2_IRQ_75_76[8:0] | 117 | MCAN_IRQ_PARITY | MCAN parity error interrupt |
IPU2_IRQ_76 | 54 | CTRL_CORE_IPU2_IRQ_75_76[24:16] | 87 | USB2_IRQ_INTR1 | USB2 interrupt 1 |
IPU2_IRQ_77 | 55 | CTRL_CORE_IPU2_IRQ_77_78[8:0] | 88 | USB3_IRQ_INTR0 | USB3 interrupt 0 |
IPU2_IRQ_78 | 56 | CTRL_CORE_IPU2_IRQ_77_78[24:16] | 62 | MCAN_IRQ_INT0 | MCAN interrupt 0 |
IPU2_IRQ_79 | 57 | CTRL_CORE_IPU2_IRQ_79_80[8:0] | 63 | MCAN_IRQ_INT1 | MCAN interrupt 1 |
Exceptions/interrupts IPU2_IRQ_[15:0] are all internal to the Cortex-M4 core.
Exceptions/interrupts IPU2_IRQ_[79:16] are all external to the Cortex-M4 core – that is, the first Cortex-M4 external interrupt is mapped to IPU2_IRQ_16 (exception #16), and the last (sixty-fourth) Cortex-M4 external interrupt is mapped to IPU2_IRQ_79 (exception #79).
For more information about Cortex-M4 exception types, refer to Arm Cortex®-M4 Devices Generic User Guide (available at http://infocenter.arm.com/help/index.jsp).
The "IRQ_CROSSBAR Default Input Index" column of Table 19-6 shows which input of the corresponding IRQ_CROSSBAR instance is mapped to its output (and then routed to the corresponding IPU2_Cx_INTC input) by default. In other words, this column specifies the default (reset) values (in decimal) of the CTRL_CORE_IPU2_IRQ_y_z register bit fields that are used to control the mapping of device interrupts to IPU2_Cx_INTC inputs. For example, the IPU2_IRQ_23_24[8:0] bit field is used to configure which device interrupt would be mapped to the IPU2_IRQ_23 line. The reset value of this bit field is 0x14, meaning that DISPC_IRQ would be mapped to IPU2_IRQ_23 by default because it is connected to the IRQ_CROSSBAR_20 input.
'N/A' in this column means that the corresponding interrupt is internal to the IPU2 subsystem. There is no IRQ_CROSSBAR dedicated to the associated IPU2_Cx_INTC input line and therefore, the user cannot change its default mapping.
The CTRL_CORE_IPU2_IRQ_y_z registers control the IRQ_CROSSBAR settings for both NVICs in the IPU2 subsystem. That is, it is not possible to map different interrupts to the same interrupt input of the NVICs in IPU2.