SLAU893B October 2023 – July 2024 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1
DMA_TRIG1 and DMA_TRIG0 registers are used to setup the trigger signaling for the DMA. This can be setup in a flexible way to trigger the DMA for Controller or Target and receive or transmit events with the following four trigger conditions:
IIDX STAT | Name | Description |
---|---|---|
0x01 | MRXFIFOTRG | Controller receive FIFO trigger. Trigger when RX FIFO contains >= defined bytes |
0x02 | MTXFIFOTRG | Controller transmit FIFO trigger. Trigger when Transmit FIFO contains <= defined bytes |
0x03 | SRXFIFOTRG | Target receive FIFO trigger. Trigger when RX FIFO contains >= defined bytes |
0x04 | STXFIFOTRG | Target transmit FIFO trigger. Trigger when Transmit FIFO contains <= defined bytes |
The DMA trigger event configuration is managed with the DMA_TRIG1 and DMA_TRIG0 event management registers. See Section 6.2.5 for guidance on configuring the Event registers and Section 6.1.3.2 for on how DMA trigger event works. DMA_TRIG1 and DMA_TRIG0 are two event management registers that correspond to two DMA channels.
As shown in Figure 13-17, each DMA channel can be triggered by any of the conditions listed in Table 13-57 and it can generate either the controller DMA done signal or target DMA done signal.
For example, the user can configure the DMA_TRIG1 trigger using MTXFIFOTRG and the DMA_TRIG0 trigger using SRXFIFOTRG. When the Channel 1 DMA status changes to done, the MDMA_DONE_TX and MDMA_DONE_RX interrupts will set, and when the Channel 2 DMA status change to done, the SDMA_DONE_TX and SDMA_DONE_RX interrupts will set.