LDMA_DescriptorExtend_t Struct Reference

DMA extended descriptor.

#include <em_ldma.h>

Data Fields

uint32_t structType: 2
 Set to 0 to select XFER descriptor type.
 
uint32_t extend: 1
 Extend data structure.
 
uint32_t structReq: 1
 DMA transfer trigger during LINKLOAD.
 
uint32_t xferCnt: 11
 Transfer count minus one.
 
uint32_t byteSwap: 1
 Enable byte swapping transfers.
 
uint32_t blockSize: 4
 Number of unit transfers per arbitration cycle.
 
uint32_t doneIfs: 1
 Generate interrupt when done.
 
uint32_t reqMode: 1
 Block or cycle transfer selector.
 
uint32_t decLoopCnt: 1
 Enable looped transfers.
 
uint32_t ignoreSrec: 1
 Ignore single requests.
 
uint32_t srcInc: 2
 Source address increment unit size.
 
uint32_t size: 2
 DMA transfer unit size.
 
uint32_t dstInc: 2
 Destination address increment unit size.
 
uint32_t srcAddrMode: 1
 Source addressing mode.
 
uint32_t dstAddrMode: 1
 Destination addressing mode.
 
uint32_t srcAddr
 DMA source address.
 
uint32_t dstAddr
 DMA destination address.
 
uint32_t linkMode: 1
 Select absolute or relative link address.
 
uint32_t link: 1
 Enable LINKLOAD when transfer is done.
 
int32_t linkAddr: 30
 Address of next (linked) descriptor.
 
uint32_t reserved1: 4
 Reserved

 
uint32_t dstIlEn: 1
 Destination interleave.
 
uint32_t IlMode: 2
 Interleave mode.
 
uint32_t bufferable: 1
 Reserved

 
uint32_t reserved2: 24
 Allow AHB buffering.
 
uint32_t reserved3
 Reserved

 
uint32_t IlSrc
 DMA rules table base address in memory.
 

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.

Field 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

Reserved

◆ reserved2

uint32_t LDMA_DescriptorExtend_t::reserved2

Allow AHB buffering.


◆ reserved3

uint32_t LDMA_DescriptorExtend_t::reserved3

Reserved

◆ IlSrc

uint32_t LDMA_DescriptorExtend_t::IlSrc

DMA rules table base address in memory.