28#define PDMA_CH_MAX 8UL
33#define PDMA_OP_STOP 0x00000000UL
34#define PDMA_OP_BASIC 0x00000001UL
35#define PDMA_OP_SCATTER 0x00000002UL
40#define PDMA_WIDTH_8 0x00000000UL
41#define PDMA_WIDTH_16 0x00001000UL
42#define PDMA_WIDTH_32 0x00002000UL
47#define PDMA_SAR_INC 0x00000000UL
48#define PDMA_SAR_FIX 0x00000300UL
49#define PDMA_DAR_INC 0x00000000UL
50#define PDMA_DAR_FIX 0x00000C00UL
55#define PDMA_REQ_SINGLE 0x00000004UL
56#define PDMA_REQ_BURST 0x00000000UL
58#define PDMA_BURST_128 0x00000000UL
59#define PDMA_BURST_64 0x00000010UL
60#define PDMA_BURST_32 0x00000020UL
61#define PDMA_BURST_16 0x00000030UL
62#define PDMA_BURST_8 0x00000040UL
63#define PDMA_BURST_4 0x00000050UL
64#define PDMA_BURST_2 0x00000060UL
65#define PDMA_BURST_1 0x00000070UL
70#define PDMA_SPI0_TX 0x00000001UL
71#define PDMA_SPI1_TX 0x00000002UL
72#define PDMA_UART0_TX 0x00000004UL
73#define PDMA_UART1_TX 0x00000005UL
74#define PDMA_UART2_TX 0x00000006UL
75#define PDMA_UART3_TX 0x00000007UL
76#define PDMA_ADC_RX 0x00000009UL
77#define PDMA_PWM0_P1_RX 0x0000000BUL
78#define PDMA_PWM0_P2_RX 0x0000000CUL
79#define PDMA_PWM0_P3_RX 0x0000000DUL
80#define PDMA_PWM1_P1_RX 0x0000000EUL
81#define PDMA_PWM1_P2_RX 0x0000000FUL
82#define PDMA_PWM1_P3_RX 0x00000010UL
83#define PDMA_SPI0_RX 0x00000011UL
84#define PDMA_SPI1_RX 0x00000012UL
85#define PDMA_UART0_RX 0x00000014UL
86#define PDMA_UART1_RX 0x00000015UL
87#define PDMA_UART2_RX 0x00000016UL
88#define PDMA_UART3_RX 0x00000017UL
89#define PDMA_MEM 0x0000001FUL
94#define PDMA_INT_TRANS_DONE 0x00000000UL
95#define PDMA_INT_TEMPTY 0x00000001UL
96#define PDMA_INT_TIMEOUT 0x00000002UL
114#define PDMA_GET_INT_STATUS() ((uint32_t)(PDMA->INTSTS))
125#define PDMA_GET_TD_STS() ((uint32_t)(PDMA->TDSTS))
136#define PDMA_CLR_TD_FLAG(u32Mask) ((uint32_t)(PDMA->TDSTS = (u32Mask)))
147#define PDMA_GET_ABORT_STS() ((uint32_t)(PDMA->ABTSTS))
158#define PDMA_CLR_ABORT_FLAG(u32Mask) ((uint32_t)(PDMA->ABTSTS = (u32Mask)))
169#define PDMA_GET_EMPTY_STS() ((uint32_t)(PDMA->SCATSTS))
180#define PDMA_CLR_EMPTY_FLAG(u32Mask) ((uint32_t)(PDMA->SCATSTS = (u32Mask)))
191#define PDMA_CLR_TMOUT_FLAG(u32Ch) ((uint32_t)(PDMA->INTSTS = (1 << ((u32Ch) + 8))))
203#define PDMA_IS_CH_BUSY(u32Ch) ((uint32_t)(PDMA->TRGSTS & (1 << (u32Ch)))? 1 : 0)
215#define PDMA_SET_SRC_ADDR(u32Ch, u32Addr) ((uint32_t)(PDMA->DSCT[(u32Ch)].SA = (u32Addr)))
227#define PDMA_SET_DST_ADDR(u32Ch, u32Addr) ((uint32_t)(PDMA->DSCT[(u32Ch)].DA = (u32Addr)))
239#define PDMA_SET_TRANS_CNT(u32Ch, u32TransCount) ((uint32_t)(PDMA->DSCT[(u32Ch)].CTL=(PDMA->DSCT[(u32Ch)].CTL&~PDMA_DSCT_CTL_TXCNT_Msk)|(((u32TransCount)-1) << PDMA_DSCT_CTL_TXCNT_Pos)))
251#define PDMA_SET_SCATTER_DESC(u32Ch, u32Addr) ((uint32_t)(PDMA->DSCT[(u32Ch)].NEXT = (u32Addr) - (PDMA->SCATBA)))
262#define PDMA_STOP(u32Ch) ((uint32_t)(PDMA->STOP = (1 << (u32Ch))))
270void PDMA_SetTransferAddr(uint32_t u32Ch, uint32_t u32SrcAddr, uint32_t u32SrcCtrl, uint32_t u32DstAddr, uint32_t u32DstCtrl);
271void PDMA_SetTransferMode(uint32_t u32Ch, uint32_t u32Peripheral, uint32_t u32ScatterEn, uint32_t u32DescAddr);
272void PDMA_SetBurstType(uint32_t u32Ch, uint32_t u32BurstType, uint32_t u32BurstSize);
275void PDMA_SetTimeOut(uint32_t u32Ch, uint32_t u32OnOff, uint32_t u32TimeOutCnt);
void PDMA_SetTransferAddr(uint32_t u32Ch, uint32_t u32SrcAddr, uint32_t u32SrcCtrl, uint32_t u32DstAddr, uint32_t u32DstCtrl)
Set PDMA Transfer Address.
void PDMA_Trigger(uint32_t u32Ch)
Trigger PDMA.
void PDMA_EnableTimeout(uint32_t u32Mask)
Enable timeout function.
void PDMA_SetTimeOut(uint32_t u32Ch, uint32_t u32OnOff, uint32_t u32TimeOutCnt)
Set PDMA Timeout Count.
void PDMA_EnableInt(uint32_t u32Ch, uint32_t u32Mask)
Enable Interrupt.
void PDMA_Open(uint32_t u32Mask)
PDMA Open.
void PDMA_DisableTimeout(uint32_t u32Mask)
Disable timeout function.
void PDMA_Close(void)
PDMA Close.
void PDMA_DisableInt(uint32_t u32Ch, uint32_t u32Mask)
Disable Interrupt.
void PDMA_SetTransferMode(uint32_t u32Ch, uint32_t u32Peripheral, uint32_t u32ScatterEn, uint32_t u32DescAddr)
Set PDMA Transfer Mode.
void PDMA_SetBurstType(uint32_t u32Ch, uint32_t u32BurstType, uint32_t u32BurstSize)
Set PDMA Burst Type and Size.
void PDMA_SetTransferCnt(uint32_t u32Ch, uint32_t u32Width, uint32_t u32TransCount)
Set PDMA Transfer Count.