W7500x Reference Manual Version1.1.0
165 / 399
DMA request mapping
The hardware requests from the peripherals (UART0, UART1, SSP0, SSP1) are simply connected
to the DMA. Refer to Table 17 which lists the DMA requests for each channel.
Table 14 Summary of the DMA requests for each channel
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Hardware
Request
SSP0_TX
SSP0_RX
SSP1_TX
SSP1_RX
UART0_TX
UART0_RX
UART1_TX
UART1_RX
NONE
NONE
Software
Request
(1)
Support
Support
Support
Support
Support
Support
1.
Software request is the only way to use DMA for memory-to-memory or TCP/IP-to-memory.
DMA arbitration
The controller can be configured to perform arbitration during a DMA cycle before and after a
programmable number of transfers. This reduces the latency for servicing a higher priority
channel.
The controller uses four bits in the channel control data structure that configures how many
AHB bus transfers occur before the controller re-arbitrates. These bits are known as the
R_power bits because the value R is raised to the power of two and this determines the
arbitration rate. For example, if R = 4, then the arbitration rate is
2
4
, which means the
controller arbitrates every 16 DMA transfers.
Remark: Do not assign a low-priority channel with a large R_power value because this prevents
the controller from servicing high-priority requests until it re-arbitrates.
When N >
2
R
and is not an integer multiple of
2
R
, then the controller always performs
sequences of
2
R
transfers until N <
2
R
remain to be transferred. The controller performs the
remaining N transfers at the end of the DMA cycle.
DMA cycle types
The cycle_ctrl bits in the channel control data structure controls how the DMA controller
performs a cycle.
The controller uses four cycle types described in this manual:
Invalid
Basic
Auto-request