SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
The Transfer Request format builds on the same structure adding fields to the TR to give more configuration options. The structure in Table 10-48 shows the 512-bit data structure that makes up the maximum sized UTC Transfer request.
word 15 | word 14 | word 13 | word 12 | ||||||||||||
DICNT3 | DICNT2 | DICNT1 | DICNT0 | DDIM3 | DDIM2 | ||||||||||
word 11 | word 10 | word 9 | word 8 | ||||||||||||
DADDR | DDIM1 | FMTFLAGS | |||||||||||||
word 7 | word 6 | word 5 | word 4 | ||||||||||||
DIM3 | DIM2 | ICNT3 | ICNT2 | DIM1 | |||||||||||
word3 | word 2 | word 1 | word0 | ||||||||||||
ADDR | ICNT1 | ICNT0 | FLAGS |
The UTC defines a four-level loop nest for addressing elements within the TR, using the algorithms described in the Addressing algorithm. Most of the fields in the TR template map directly to the parameters in those algorithms.
Field Name | Description | Size (bits) |
---|---|---|
FLAGS | TR flags that specify type of TR and how the TR should be handled. It also supports the TR triggering and output events. | 32 |
ICNT0 | Total loop iteration count for level 0 (innermost) | 16 |
ICNT1 | Total loop iteration count for level 1 | 16 |
ADDR | Starting address for the source data or destination data if it is a half-duplex write | 64 |
DIM1 | Signed dimension for loop level 1 for the source data | 32 |
ICNT2 | Total loop iteration count for level 2 | 16 |
ICNT3 | Total loop iteration count for level 3 (outermost) | 16 |
DIM2 | Signed dimension for loop level 2 | 32 |
DIM3 | Signed dimension for loop level 3 | 32 |
FMTFLAGS | Flags that tell how the data is formatted either between the input and the output or if the data should use different addressing schemes or sizes. These flags are OPTIONAL and only specific features may be supported by a given DMA implementation. The UDMA/UTC capabilities register specifies which features are supported. | 32 |
DDIM1 | Signed dimension for loop level 1 for the destination data | 32 |
DADDR | Starting address for the destination of the data | 64 |
DDIM2 | Signed dimension for loop level 2 for the destination data | 32 |
DDIM3 | Signed dimension for loop level 3 for the destination data | 32 |
DICNT0 | Total loop iteration count for level 0 (innermost) used for destination | 16 |
DICNT1 | Total loop iteration count for level 1 used for destination | 16 |
DICNT2 | Total loop iteration count for level 2 used for destination | 16 |
DICNT3 | Total loop iteration count for level 3 used for destination | 16 |
The TR assumes all iteration counts as unsigned integers, and all dimensions as signed integers representing byte offsets.
The template above fully specifies the type of elements, length, and dimensions of the transfer.
Since all transfers will not require all the fields the TRs have the type field which allow the number of words required to be sent for the TR to be reduced.