EDMA3_DRV_GblConfigParams Struct Reference
[EDMA3 Driver Interface Definition]

Init-time Configuration structure for EDMA3 controller, to provide Global SoC specific Information. More...

#include <edma3_drv.h>


Data Fields

unsigned int numDmaChannels
unsigned int numQdmaChannels
unsigned int numTccs
unsigned int numPaRAMSets
unsigned int numEvtQueue
unsigned int numTcs
unsigned int numRegions
unsigned short dmaChPaRAMMapExists
 Channel mapping existence.
unsigned short memProtectionExists
void * globalRegs
void * tcRegs [EDMA3_MAX_TC]
unsigned int xferCompleteInt
unsigned int ccError
unsigned int tcError [EDMA3_MAX_TC]
unsigned int evtQPri [EDMA3_MAX_EVT_QUE]
 EDMA3 TC priority setting.
unsigned int evtQueueWaterMarkLvl [EDMA3_MAX_EVT_QUE]
 Event Queues Watermark Levels.
unsigned int tcDefaultBurstSize [EDMA3_MAX_TC]
 Default Burst Size (DBS) of TCs.
unsigned int dmaChannelPaRAMMap [EDMA3_MAX_DMA_CH]
 Mapping from DMA channels to PaRAM Sets.
unsigned int dmaChannelTccMap [EDMA3_MAX_DMA_CH]
 Mapping from DMA channels to TCCs.
unsigned int dmaChannelHwEvtMap [EDMA3_MAX_DMA_CHAN_DWRDS]
 Mapping from DMA channels to Hardware Events.


Detailed Description

Init-time Configuration structure for EDMA3 controller, to provide Global SoC specific Information.

This configuration structure is used to specify the EDMA3 Driver global settings, specific to the SoC. For e.g. number of DMA/QDMA channels, number of PaRAM sets, TCCs, event queues, transfer controllers, base addresses of CC global registers and TC registers, interrupt number for EDMA3 transfer completion, CC error, event queues' priority, watermark threshold level etc. This configuration information is SoC specific and could be provided by the user at run-time while creating the EDMA3 Driver Object, using API EDMA3_DRV_create. In case user doesn't provide it, this information could be taken from the SoC specific configuration file edma3_<SOC_NAME>_cfg.c, in case it is available.


Field Documentation

EDMA3 CC error interrupt line (could be different for ARM and DSP)

unsigned int EDMA3_DRV_GblConfigParams::dmaChannelHwEvtMap[EDMA3_MAX_DMA_CHAN_DWRDS]

Mapping from DMA channels to Hardware Events.

Each bit in this array corresponds to one DMA channel and tells whether this DMA channel is tied to any peripheral. That is whether any peripheral can send the synch event on this DMA channel or not. 1 means the channel is tied to some peripheral; 0 means it is not. DMA channels which are tied to some peripheral are RESERVED for that peripheral only. They are not allocated when user asks for 'ANY' DMA channel. All channels need not be mapped, some can be free also.

Referenced by EDMA3_DRV_disableLogicalChannel(), EDMA3_DRV_disableTransfer(), and EDMA3_DRV_enableTransfer().

unsigned int EDMA3_DRV_GblConfigParams::dmaChannelPaRAMMap[EDMA3_MAX_DMA_CH]

Mapping from DMA channels to PaRAM Sets.

If channel mapping exists (DCHMAP registers are present), this array stores the respective PaRAM Set for each DMA channel. User can initialize each array member with a specific PaRAM Set or with EDMA3_DRV_CH_NO_PARAM_MAP. If channel mapping doesn't exist, it is of no use as the EDMA3 RM automatically uses the right PaRAM Set for that DMA channel. Useful only if mapping exists, otherwise of no use.

Referenced by EDMA3_DRV_requestChannel().

unsigned int EDMA3_DRV_GblConfigParams::dmaChannelTccMap[EDMA3_MAX_DMA_CH]

Mapping from DMA channels to TCCs.

This array stores the respective TCC (interrupt channel) for each DMA channel. User can initialize each array member with a specific TCC or with EDMA3_DRV_CH_NO_TCC_MAP. This specific TCC code will be returned when the transfer is completed on the mapped DMA channel.

Referenced by EDMA3_DRV_requestChannel().

Channel mapping existence.

A value of 0 (No channel mapping) implies that there is fixed association between a DMA channel and a PaRAM Set or, in other words, DMA channel n can ONLY use PaRAM Set n (No availability of DCHMAP registers) for transfers to happen.

A value of 1 implies the presence of DCHMAP registers for the DMA channels and hence the flexibility of associating any DMA channel to any PaRAM Set. In other words, ANY PaRAM Set can be used for ANY DMA channel (like QDMA Channels).

Referenced by EDMA3_DRV_requestChannel().

unsigned int EDMA3_DRV_GblConfigParams::evtQPri[EDMA3_MAX_EVT_QUE]

EDMA3 TC priority setting.

User can program the priority of the Event Queues at a system-wide level. This means that the user can set the priority of an IO initiated by either of the TCs (Transfer Controllers) relative to IO initiated by the other bus masters on the device (ARM, DSP, USB, etc)

unsigned int EDMA3_DRV_GblConfigParams::evtQueueWaterMarkLvl[EDMA3_MAX_EVT_QUE]

Event Queues Watermark Levels.

To Configure the Threshold level of number of events that can be queued up in the Event queues. EDMA3CC error register (CCERR) will indicate whether or not at any instant of time the number of events queued up in any of the event queues exceeds or equals the threshold/watermark value that is set in the queue watermark threshold register (QWMTHRA).

Existence of memory protection feature

Number of DMA Channels supported by the underlying EDMA3 Controller.

Referenced by EDMA3_DRV_requestChannel().

Number of Event Queues in the underlying EDMA3 Controller

Referenced by EDMA3_DRV_clearErrorBits(), EDMA3_DRV_mapChToEvtQ(), and EDMA3_DRV_requestChannel().

Number of QDMA Channels supported by the underlying EDMA3 Controller

Number of Regions in the underlying EDMA3 Controller

Referenced by EDMA3_DRV_create(), EDMA3_DRV_getInstHandle(), and EDMA3_DRV_open().

Number of Interrupt Channels supported by the underlying EDMA3 Controller

Referenced by EDMA3_DRV_checkAndClearTcc(), EDMA3_DRV_freeChannel(), and EDMA3_DRV_waitAndClearTcc().

Number of Transfer Controllers (TCs) in the underlying EDMA3 Controller

Default Burst Size (DBS) of TCs.

An optimally-sized command is defined by the transfer controller default burst size (DBS). Different TCs can have different DBS values. It is defined in Bytes.

Referenced by EDMA3_DRV_setDestParams(), and EDMA3_DRV_setSrcParams().

unsigned int EDMA3_DRV_GblConfigParams::tcError[EDMA3_MAX_TC]

EDMA3 TCs error interrupt line (could be different for ARM and DSP)

void* EDMA3_DRV_GblConfigParams::tcRegs[EDMA3_MAX_TC]

Base address of EDMA3 TCs memory mapped registers.

EDMA3 transfer completion interrupt line (could be different for ARM and DSP)


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

Generated on Tue Jul 7 19:18:48 2009 for EDMA3 Driver by  doxygen 1.5.9