Information

20.4.3 "Always enabled" DMA sources
In addition to the peripherals that can be used as DMA sources, there are 10 additional
DMA sources that are "always enabled". Unlike the peripheral DMA sources, where the
peripheral controls the flow of data during DMA transfers, the "always enabled" sources
provide no such "throttling" of the data transfers. These sources are most useful in the
following cases:
Doing DMA transfers to/from GPIO—Moving data from/to one or more GPIO pins,
either unthrottled (that is as fast as possible), or periodically (using the DMA
triggering capability).
Doing DMA transfers from memory to memory—Moving data from memory to
memory, typically as fast as possible, sometimes with software activation.
Doing DMA transfers from memory to the external bus, or vice-versa—Similar to
memory to memory transfers, this is typically done as quickly as possible.
Any DMA transfer that requires software activation—Any DMA transfer that should
be explicitly started by software.
In cases where software should initiate the start of a DMA transfer, an "always enabled"
DMA source can be used to provide maximum flexibility. When activating a DMA
channel via software, subsequent executions of the minor loop require a new "start" event
be sent. This can either be a new software activation, or a transfer request from the DMA
channel MUX. The options for doing this are:
Transfer all data in a single minor loop. By configuring the DMA to transfer all of
the data in a single minor loop (that is major loop counter = 1), no reactivation of the
channel is necessary. The disadvantage to this option is the reduced granularity in
determining the load that the DMA transfer will incur on the system. For this option,
the DMA channel must be disabled in the DMA channel MUX.
Use explicit software reactivation. In this option, the DMA is configured to transfer
the data using both minor and major loops, but the processor is required to reactivate
the channel by writing to the DMA registers after every minor loop. For this option,
the DMA channel must be disabled in the DMA channel MUX.
Use an "always enabled" DMA source. In this option, the DMA is configured to
transfer the data using both minor and major loops, and the DMA channel MUX does
the channel re-activation. For this option, the DMA channel should be enabled and
pointing to an "always enabled" source. Note that the reactivation of the channel can
Functional description
K20 Sub-Family Reference Manual, Rev. 2, Feb 2012
328 Freescale Semiconductor, Inc.