Channel Next Configuration Register (NextConfig)

(Ask a Question)

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).

Note: The DMA engine supports the transfer of only a single contiguous block at a time. Supports byte-aligned source and destination size (rsize and wsize) because the granularity is at the byte level in terms of only the base 2 Logarithm (1 byte ,8 byte , 32 byte).

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.

Table 1. Channel Next Configuration Register
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