SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
DMA4 has four interrupt lines (Lj, where j = 0, 1, 2, 3). Each logical channel can request an interrupt over any line. The attachment of a channel interrupt event to one of these four external lines is programmable. Software determines whether it attaches a channel interrupt to a single IRQ line or to multiple IRQ lines.
There are two different registers per interrupt line:
Each logical channel can generate a number of different interrupt events when enabled (that is, set to 1) in the DMA4_CICRi register. Each status bit is updated in the DMA4_CSRi register only when the corresponding enable bit is enabled in the DMA4_CICRi register.
To determine an interrupt source when an interrupt rises on an interrupt line Lj:
Read DMA4_IRQSTATUS_Lj.LCHi (LCH0 to LCH31). If LCHi = 1, channel i is the originator of the interrupt.
Read the LCHi DMA4_CSRi. For example, if the drop event (the DMA4_CSRi[1] DROP bit) is 1, a request collision will occur.
The interrupt event status bit in the DMA4_CSRi register is immediately reset after it is written to 1.
The interrupt status bit in the DMA4_IRQSTATUS_Lj register is cleared after it is written to 1.