Data Structures | Defines | Typedefs | Enumerations | Functions
csl_dma.h File Reference

Functional layer API header file for DMA CSL. More...

#include <cslr_dma.h>
#include <cslr_sysctrl.h>
#include <tistdtypes.h>
#include <csl_types.h>
#include <csl_error.h>
#include <soc.h>
#include <csl_general.h>

Go to the source code of this file.

Data Structures

struct  CSL_DMA_ChannelObj
 DMA channel object. More...
struct  CSL_DMA_Config
 DMA configuration structure. More...

Defines

#define CSL_DMA_MIN_TX_SIZE   (4)
#define CSL_DMA_CHAN_MAX   (16)
#define CSL_DMA_CHAN_COUNT   (4)
#define CSL_DMA_CHANNEL_BUSY   (1)
#define CSL_DMA_CHANNEL_FREE   (0)
#define CSL_DMA_CHANNEL_ENABLE   (Uint16)1
#define CSL_DMA_CHANNEL_DISABLE   (Uint16)0
#define CSL_DMA_DMATCR2_DMASTART_SYNC_MASK   (0x8004)
#define CSL_DMA_UINT16_MASK   (0xFFFF)
#define CSL_DMA_UINT16_NUMBER_BITS   (0x0010)
#define CSL_DMA_RESET_CLOCK_CYCLE   (0x20)
#define CSL_DMA_ADDR_MODE_FIXED   (0x02)
#define CSL_DMA_ADDR_MODE_INCREMENT   (0x00)
#define CSL_DMA_ADDR_SHIFT   (0x01)
#define CSL_DMA_DARAM_START_ADDR   (0x00060)
#define CSL_DMA_DARAM_END_ADDR   (0x07FFF)
#define CSL_DMA_SARAM_START_ADDR   (0x08000)
#define CSL_DMA_SARAM_END_ADDR   (0x27FFF)
#define CSL_DMA_DARAM_ADDR_OFFSET   (0x010000)
#define CSL_DMA_SARAM_ADDR_OFFSET   (0x080000)
#define CSL_DMA_16BIT_MASK   (0xFFFFu)
#define CSL_DMA_16BIT_SHIFT   (16u)

Typedefs

typedef CSL_DMA_ChannelObjCSL_DMA_Handle
 DMA Handle.

Enumerations

enum  CSL_DMAEngineId {
  CSL_DMA_ENGINE0 = 0,
  CSL_DMA_ENGINE1,
  CSL_DMA_ENGINE2,
  CSL_DMA_ENGINE3,
  CSL_DMA_ENGINEINV
}
 DMA engine number. More...
enum  CSL_DMAChanNum {
  CSL_DMA_CHAN0 = 0,
  CSL_DMA_CHAN1,
  CSL_DMA_CHAN2,
  CSL_DMA_CHAN3,
  CSL_DMA_CHAN4,
  CSL_DMA_CHAN5,
  CSL_DMA_CHAN6,
  CSL_DMA_CHAN7,
  CSL_DMA_CHAN8,
  CSL_DMA_CHAN9,
  CSL_DMA_CHAN10,
  CSL_DMA_CHAN11,
  CSL_DMA_CHAN12,
  CSL_DMA_CHAN13,
  CSL_DMA_CHAN14,
  CSL_DMA_CHAN15,
  CSL_DMA_CHAN_INV
}
 DMA channel number. More...
enum  CSL_DMAAutoReloadMode {
  CSL_DMA_AUTORELOAD_DISABLE,
  CSL_DMA_AUTORELOAD_ENABLE
}
 DMA Auto reload bit. More...
enum  CSL_DMATxBurstLen {
  CSL_DMA_TXBURST_1WORD,
  CSL_DMA_TXBURST_2WORD,
  CSL_DMA_TXBURST_4WORD,
  CSL_DMA_TXBURST_8WORD,
  CSL_DMA_TXBURST_16WORD
}
 DMA burst mode bit. More...
enum  CSL_DMATransferStatus {
  CSL_DMA_TRANSFER_COMPLETE,
  CSL_DMA_TRANSFER_ERROR
}
 DMA transfer status parameter. More...
enum  CSL_DMAEvtType {
  CSL_DMA_EVT_NONE = 0,
  CSL_DMA_EVT_I2S0_TX = 1,
  CSL_DMA_EVT_I2S0_RX = 2,
  CSL_DMA_EVT_I2S1_TX = 1,
  CSL_DMA_EVT_I2S1_RX = 2,
  CSL_DMA_EVT_I2S2_TX = 1,
  CSL_DMA_EVT_I2S2_RX = 2,
  CSL_DMA_EVT_I2S3_TX = 4,
  CSL_DMA_EVT_I2S3_RX = 5,
  CSL_DMA_EVT_MMC_SD0_TX = 5,
  CSL_DMA_EVT_MMC_SD0_RX = 6,
  CSL_DMA_EVT_MMC_SD1_TX = 7,
  CSL_DMA_EVT_MMC_SD1_RX = 8,
  CSL_DMA_EVT_TIMER0 = 12,
  CSL_DMA_EVT_TIMER1 = 13,
  CSL_DMA_EVT_TIMER2 = 14,
  CSL_DMA_EVT_UART_TX = 5,
  CSL_DMA_EVT_UART_RX = 6,
  CSL_DMA_EVT_I2C_TX = 1,
  CSL_DMA_EVT_I2C_RX = 2,
  CSL_DMA_EVT_SAR_AD = 3,
  CSL_DMA_EVT_INVALID
}
 DMA event Id. More...
enum  CSL_DMAChanDir {
  CSL_DMA_READ,
  CSL_DMA_WRITE
}
 DMA channel direction. More...
enum  CSL_DMATransferType {
  CSL_DMA_TRANSFER_IO_MEMORY,
  CSL_DMA_TRANSFER_MEMORY
}
 DMA data transfer type. More...
enum  CSL_DMATriggerType {
  CSL_DMA_SOFTWARE_TRIGGER,
  CSL_DMA_EVENT_TRIGGER
}
 Type of the DMA triggering. More...
enum  CSL_DMAInterruptState {
  CSL_DMA_INTERRUPT_DISABLE,
  CSL_DMA_INTERRUPT_ENABLE
}
 State of the DMA Interrupt. More...
enum  CSL_DMAPingPongMode {
  CSL_DMA_PING_PONG_DISABLE,
  CSL_DMA_PING_PONG_ENABLE
}
 Enum to enable or disable Ping-Pong Mode. More...

Functions

CSL_Status DMA_init (void)
CSL_DMA_Handle DMA_open (CSL_DMAChanNum chanNum, CSL_DMA_ChannelObj *pDmaChanObj, CSL_Status *status)
CSL_Status DMA_close (CSL_DMA_Handle hDMA)
CSL_Status DMA_config (CSL_DMA_Handle hDMA, CSL_DMA_Config *pConfig)
CSL_Status DMA_getConfig (CSL_DMA_Handle hDMA, CSL_DMA_Config *pConfig)
CSL_Status DMA_start (CSL_DMA_Handle hDMA)
CSL_Status DMA_stop (CSL_DMA_Handle hDMA)
CSL_Status DMA_reset (CSL_DMA_Handle hDMA)
CSL_Status DMA_swapWords (Uint16 *dataBuffer, Uint32 dataLength)
Bool DMA_getLastTransferType (CSL_DMA_Handle hDMA, CSL_Status *status)
static Int DMA_getStatus (CSL_DMA_Handle hDMA)

Detailed Description

Functional layer API header file for DMA CSL.

Path: \(CSLPATH)/inc