NextConfig
)The read-write NextConfig
register holds the transfer request
type. The wsize
and rsize
fields are used to determine
the size and alignment of individual DMA transactions as a single DMA transfer may
require multiple transactions. There is an upper bound of 64B on a transaction size
(read and write).
These fields are WARL (Write-Any Read-Legal), so the actual size used can be determined by reading the field after writing the requested size. The DMA can be programmed to automatically repeat a transfer by setting the repeat bit field. If this bit is set, once the transfer completes, the Next registers are automatically copied to the Exec registers and a new transfer is initiated. The Control.run
bit remains set during “repeated” transactions so that the channel can not be claimed. To stop repeating transfers, a master can monitor the channel’s Done interrupt and lower the repeat
bit accordingly.
Register Offset | 0x004 + (0x1000 × Channel ID) | |||
---|---|---|---|---|
Bits | Field Name | Attributes | Reset | Description |
[1:0] | Reserved | — | — | — |
2 | repeat | RW | 0 | If set, the Exec registers are reloaded from the Next registers once a transfer is complete. The repeat bit must be cleared by software for the sequence to stop. |
3 | order | RW | 0 | Enforces strict ordering by only allowing one of each transfer type in-flight at a time. |
[23:4] | Reserved | — | — | — |
[27:24] | wsize | WARL | 0 | Base 2 Logarithm of DMA transaction sizes. Example: 0 is 1 byte, 3 is 8 bytes, 5 is 32 bytes |
[31:28] | rsize | WARL | 0 | Base 2 Logarithm of DMA transaction sizes. Example: 0 is 1 byte, 3 is 8 bytes, 5 is 32 bytes |