You are viewing documentation for version:
DMA extended descriptor.
The extended descriptor adds additional fields for the extended features available on the MMLDMA peripheral: destination interleaving and bufferable. The same three different DMA descriptors supported by the LDMA DMA controller are available. Each consists of seven WORDs (instead of four in non-extended descriptors) which map directly onto HW control registers for a given DMA channel. The three descriptor types are XFER, SYNC and WRI. But the extended fields are true only for XFER. The extended fields are the following:
+ - + - CTRL
| Original | SRC
| Structure | DST
Extended | +- LINK Structure | XCTRL | Reserved for future usage +- ILSRC
Refer to the reference manual for further information.
Public Attributes# uint32_t
Set to 0 to select XFER descriptor type.
uint32_t
DMA transfer trigger during LINKLOAD.
uint32_t
Transfer count minus one.
uint32_t
Enable byte swapping transfers.
uint32_t
Number of unit transfers per arbitration cycle.
uint32_t
Generate interrupt when done.
uint32_t
Block or cycle transfer selector.
uint32_t
Source address increment unit size.
uint32_t
Destination address increment unit size.
uint32_t
Destination addressing mode.
uint32_t
Select absolute or relative link address.
uint32_t
Enable LINKLOAD when transfer is done.
int32_t
Address of next (linked) descriptor.
uint32_t
DMA rules table base address in memory.
Public Attribute Documentation# structType# uint32_t LDMA_DescriptorExtend_t::structType Set to 0 to select XFER descriptor type.
extend# uint32_t LDMA_DescriptorExtend_t::extend Extend data structure.
structReq# uint32_t LDMA_DescriptorExtend_t::structReq DMA transfer trigger during LINKLOAD.
xferCnt# uint32_t LDMA_DescriptorExtend_t::xferCnt Transfer count minus one.
byteSwap# uint32_t LDMA_DescriptorExtend_t::byteSwap Enable byte swapping transfers.
blockSize# uint32_t LDMA_DescriptorExtend_t::blockSize Number of unit transfers per arbitration cycle.
doneIfs# uint32_t LDMA_DescriptorExtend_t::doneIfs Generate interrupt when done.
reqMode# uint32_t LDMA_DescriptorExtend_t::reqMode Block or cycle transfer selector.
decLoopCnt# uint32_t LDMA_DescriptorExtend_t::decLoopCnt Enable looped transfers.
ignoreSrec# uint32_t LDMA_DescriptorExtend_t::ignoreSrec Ignore single requests.
srcInc# uint32_t LDMA_DescriptorExtend_t::srcInc Source address increment unit size.
size# uint32_t LDMA_DescriptorExtend_t::size DMA transfer unit size.
dstInc# uint32_t LDMA_DescriptorExtend_t::dstInc Destination address increment unit size.
srcAddrMode# uint32_t LDMA_DescriptorExtend_t::srcAddrMode Source addressing mode.
dstAddrMode# uint32_t LDMA_DescriptorExtend_t::dstAddrMode Destination addressing mode.
srcAddr# uint32_t LDMA_DescriptorExtend_t::srcAddr DMA source address.
dstAddr# uint32_t LDMA_DescriptorExtend_t::dstAddr DMA destination address.
linkMode# uint32_t LDMA_DescriptorExtend_t::linkMode Select absolute or relative link address.
link# uint32_t LDMA_DescriptorExtend_t::link Enable LINKLOAD when transfer is done.
linkAddr# int32_t LDMA_DescriptorExtend_t::linkAddr Address of next (linked) descriptor.
reserved1# uint32_t LDMA_DescriptorExtend_t::reserved1 Reserved
dstIlEn# uint32_t LDMA_DescriptorExtend_t::dstIlEn Destination interleave.
IlMode# uint32_t LDMA_DescriptorExtend_t::IlMode Interleave mode.
bufferable# uint32_t LDMA_DescriptorExtend_t::bufferable Allow AHB buffering.
reserved2# uint32_t LDMA_DescriptorExtend_t::reserved2 Reserved
reserved3# uint32_t LDMA_DescriptorExtend_t::reserved3 Reserved
IlSrc# uint32_t LDMA_DescriptorExtend_t::IlSrc DMA rules table base address in memory.