UG-1262
Rev. B | Page 167 of 312
Bit(s) Name
Source
Data Width
Setting Description
[17:14] R_POWER
DMA Transfers Before Rearbitration. Set these bits to control the number of DMA
transfers can occur before the controller rearbitrates. These bits must be set to 0000 for
all DMA transfers involving peripherals. Operation of the DMA is indeterminate if a value
other than 0000 is programmed in this location for DMA transfers involving peripherals.
0000
1
0001
2
0010
4
0011
8
0100
16
0101
32
0110
64
0111
128
1000
256
1001
512
1010 to
1111
1024
[13:4] N_MINUS_1
Number of Configured Transfers Minus 1 for that Channel. The 10-bit value indicates the
number of DMA transfers (not the total number of bytes) minus one.
0x000
1
DMA
transfer.
0x001
2
DMA
transfers.
0x002
3
DMA
transfers.
…
0x3FF
1024
DMA
transfers.
3
Reserved
Undefined. Write as 0.
[2:0]
CYCLE_CTRL
Transfer Types of DMA Cycle.
000
Stop
(invalid).
001
Basic.
010
Autorequest.
011
Ping
pong.
100
Memory scatter gather primary.
101
Memory scatter gather alternate.
110
Peripheral scatter gather primary.
111
Peripheral scatter gather alternate.
During the DMA transfer process, if any error occurs during the data transfer, CHNL_CFG is written back to the system memory, with
the N_MINUS_1 bits updated to reflect the number of transfers yet to be completed. When a full DMA cycle is complete, the
CYCLE_CTRL bits are made invalid to indicate the completion of the transfer.
DMA PRIORITY
The priority of a channel is determined by its number and priority level. Each channel can have two priority levels: default or high.
All channels at the high priority level have higher priority than channels at the default priority level. At the same priority level, a channel
with a lower channel number has a higher priority. The DMA channel priority levels can be changed by writing to the appropriate bit in
the PRI_SET register.
DMA TRANSFER TYPES
The DMA controller supports several types of DMA transfers. The various types are selected by programming the appropriate values
into the CYCLE_CTRL bits (Bits[2:0]) in the CHNL_CFG location of the control data structure.
Invalid (CHNL_CFG, Bits[2:0] = 000)
CHNL_CFG, Bits[2:0] = 000 means that no DMA transfer is enabled for the channel. After the controller completes a DMA cycle, it sets
the cycle type to invalid to prevent it from repeating the same DMA cycle.