uc-sdk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lpc17xx_gpdma.h File Reference

Contains all macro definitions and function prototypes support for GPDMA firmware library on LPC17xx. More...

#include "LPC17xx.h"
#include "lpc_types.h"

Go to the source code of this file.

Classes

struct  GPDMA_Channel_CFG_Type
 GPDMA Channel configuration structure type definition. More...
 
struct  GPDMA_LLI_Type
 GPDMA Linker List Item structure type definition. More...
 

Macros

#define GPDMA_CONN_SSP0_Tx   ((0UL))
 
#define GPDMA_CONN_SSP0_Rx   ((1UL))
 
#define GPDMA_CONN_SSP1_Tx   ((2UL))
 
#define GPDMA_CONN_SSP1_Rx   ((3UL))
 
#define GPDMA_CONN_ADC   ((4UL))
 
#define GPDMA_CONN_I2S_Channel_0   ((5UL))
 
#define GPDMA_CONN_I2S_Channel_1   ((6UL))
 
#define GPDMA_CONN_DAC   ((7UL))
 
#define GPDMA_CONN_UART0_Tx   ((8UL))
 
#define GPDMA_CONN_UART0_Rx   ((9UL))
 
#define GPDMA_CONN_UART1_Tx   ((10UL))
 
#define GPDMA_CONN_UART1_Rx   ((11UL))
 
#define GPDMA_CONN_UART2_Tx   ((12UL))
 
#define GPDMA_CONN_UART2_Rx   ((13UL))
 
#define GPDMA_CONN_UART3_Tx   ((14UL))
 
#define GPDMA_CONN_UART3_Rx   ((15UL))
 
#define GPDMA_CONN_MAT0_0   ((16UL))
 
#define GPDMA_CONN_MAT0_1   ((17UL))
 
#define GPDMA_CONN_MAT1_0   ((18UL))
 
#define GPDMA_CONN_MAT1_1   ((19UL))
 
#define GPDMA_CONN_MAT2_0   ((20UL))
 
#define GPDMA_CONN_MAT2_1   ((21UL))
 
#define GPDMA_CONN_MAT3_0   ((22UL))
 
#define GPDMA_CONN_MAT3_1   ((23UL))
 
#define GPDMA_TRANSFERTYPE_M2M   ((0UL))
 
#define GPDMA_TRANSFERTYPE_M2P   ((1UL))
 
#define GPDMA_TRANSFERTYPE_P2M   ((2UL))
 
#define GPDMA_TRANSFERTYPE_P2P   ((3UL))
 
#define GPDMA_BSIZE_1   ((0UL))
 
#define GPDMA_BSIZE_4   ((1UL))
 
#define GPDMA_BSIZE_8   ((2UL))
 
#define GPDMA_BSIZE_16   ((3UL))
 
#define GPDMA_BSIZE_32   ((4UL))
 
#define GPDMA_BSIZE_64   ((5UL))
 
#define GPDMA_BSIZE_128   ((6UL))
 
#define GPDMA_BSIZE_256   ((7UL))
 
#define GPDMA_WIDTH_BYTE   ((0UL))
 
#define GPDMA_WIDTH_HALFWORD   ((1UL))
 
#define GPDMA_WIDTH_WORD   ((2UL))
 
#define GPDMA_REQSEL_UART   ((0UL))
 
#define GPDMA_REQSEL_TIMER   ((1UL))
 
#define GPDMA_DMACIntStat_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACIntStat_BITMASK   ((0xFF))
 
#define GPDMA_DMACIntTCStat_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACIntTCStat_BITMASK   ((0xFF))
 
#define GPDMA_DMACIntTCClear_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACIntTCClear_BITMASK   ((0xFF))
 
#define GPDMA_DMACIntErrStat_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACIntErrStat_BITMASK   ((0xFF))
 
#define GPDMA_DMACIntErrClr_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACIntErrClr_BITMASK   ((0xFF))
 
#define GPDMA_DMACRawIntTCStat_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACRawIntTCStat_BITMASK   ((0xFF))
 
#define GPDMA_DMACRawIntErrStat_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACRawIntErrStat_BITMASK   ((0xFF))
 
#define GPDMA_DMACEnbldChns_Ch(n)   (((1UL<<n)&0xFF))
 
#define GPDMA_DMACEnbldChns_BITMASK   ((0xFF))
 
#define GPDMA_DMACSoftBReq_Src(n)   (((1UL<<n)&0xFFFF))
 
#define GPDMA_DMACSoftBReq_BITMASK   ((0xFFFF))
 
#define GPDMA_DMACSoftSReq_Src(n)   (((1UL<<n)&0xFFFF))
 
#define GPDMA_DMACSoftSReq_BITMASK   ((0xFFFF))
 
#define GPDMA_DMACSoftLBReq_Src(n)   (((1UL<<n)&0xFFFF))
 
#define GPDMA_DMACSoftLBReq_BITMASK   ((0xFFFF))
 
#define GPDMA_DMACSoftLSReq_Src(n)   (((1UL<<n)&0xFFFF))
 
