SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The EVE subsystem instantiates four INTC subblocks. Each ARP32 INTC supports up to 32 active-high level interrupt inputs, and outputs up to five active-high level interrupt outputs. NTC0 maps to NMI and INT[7:4]; INTC1 maps to INT[11:8]; INTC2 maps to INT[13:12]; and INTC3 maps to INT[15:14].
The ARP32_INTn_IRQSTATUS_RAW or ARP32_NMI_IRQSTATUS_RAW register is set when the input signal transitions from a low-to-high state. Software clears the ARP32_INTn_IRQSTATUS_RAW or ARP32_NMI_IRQSTATUS_RAW register by writing 1 into the appropriate bit position. To latch a new level interrupt, software must first clear the source so that a new low-to-high transition is generated on the INTC input. This is compatible with both level and source interrupt sources.
Upon clearing any bit in a given ARP32_[INTn(j)|NMI]_IRQSTATUS_RAW register, if any enabled interrupts are still set, that is ARP32_[INTn(j)|NMI] output signal pulse is low for two clock cycles and is about to transition back to high state. This results in resetting the ARP32 IFR and thus triggers a new ISR, protecting against race conditions. Any new interrupts must occur after the initial read of the ARP32_INTn_IRQSTATUS or ARP32_NMI_IRQSTATUS state.
Upon entering an ISR, software must first read from the EVE_INTk_OUT_IRQSTATUS register, which may show multiple enabled interrupts pending. Software clears the state of those enabled interrupts that are set (by writing 1 to EVE_INTk_OUT_IRQENABLE_CLR and IRQSTATUS bit) and that are dispatched for servicing. Software determines which interrupt source to service first through whatever scheme is convenient. Upon servicing the selected interrupt, software clears the original source interrupt status.
Figure 8-19 shows the INTC for ARP32.
Table 8-16, Table 8-17, Table 8-18, and Table 8-19 summarize the ARP32 interrupt mapping.
Interrupt | Name | Description | Source |
---|---|---|---|
0 | eve_int00 (1) | Mapping to Mailbox 0 | EVE input |
1 | eve_int01 (1) | Mapping to Mailbox 1 | EVE input |
2 | eve_int02 (1) | Mapping to Mailbox 2 | EVE input |
3 | eve_int03 (1) | Reserved | EVE input |
4 | eve_int04 (1) | Reserved | EVE input |
5 | eve_int05 (1) | Reserved | EVE input |
6 | eve_int06 (1) | Reserved | EVE input |
7 | eve_int07 (1) | Reserved | EVE input |
8 | tpcc_intg | EDMA CC global interrupt | EDMA CC |
9 | tpcc_int0 | EDMA CC region 0 interrupt | EDMA CC |
10 | tpcc_int1 | EDMA CC region 1 interrupt | EDMA CC |
11 | tpcc_int2 | EDMA CC region 2 interrupt | EDMA CC |
12 | tpcc_int3 | EDMA CC region 3 interrupt | EDMA CC |
13 | tpcc_int4 | EDMA CC region 4 interrupt | EDMA CC |
14 | tpcc_int5 | EDMA CC region 5 interrupt | EDMA CC |
15 | tpcc_int6 | EDMA CC region 6 interrupt | EDMA CC |
16 | tpcc_int7 | EDMA CC region 7 interrupt | EDMA CC |
17 | SCTM_TIMEVNTINT0 | SCTM timer interrupt 0 | SCTM |
18 | SCTM_TIMEVNTINT1 | SCTM timer interrupt 1 | SCTM |
19 | vcop_done (2) | VCOP done | VCOP |
20 | vcop_err_intn | VCOP error | VCOP |
21 | mmu0_int | MMU0 interrupt | MMU0 |
22 | mmu1_int | MMU1 interrupt | MMU1 |
23 | tpcc_errint | EDMA CC error interrupt | EDMA CC |
24 | tptc_errint0 | EDMA TC0 error interrupt | EDMA TC0 |
25 | tptc_errint1 | EDMA TC1 error interrupt | EDMA TC1 |
26 | noc_errint | Interconnect error interrupt | Interconnect |
27 | EVE_MSW_ERR_INT | Buffer error interrupt | EVE top |
28 | EVE_ED_LCL_ERR_INT or EVE_ED_OUT_ERR_INT (3) | Parity error interrupt | EVE top |
29 | mailbox0_interrupt0 | Mailbox 0 interrupt 0 | Mailbox 0 |
30 | mailbox1_interrupt0 | Mailbox 1 interrupt 0 | Mailbox 1 |
31 | Reserved | Reserved | Reserved |
Interrupt | Name | INTC1 Mapping | Description | Source |
---|---|---|---|---|
0 | eve_evt_int[0] | eve_intc1[00] | Require mapping to ICM_cstart0 signal or VIP and VPE interrupt | EVE input |
1 | eve_evt_int[1] | eve_intc1[01] | Require mapping to ICM_cstart1 signal or VIP and VPE interrupt | EVE input |
2 | eve_evt_int[2] | eve_intc1[02] | Require mapping to ICM_cstart2 signal or VIP and VPE interrupt | EVE input |
3 | eve_evt_int[3] | eve_intc1[03] | Require mapping to ICM_cstar3 signal or VIP and VPE interrupt | EVE input |
4 | eve_evt_int[4] | eve_intc1[04] | Require mapping to ICM_pstart0 signal or VIP and VPE interrupt | EVE input |
5 | eve_evt_int[5] | eve_intc1[05] | Require mapping to ICM_pstart1 signal or VIP and VPE interrupt | EVE input |
6 | eve_evt_int[6] | eve_intc1[06] | Require mapping to ICM_pstart2 signal or VIP and VPE interrupt | EVE input |
7 | eve_evt_int[7] | eve_intc1[07] | Require mapping to ICM_pstart3 signal or VIP and VPE interrupt | EVE input |
8 | eve_evt_int[8] | eve_intc1[08] | General purpose interrupt and EDMA event from EVE1 | EVE input |
9 | eve_evt_int[9] | eve_intc1[09] | General purpose interrupt and EDMA event from EVE2 | EVE input |
10 | Reserved | Reserved | Reserved | Reserved |
11 | Reserved | Reserved | Reserved | Reserved |
12 | eve_evt_int[12] | eve_intc1[12] | Not used | Not used |
13 | eve_evt_int[13] | eve_intc1[13] | Not used | Not used |
14 | eve_evt_int[14] | eve_intc1[14] | Not used | Not used |
15 | eve_evt_int[15] | eve_intc1[15] | Not used | Not used |
16 | eve_int1[0] | eve_intc1[16] | Require mapping to remote EVE1 Mailbox interrupt. Reserved. | EVE input |
17 | eve_int1[1] | eve_intc1[17] | Require mapping to remote EVE2 Mailbox interrupt. Reserved. | EVE input |
18 | Reserved | Reserved | Reserved | Reserved |
19 | Reserved | Reserved | Reserved | Reserved |
20 | eve_int1[4] | eve_intc1[20] | Not used | Not Used |
21 | eve_int1[5] | eve_intc1[21] | Not used | Not Used |
22 | eve_int1[6] | eve_intc1[22] | Not used | Not Used |
23 | eve_int1[7] | eve_intc1[23] | Not used | Not Used |
24 | eve_int1[8] | eve_intc1[24] | General-purpose interrupt | EVE input |
25 | eve_int1[9] | eve_intc1[25] | General-purpose interrupt | EVE input |
26 | eve_int1[10] | eve_intc1[26] | General-purpose interrupt | EVE input |
27 | eve_int1[11] | eve_intc1[27] | General-purpose interrupt | EVE input |
28 | mailbox2_interrupt0 | eve_intc1[28] | Mailbox 2 interrupt 0 | Mailbox 2 |
29 | Reserved | eve_intc1[29] | Reserved | Reserved |
30 | Reserved | eve_intc1[30] | Reserved | Reserved |
31 | Reserved | Reserved | Reserved | Reserved |
Interrupt | Name | Description | Source |
---|---|---|---|
0 | eve_gpin[00] | GP input 00 | GPI register |
1 | eve_gpin[01] | GP input 01 | GPI register |
2 | eve_gpin[02] | GP input 02 | GPI register |
... | ... | ... | ... |
31 | eve_gpin[31] | GP input 31 | GPI register |
Interrupt | Name | Description | Source |
---|---|---|---|
0 | eve_gpin[32] | GP input 32 | GPI register |
1 | eve_gpin[33] | GP input 33 | GPI register |
2 | eve_gpin[34] | GP input 34 | GPI register |
... | ... | ... | ... |
31 | eve_gpin[63] | GP input 63 | GPI register |