LDMA_Descriptor_t Union Reference

DMA descriptor.

#include <em_ldma.h>

Data Fields

struct {
uint32_t structType : 2
Set to 0 to select XFER descriptor type.
uint32_t reserved0 : 1
Reserved

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.
} xfer
TRANSFER DMA descriptor, this is the only descriptor type which can be used to start a DMA transfer.
struct {
uint32_t structType : 2
Set to 1 to select SYNC descriptor type.
uint32_t reserved0 : 1
Reserved.
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 syncSet : 8
Set bits in LDMA_CTRL.SYNCTRIG register.
uint32_t syncClr : 8
Clear bits in LDMA_CTRL.SYNCTRIG register.
uint32_t reserved3 : 16
Reserved.
uint32_t matchVal : 8
Sync trigger match value.
uint32_t matchEn : 8
Sync trigger match enable.
uint32_t reserved4 : 16
Reserved.
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.
} sync
SYNCHRONIZE DMA descriptor, used for intra channel transfer synchronization.
struct {
uint32_t structType : 2
Set to 2 to select WRITE descriptor type.
uint32_t reserved0 : 1
Reserved.
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