LPCOpen Platform for LPC18XX/43XX microcontrollers  18XX43XX
LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers
Functions | Variables
gpdma_18xx_43xx.c File Reference
#include "chip.h"

Go to the source code of this file.

Functions

STATIC uint8_t configDMAMux (uint32_t gpdma_peripheral_connection_number)
 
uint32_t makeCtrlWord (const GPDMA_CH_CFG_T *GPDMAChannelConfig, uint32_t GPDMA_LUTPerBurstSrcConn, uint32_t GPDMA_LUTPerBurstDstConn, uint32_t GPDMA_LUTPerWidSrcConn, uint32_t GPDMA_LUTPerWidDstConn)
 
Status setupChannel (LPC_GPDMA_T *pGPDMA, GPDMA_CH_CFG_T *GPDMAChannelConfig, uint32_t CtrlWord, uint32_t LinkListItem, uint8_t SrcPeripheral, uint8_t DstPeripheral)
 
void Chip_GPDMA_Init (LPC_GPDMA_T *pGPDMA)
 Initialize the GPDMA. More...
 
void Chip_GPDMA_DeInit (LPC_GPDMA_T *pGPDMA)
 Shutdown the GPDMA. More...
 
void Chip_GPDMA_Stop (LPC_GPDMA_T *pGPDMA, uint8_t ChannelNum)
 Stop a stream DMA transfer. More...
 
Status Chip_GPDMA_Interrupt (LPC_GPDMA_T *pGPDMA, uint8_t ChannelNum)
 The GPDMA stream interrupt status checking. More...
 
int Chip_GPDMA_InitChannelCfg (LPC_GPDMA_T *pGPDMA, GPDMA_CH_CFG_T *GPDMACfg, uint8_t ChannelNum, uint32_t src, uint32_t dst, uint32_t Size, GPDMA_FLOW_CONTROL_T TransferType)
 Initialize channel configuration strucutre. More...
 
IntStatus Chip_GPDMA_IntGetStatus (LPC_GPDMA_T *pGPDMA, GPDMA_STATUS_T type, uint8_t channel)
 Read the status from different registers according to the type. More...
 
void Chip_GPDMA_ClearIntPending (LPC_GPDMA_T *pGPDMA, GPDMA_STATECLEAR_T type, uint8_t channel)
 Clear the Interrupt Flag from different registers according to the type. More...
 
void Chip_GPDMA_ChannelCmd (LPC_GPDMA_T *pGPDMA, uint8_t channelNum, FunctionalState NewState)
 Enable or Disable the GPDMA Channel. More...
 
Status Chip_GPDMA_Transfer (LPC_GPDMA_T *pGPDMA, uint8_t ChannelNum, uint32_t src, uint32_t dst, GPDMA_FLOW_CONTROL_T TransferType, uint32_t Size)
 Do a DMA transfer M2M, M2P,P2M or P2P. More...
 
Status Chip_GPDMA_PrepareDescriptor (LPC_GPDMA_T *pGPDMA, DMA_TransferDescriptor_t *DMADescriptor, uint32_t src, uint32_t dst, uint32_t Size, GPDMA_FLOW_CONTROL_T TransferType, const DMA_TransferDescriptor_t *NextDescriptor)
 Prepare a single DMA descriptor. More...
 
Status Chip_GPDMA_SGTransfer (LPC_GPDMA_T *pGPDMA, uint8_t ChannelNum, const DMA_TransferDescriptor_t *DMADescriptor, GPDMA_FLOW_CONTROL_T TransferType)
 Do a DMA transfer using linked list of descriptors. More...
 
uint8_t Chip_GPDMA_GetFreeChannel (LPC_GPDMA_T *pGPDMA, uint32_t PeripheralConnection_ID)
 Get a free GPDMA channel for one DMA connection. More...
 

Variables

static DMA_ChannelHandle_t ChannelHandlerArray [GPDMA_NUMBER_CHANNELS]
 
static const uint8_t GPDMA_LUTPerBurst []
 
static const uint8_t GPDMA_LUTPerWid []
 
static volatile const void * GPDMA_LUTPerAddr []
 

Function Documentation

STATIC uint8_t configDMAMux ( uint32_t  gpdma_peripheral_connection_number)

Definition at line 151 of file gpdma_18xx_43xx.c.

uint32_t makeCtrlWord ( const GPDMA_CH_CFG_T GPDMAChannelConfig,
uint32_t  GPDMA_LUTPerBurstSrcConn,
uint32_t  GPDMA_LUTPerBurstDstConn,
uint32_t  GPDMA_LUTPerWidSrcConn,
uint32_t  GPDMA_LUTPerWidDstConn 
)

< Burst size = 32

< Burst size = 32

Definition at line 315 of file gpdma_18xx_43xx.c.

Status setupChannel ( LPC_GPDMA_T pGPDMA,
GPDMA_CH_CFG_T GPDMAChannelConfig,
uint32_t  CtrlWord,
uint32_t  LinkListItem,
uint8_t  SrcPeripheral,
uint8_t  DstPeripheral 
)

Definition at line 382 of file gpdma_18xx_43xx.c.

Variable Documentation

DMA_ChannelHandle_t ChannelHandlerArray[GPDMA_NUMBER_CHANNELS]
static

Definition at line 39 of file gpdma_18xx_43xx.c.

volatile const void* GPDMA_LUTPerAddr[]
static

Definition at line 110 of file gpdma_18xx_43xx.c.

const uint8_t GPDMA_LUTPerBurst[]
static

Definition at line 42 of file gpdma_18xx_43xx.c.

const uint8_t GPDMA_LUTPerWid[]
static

Definition at line 76 of file gpdma_18xx_43xx.c.