SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
The DMPAC outputs several interrupt lines. For more information how they are connected at SoC level, see DMPAC Integration.
The CP_INTD block inside DMAPC is used to aggregate several internal interrupt event sources into 2 output interrupt lines: DMPAC0_INTD_0_SYSTEM_INTR_LEVEL_0 and DMPAC0_INTD_0_SYSTEM_INTR_LEVEL_1. The mapping of internal events to each line is controlled via a separate set of CP_INTD registers.
Table 6-164 shows how the internal interrupt event sources are mapped on the CP_INTD registers for the DMPAC0_INTD_0_SYSTEM_INTR_LEVEL_0 line.
| Event Source Name | Event Source Type | Enable/Enable Clear Registers | Status/Status Clear Registers |
|---|---|---|---|
| DOF_ROW_DONE_INTR | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_0/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_0 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_0/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_0 |
| DOF_FRAME_DONE_INTR | Pulse | ||
| DOF_READ_ERROR_INTR | Pulse | ||
| DOF_WRITE_ERROR_INTR | Pulse | ||
| DOF_MP0_RD_STATUS_ERROR | Pulse | ||
| SDE_BLK_DONE_INTR | Pulse | ||
| SDE_FRAME_DONE_INTR | Pulse | ||
| SDE_READ_ERROR_INTR | Pulse | ||
| SDE_WRITE_ERROR_INTR | Pulse | ||
| FOCO_0_FR_DONE_EVT | Pulse | ||
| FOCO_0_SL2_RD_ERR | Pulse | ||
| FOCO_0_SL2_WR_ERR | Pulse | ||
| FOCO_1_FR_DONE_EVT | Pulse | ||
| FOCO_1_SL2_RD_ERR | Pulse | ||
| FOCO_1_SL2_WR_ERR | Pulse | ||
| PIPE_DONE_[0:3] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_1 |
| SPARE_DEC_0 | Pulse | ||
| SPARE_DEC_1 | Pulse | ||
| SPARE_PEND_0_P | Level | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_1 |
| SPARE_PEND_0_L | Level | DMPAC_INTD_ENABLE_REG_LEVEL_DMPAC_OUT_0_1/ DMPAC_INTD_ENABLE_CLR_REG_LEVEL_DMPAC_OUT_0_1 | DMPAC_INTD_STATUS_REG_LEVEL_DMPAC_OUT_0_1/ DMPAC_INTD_STATUS_CLR_REG_LEVEL_DMPAC_OUT_0_1 |
| SPARE_PEND_1_P | Level | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_1 |
| SPARE_PEND_1_L | Level | DMPAC_INTD_ENABLE_REG_LEVEL_DMPAC_OUT_0_1/ DMPAC_INTD_ENABLE_CLR_REG_LEVEL_DMPAC_OUT_0_1 | DMPAC_INTD_STATUS_REG_LEVEL_DMPAC_OUT_0_1/ DMPAC_INTD_STATUS_CLR_REG_LEVEL_DMPAC_OUT_0_1 |
| TDONE_0 | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_1 |
| TDONE_1 | Pulse | ||
| TDONE_7 | Pulse | ||
| TDONE_8 | Pulse | ||
| WATCHDOGTIMER_ERR_0 | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_2/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_2 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_2/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_2 |
| WATCHDOGTIMER_ERR_1 | Pulse | ||
| WATCHDOGTIMER_ERR_7 | Pulse | ||
| WATCHDOGTIMER_ERR_8 | Pulse | ||
| DRU_ERROR_[0:31] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_3/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_3 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_3/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_3 |
| DRU_COMPLETE_[0:31] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_4/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_4 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_4/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_4 |
| DRU_LOCAL_OUT_EVENT_[0:31] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_5/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_5 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_5/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_5 |
| DRU_PROT_ERROR | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_0_6/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_0_6 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_0_6/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_0_6 |
| CTM_PULSE | Pulse |
Table 6-165 shows how the internal interrupt event sources are mapped on the CP_INTD registers for the DMPAC0_INTD_0_SYSTEM_INTR_LEVEL_1 line.
| Event Source Name | Event Source Type | Enable/Enable Clear Registers | Status/Status Clear Registers |
|---|---|---|---|
| DOF_ROW_DONE_INTR | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_0/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_0 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_0/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_0 |
| DOF_FRAME_DONE_INTR | Pulse | ||
| DOF_READ_ERROR_INTR | Pulse | ||
| DOF_WRITE_ERROR_INTR | Pulse | ||
| DOF_MP0_RD_STATUS_ERROR | Pulse | ||
| SDE_BLK_DONE_INTR | Pulse | ||
| SDE_FRAME_DONE_INTR | Pulse | ||
| SDE_READ_ERROR_INTR | Pulse | ||
| SDE_WRITE_ERROR_INTR | Pulse | ||
| FOCO_0_FR_DONE_EVT | Pulse | ||
| FOCO_0_SL2_RD_ERR | Pulse | ||
| FOCO_0_SL2_WR_ERR | Pulse | ||
| FOCO_1_FR_DONE_EVT | Pulse | ||
| FOCO_1_SL2_RD_ERR | Pulse | ||
| FOCO_1_SL2_WR_ERR | Pulse | ||
| PIPE_DONE_[0:3] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_1 |
| SPARE_DEC_0 | Pulse | ||
| SPARE_DEC_1 | Pulse | ||
| SPARE_PEND_0_P | Level | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_1 |
| SPARE_PEND_0_L | Level | DMPAC_INTD_ENABLE_REG_LEVEL_DMPAC_OUT_1_1/ DMPAC_INTD_ENABLE_CLR_REG_LEVEL_DMPAC_OUT_1_1 | DMPAC_INTD_STATUS_REG_LEVEL_DMPAC_OUT_1_1/ DMPAC_INTD_STATUS_CLR_REG_LEVEL_DMPAC_OUT_1_1 |
| SPARE_PEND_1_P | Level | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_1 |
| SPARE_PEND_1_L | Level | DMPAC_INTD_ENABLE_REG_LEVEL_DMPAC_OUT_1_1/ DMPAC_INTD_ENABLE_CLR_REG_LEVEL_DMPAC_OUT_1_1 | DMPAC_INTD_STATUS_REG_LEVEL_DMPAC_OUT_1_1/ DMPAC_INTD_STATUS_CLR_REG_LEVEL_DMPAC_OUT_1_1 |
| TDONE_0 | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_1 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_1/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_1 |
| TDONE_1 | Pulse | ||
| TDONE_7 | Pulse | ||
| TDONE_8 | Pulse | ||
| WATCHDOGTIMER_ERR_0 | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_2/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_2 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_2/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_2 |
| WATCHDOGTIMER_ERR_1 | Pulse | ||
| WATCHDOGTIMER_ERR_7 | Pulse | ||
| WATCHDOGTIMER_ERR_8 | Pulse | ||
| DRU_ERROR_[0:31] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_3/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_3 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_3/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_3 |
| DRU_COMPLETE_[0:31] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_4/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_4 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_4/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_4 |
| DRU_LOCAL_OUT_EVENT_[0:31] | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_5/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_5 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_5/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_5 |
| DRU_PROT_ERROR | Pulse | DMPAC_INTD_ENABLE_REG_PULSE_DMPAC_OUT_1_6/ DMPAC_INTD_ENABLE_CLR_REG_PULSE_DMPAC_OUT_1_6 | DMPAC_INTD_STATUS_REG_PULSE_DMPAC_OUT_1_6/ DMPAC_INTD_STATUS_CLR_REG_PULSE_DMPAC_OUT_1_6 |
| CTM_PULSE | Pulse |
In Table 6-164 and Table 6-165, the bit positions corresponding to SPARE_PEND_0_L and SPARE_PEND_1_L should not be used in registers controlling pulse outputs. Instead, the bit positions corresponding to SPARE_PEND_0_P and SPARE_PEND_1_P should be used to control SPARE_PEND_0 and SPARE_PEND_1 interrupts, respectively. These registers are:
Similarly, the bit positions corresponding to SPARE_PEND_0_P and SPARE_PEND_1_P should not be used in registers controlling level outputs. Instead, the bit positions corresponding to SPARE_PEND_0_L and SPARE_PEND_1_L should be used to control SPARE_PEND_0 and SPARE_PEND_1 interrupts, respectively. These registers are:
The ECC Aggregator block within the DMPAC aggregates the pending status from the ECC protected RAMs into two output interrupt lines: DMPAC0_ECC_CORRECTED_ERR_LEVEL_0 for correctable errors, and DMPAC0_ECC_UNCORRECTED_ERR_LEVEL_0 for uncorrectable erros. For more information on the ECC memory protection, see Section 6.10.3.16, DMPAC Memory Error Protection.