SWRU626 December 2025 CC3501E , CC3551E
The UART provides an interface to the DMA controller with two separate channels. The DMA operation of the UART is enabled through the UART event and DMA peripheral registers. When the DMA functionality is enabled, the UART asserts a DMA request on the selected channel when the associated FIFO can transfer data.
For the receive channel, a DMA transfer request is asserted whenever the amount of data in the receive FIFO is at or above the FIFO trigger level configured in the UART.FIFOLEV register. For the transmit channel, a request is asserted whenever the transmit FIFO contains fewer characters than the FIFO trigger level configured in the UART.FIFOLEV register.
Interupt 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. Software should avoid using the same trigger source for multiple interrupt lines concurrently.
Figure 17-4 shows the interface between the Host DMA and UART.
When the UART is in the FIFO enabled mode, data transfers can be made by either single or burst transfers depending on the programmed watermark level and the amount of data in the FIFO. Table 17-1 lists the trigger points for the transmit and receive FIFOs. In addition, if the UART.DMACTL[2] DMA ERR bit is set, the Host DMA receive request outputs (for single and burst requests) are disabled when the UART error interrupt is asserted (more specifically if any of the error interrupts in the RIS register, PARITY, BREAK, FRMERR or OVRNERR are asserted). The Host DMA receive request outputs remain inactive until the error bit is cleared. The Host DMA transmit request outputs are unaffected.
| Watermark Level | Transmit Burst Length (number of empty locations) | Receive Burst Length (number of filled locations) |
|---|---|---|
| 1/4 | 6 | 2 |
| 1/2 | 4 | 4 |
| 3/4 | 2 | 6 |