UG-1262
Rev. B | Page 175 of 312
Whenever a channel is disabled, based on the current state of the DMA controller, the channel does one of the following:
If the user disables the channel and there is no request pending for that channel, it is disabled immediately.
If the user disables the channel that is not being serviced, but its request is posted, its pending request is cleared, and the channel is
disabled immediately.
If the user disables a channel that has been selected after arbitration but has yet to start transfers, the controller completes the
arbitration cycle and then disables the channel.
If the user disables the channel when it is being serviced, the controller completes the current arbitration cycle.
DMA MASTER ENABLE
CFG, Bit 0 acts as a soft reset to the DMA controller. Any activity in the DMA controller can be performed only when this bit is set to 1.
Clearing this bit to 0 clears all cached descriptors within the controller and resets the controller.
POWER-DOWN CONSIDERATIONS
Complete all ongoing DMA transfers before powering down the chip to hibernate mode. However, if the user decides to hibernate as
quickly as possible (current data transfers are ignored), the DMA controller must be disabled by clearing the CFG, Bit 0 before entering
hibernate mode. If hibernate mode is selected when a DMA transfer is in progress, the transfer discontinues. The DMA returns to the
disabled state. After hibernate or a POR, the DMA must be enabled again by setting the CFG, Bit 0.
The following DMA registers are retained in hibernate mode:
PDBPTR
ADBPTR
RMSK_SET
RMSK_CLR
PRI_SET
PRI_CLR
BS_SET
BS_CLR
SRCADDR_SET
SRCADDR_CLR
DSTADDR_SET
DSTADDR_CLR