#define GPDMA_DMACSoftLSReq_BITMASK   ((0xFFFF))
 
#define GPDMA_DMACConfig_E   ((0x01))
 
#define GPDMA_DMACConfig_M   ((0x02))
 
#define GPDMA_DMACConfig_BITMASK   ((0x03))
 
#define GPDMA_DMACSync_Src(n)   (((1UL<<n)&0xFFFF))
 
#define GPDMA_DMACSync_BITMASK   ((0xFFFF))
 
#define GPDMA_DMAReqSel_Input(n)   (((1UL<<(n-8))&0xFF))
 
#define GPDMA_DMAReqSel_BITMASK   ((0xFF))
 
#define GPDMA_DMACCxLLI_BITMASK   ((0xFFFFFFFC))
 
#define GPDMA_DMACCxControl_TransferSize(n)   (((n&0xFFF)<<0))
 
#define GPDMA_DMACCxControl_SBSize(n)   (((n&0x07)<<12))
 
#define GPDMA_DMACCxControl_DBSize(n)   (((n&0x07)<<15))
 
#define GPDMA_DMACCxControl_SWidth(n)   (((n&0x07)<<18))
 
#define GPDMA_DMACCxControl_DWidth(n)   (((n&0x07)<<21))
 
#define GPDMA_DMACCxControl_SI   ((1UL<<26))
 
#define GPDMA_DMACCxControl_DI   ((1UL<<27))
 
#define GPDMA_DMACCxControl_Prot1   ((1UL<<28))
 
#define GPDMA_DMACCxControl_Prot2   ((1UL<<29))
 
#define GPDMA_DMACCxControl_Prot3   ((1UL<<30))
 
#define GPDMA_DMACCxControl_I   ((1UL<<31))
 
#define GPDMA_DMACCxControl_BITMASK   ((0xFCFFFFFF))
 
#define GPDMA_DMACCxConfig_E   ((1UL<<0))
 
#define GPDMA_DMACCxConfig_SrcPeripheral(n)   (((n&0x1F)<<1))
 
#define GPDMA_DMACCxConfig_DestPeripheral(n)   (((n&0x1F)<<6))
 
#define GPDMA_DMACCxConfig_TransferType(n)   (((n&0x7)<<11))
 
#define GPDMA_DMACCxConfig_IE   ((1UL<<14))
 
#define GPDMA_DMACCxConfig_ITC   ((1UL<<15))
 
#define GPDMA_DMACCxConfig_L   ((1UL<<16))
 
#define GPDMA_DMACCxConfig_A   ((1UL<<17))
 
#define GPDMA_DMACCxConfig_H   ((1UL<<18))
 
#define GPDMA_DMACCxConfig_BITMASK   ((0x7FFFF))
 
#define PARAM_GPDMA_CHANNEL(n)   ((n>=0) && (n<=7))
 
#define PARAM_GPDMA_CONN(n)
 
#define PARAM_GPDMA_BSIZE(n)
 
#define PARAM_GPDMA_WIDTH(n)
 
#define PARAM_GPDMA_STAT(n)
 
#define PARAM_GPDMA_TRANSFERTYPE(n)
 
#define PARAM_GPDMA_STATCLR(n)   ((n==GPDMA_STATCLR_INTTC) || (n==GPDMA_STATCLR_INTERR))
 
#define PARAM_GPDMA_REQSEL(n)   ((n==GPDMA_REQSEL_UART) || (n==GPDMA_REQSEL_TIMER))
 

Enumerations

enum  GPDMA_Status_Type {
  GPDMA_STAT_INT, GPDMA_STAT_INTTC, GPDMA_STAT_INTERR, GPDMA_STAT_RAWINTTC,
  GPDMA_STAT_RAWINTERR, GPDMA_STAT_ENABLED_CH
}
 GPDMA Status enumeration. More...
 
enum  GPDMA_StateClear_Type { GPDMA_STATCLR_INTTC, GPDMA_STATCLR_INTERR }
 GPDMA Interrupt clear status enumeration. More...
 

Functions

void GPDMA_Init (void)
 
Status GPDMA_Setup (GPDMA_Channel_CFG_Type *GPDMAChannelConfig)
 
IntStatus GPDMA_IntGetStatus (GPDMA_Status_Type type, uint8_t channel)
 
void GPDMA_ClearIntPending (GPDMA_StateClear_Type type, uint8_t channel)
 
void GPDMA_ChannelCmd (uint8_t channelNum, FunctionalState NewState)
 

Detailed Description

Contains all macro definitions and function prototypes support for GPDMA firmware library on LPC17xx.

Version
2.0
Date
21. May. 2010
Author
NXP MCU SW Application Team

Software that is described herein is for illustrative purposes only which provides customers with programming information regarding the products. This software is supplied "AS IS" without any warranties. NXP Semiconductors assumes no responsibility or liability for the use of the software, conveys no license or title under any patent, copyright, or mask work right to the product. NXP Semiconductors reserves the right to make changes in the software without notification. NXP Semiconductors also make no representation or warranty that such application will be suitable for the specified use without further testing or modification.

Definition in file lpc17xx_gpdma.h.