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.