SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The DMA_SYSTEM module has four interrupt request output lines, DMA_SYSTEM_IRQ_0 to DMA_SYSTEM_IRQ_3. One or more logical channels can be programmed to generate an interrupt request on any of these lines when any one of the maskable DMA events listed in Table 18-9 occurs.
Event | Description |
---|---|
End of packet | A packet transfer completed. |
End of block | A block transfer completed. |
End of frame | A frame transfer completed. |
End of super block | A super block transfer completed. |
Half of frame | Half of the current frame transferred. |
Start of last frame | The first element of the last frame transferred. |
Transaction error | A transaction error is returned by the interconnect in either the read or write port. |
Address error | An attempt was made to perform a DMA access to an address not aligned on an ES boundary. Condition to occur: if DMA4_CENi[23:0] CHANNEL_ELMNT_NBR = 0x000000 or DMA4_CFNi[15:0] CHANNEL_FRAME_NBR = 0x0000 or DMA4_CSDPi[1:0] DATA_TYPE = 0x3. |
Supervisor transaction error | An error occurred, for example, when an unauthorized initiator (that is not a supervisor) tries to use a supervisor transfer. |
Drain end | Drain is completed (DMA4_CCRi[10] WR_ACTIVE becomes 0). |
Drop error | A drop event interrupt is generated when a DMA request is being serviced while a second one is asserted and a third one arrives before the second DMA request is serviced. |
The logical DMA channels that generate an interrupt on a particular IRQ output are specified through the DMA4_IRQENABLE_Lj register (where j is the IRQ number: 0, 1, 2, or 3). The events that generate an interrupt for a particular channel can be configured through the channel DMA4_CICRi register.
When an interrupt is detected, the logical DMA channel generating the event can first be identified by reading the DMA4_IRQSTATUS_Lj register. The event causing the interrupt then can be identified by reading the interrupt status via the relevant DMA channel DMA4_CSRi register.