EFM32 Pearl Gecko Software Documentation  efm32pg1-doc-4.2.1
LDMA_Descriptor_t Union Reference

DMA descriptor. More...

#include <em_ldma.h>

Data Fields

struct {
   uint32_t   structType: 2
 
   uint32_t   reserved0: 1
 
   uint32_t   structReq: 1
 
   uint32_t   xferCnt: 11
 
   uint32_t   byteSwap: 1
 
   uint32_t   blockSize: 4
 
   uint32_t   doneIfs: 1
 
   uint32_t   reqMode: 1
 
   uint32_t   decLoopCnt: 1
 
   uint32_t   ignoreSrec: 1
 
   uint32_t   srcInc: 2
 
   uint32_t   size: 2
 
   uint32_t   dstInc: 2
 
   uint32_t   srcAddrMode: 1
 
   uint32_t   dstAddrMode: 1
 
   uint32_t   srcAddr
 
   uint32_t   dstAddr
 
   uint32_t   linkMode: 1
 
   uint32_t   link: 1
 
   int32_t   linkAddr: 30
 
xfer
 
struct {
   uint32_t   structType: 2
 
   uint32_t   reserved0: 1
 
   uint32_t   structReq: 1
 
   uint32_t   xferCnt: 11
 
   uint32_t   byteSwap: 1
 
   uint32_t   blockSize: 4
 
   uint32_t   doneIfs: 1
 
   uint32_t   reqMode: 1
 
   uint32_t   decLoopCnt: 1
 
   uint32_t   ignoreSrec: 1
 
   uint32_t   srcInc: 2
 
   uint32_t   size: 2
 
   uint32_t   dstInc: 2
 
   uint32_t   srcAddrMode: 1
 
   uint32_t   dstAddrMode: 1
 
   uint32_t   syncSet: 8
 
   uint32_t   syncClr: 8
 
   uint32_t   reserved3: 16
 
   uint32_t   matchVal: 8
 
   uint32_t   matchEn: 8
 
   uint32_t   reserved4: 16
 
   uint32_t   linkMode: 1
 
   uint32_t   link: 1
 
   int32_t   linkAddr: 30
 
sync
 
struct {
   uint32_t   structType: 2
 
   uint32_t   reserved0: 1
 
   uint32_t   structReq: 1
 
   uint32_t   xferCnt: 11
 
   uint32_t   byteSwap: 1
 
   uint32_t   blockSize: 4
 
   uint32_t   doneIfs: 1
 
   uint32_t   reqMode: 1
 
   uint32_t   decLoopCnt: 1
 
   uint32_t   ignoreSrec: 1
 
   uint32_t   srcInc: 2
 
   uint32_t   size: 2
 
   uint32_t   dstInc: 2
 
   uint32_t   srcAddrMode: 1
 
   uint32_t   dstAddrMode: 1
 
   uint32_t   immVal
 
   uint32_t   dstAddr
 
   uint32_t   linkMode: 1
 
   uint32_t   link: 1
 
   int32_t   linkAddr: 30
 
wri
 

Detailed Description

The LDMA DMA controller supports three different DMA descriptors. Each consist of four WORD's which map directly onto hw control registers for a given DMA channel. The three descriptor types are XFER, SYNC and WRI. Refer to the reference manual for further information.

Definition at line 314 of file em_ldma.h.

Field Documentation

uint32_t LDMA_Descriptor_t::structType

Set to 0 to select XFER descriptor type.

Set to 1 to select SYNC descriptor type.

Set to 2 to select WRITE descriptor type.

Definition at line 322 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::structReq

DMA transfer trigger during LINKLOAD.

Definition at line 324 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::xferCnt

Transfer count minus one.

Definition at line 325 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::byteSwap

Enable byte swapping transfers.

Definition at line 326 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::blockSize

Number of unit transfers per arb. cycle.

Definition at line 327 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::doneIfs

Generate interrupt when done.

Definition at line 328 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::reqMode

Block or cycle transfer selector.

Definition at line 329 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::decLoopCnt

Enable looped transfers.

Definition at line 330 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::ignoreSrec

Ignore single requests.

Definition at line 331 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::srcInc

Source address increment unit size.

Definition at line 332 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::size

DMA transfer unit size.

Definition at line 333 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::dstInc

Destination address increment unit size.

Definition at line 334 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::srcAddrMode

Source addressing mode.

Definition at line 335 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::dstAddrMode

Destination addressing mode.

Definition at line 336 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::srcAddr

DMA source address.

Definition at line 338 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::dstAddr

DMA destination address.

DMA write destination address.

Definition at line 339 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::linkMode

Select absolute or relative link address.

Definition at line 341 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::link

Enable LINKLOAD when transfer is done.

Definition at line 342 of file em_ldma.h.

int32_t LDMA_Descriptor_t::linkAddr

Address of next (linked) descriptor.

Definition at line 343 of file em_ldma.h.

struct { ... } LDMA_Descriptor_t::xfer

TRANSFER DMA descriptor, this is the only descriptor type which can be used to start a DMA transfer.

uint32_t LDMA_Descriptor_t::syncSet

Set bits in LDMA_CTRL.SYNCTRIG register.

Definition at line 367 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::syncClr

Clear bits in LDMA_CTRL.SYNCTRIG register

Definition at line 368 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::matchVal

Sync trig match value.

Definition at line 370 of file em_ldma.h.

uint32_t LDMA_Descriptor_t::matchEn

Sync trig match enable.

Definition at line 371 of file em_ldma.h.

struct { ... } LDMA_Descriptor_t::sync

SYNCHRONIZE DMA descriptor, used for intra channel transfer syncronization.

uint32_t LDMA_Descriptor_t::immVal

Data to be written at dstAddr.

Definition at line 398 of file em_ldma.h.

struct { ... } LDMA_Descriptor_t::wri

WRITE DMA descriptor, used for write immediate operations.


The documentation for this union was generated from the following file: