]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Nuvoton_Code/StdDriver/inc/pdma.h
Add Cortex M23 GCC and IAR ports. Add demo projects for Nuvoton NuMaker-PFM-2351.
[freertos] / FreeRTOS / Demo / CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC / Nuvoton_Code / StdDriver / inc / pdma.h
1 /**************************************************************************//**\r
2  * @file     pdma.h\r
3  * @version  V3.00\r
4  * @brief    M2351 series PDMA driver header file\r
5  *\r
6  * @note\r
7  * Copyright (C) 2017 Nuvoton Technology Corp. All rights reserved.\r
8  *****************************************************************************/\r
9 #ifndef __PDMA_H__\r
10 #define __PDMA_H__\r
11 \r
12 #ifdef __cplusplus\r
13 extern "C"\r
14 {\r
15 #endif\r
16 \r
17 \r
18 /** @addtogroup Standard_Driver Standard Driver\r
19   @{\r
20 */\r
21 \r
22 /** @addtogroup PDMA_Driver PDMA Driver\r
23   @{\r
24 */\r
25 \r
26 /** @addtogroup PDMA_EXPORTED_CONSTANTS PDMA Exported Constants\r
27   @{\r
28 */\r
29 #define PDMA_CH_MAX    8UL   /*!< Specify Maximum Channels of PDMA  \hideinitializer */\r
30 \r
31 /*---------------------------------------------------------------------------------------------------------*/\r
32 /*  Operation Mode Constant Definitions                                                                    */\r
33 /*---------------------------------------------------------------------------------------------------------*/\r
34 #define PDMA_OP_STOP        0x00000000UL            /*!<DMA Stop Mode  \hideinitializer */\r
35 #define PDMA_OP_BASIC       0x00000001UL            /*!<DMA Basic Mode  \hideinitializer */\r
36 #define PDMA_OP_SCATTER     0x00000002UL            /*!<DMA Scatter-gather Mode  \hideinitializer */\r
37 \r
38 /*---------------------------------------------------------------------------------------------------------*/\r
39 /*  Data Width Constant Definitions                                                                        */\r
40 /*---------------------------------------------------------------------------------------------------------*/\r
41 #define PDMA_WIDTH_8        0x00000000UL            /*!<DMA Transfer Width 8-bit  \hideinitializer */\r
42 #define PDMA_WIDTH_16       0x00001000UL            /*!<DMA Transfer Width 16-bit  \hideinitializer */\r
43 #define PDMA_WIDTH_32       0x00002000UL            /*!<DMA Transfer Width 32-bit  \hideinitializer */\r
44 \r
45 /*---------------------------------------------------------------------------------------------------------*/\r
46 /*  Address Attribute Constant Definitions                                                                 */\r
47 /*---------------------------------------------------------------------------------------------------------*/\r
48 #define PDMA_SAR_INC        0x00000000UL            /*!<DMA SAR increment  \hideinitializer */\r
49 #define PDMA_SAR_FIX        0x00000300UL            /*!<DMA SAR fix address  \hideinitializer */\r
50 #define PDMA_DAR_INC        0x00000000UL            /*!<DMA DAR increment  \hideinitializer */\r
51 #define PDMA_DAR_FIX        0x00000C00UL            /*!<DMA DAR fix address  \hideinitializer */\r
52 \r
53 /*---------------------------------------------------------------------------------------------------------*/\r
54 /*  Burst Mode Constant Definitions                                                                        */\r
55 /*---------------------------------------------------------------------------------------------------------*/\r
56 #define PDMA_REQ_SINGLE     0x00000004UL            /*!<DMA Single Request  \hideinitializer */\r
57 #define PDMA_REQ_BURST      0x00000000UL            /*!<DMA Burst Request  \hideinitializer */\r
58 \r
59 #define PDMA_BURST_128      0x00000000UL            /*!<DMA Burst 128 Transfers  \hideinitializer */\r
60 #define PDMA_BURST_64       0x00000010UL            /*!<DMA Burst 64 Transfers  \hideinitializer */\r
61 #define PDMA_BURST_32       0x00000020UL            /*!<DMA Burst 32 Transfers  \hideinitializer */\r
62 #define PDMA_BURST_16       0x00000030UL            /*!<DMA Burst 16 Transfers  \hideinitializer */\r
63 #define PDMA_BURST_8        0x00000040UL            /*!<DMA Burst 8 Transfers  \hideinitializer */\r
64 #define PDMA_BURST_4        0x00000050UL            /*!<DMA Burst 4 Transfers  \hideinitializer */\r
65 #define PDMA_BURST_2        0x00000060UL            /*!<DMA Burst 2 Transfers  \hideinitializer */\r
66 #define PDMA_BURST_1        0x00000070UL            /*!<DMA Burst 1 Transfers  \hideinitializer */\r
67 \r
68 /*---------------------------------------------------------------------------------------------------------*/\r
69 /*  Table Interrupt Disable Constant Definitions                                                           */\r
70 /*---------------------------------------------------------------------------------------------------------*/\r
71 #define PDMA_TBINTDIS_ENABLE  (0x0UL<<PDMA_DSCT_CTL_TBINTDIS_Pos)  /*!<DMA Table Interrupt Enabled   \hideinitializer */\r
72 #define PDMA_TBINTDIS_DISABLE (0x1UL<<PDMA_DSCT_CTL_TBINTDIS_Pos)  /*!<DMA Table Interrupt Disabled  \hideinitializer */\r
73 \r
74 /*---------------------------------------------------------------------------------------------------------*/\r
75 /*  Peripheral Transfer Mode Constant Definitions                                                          */\r
76 /*---------------------------------------------------------------------------------------------------------*/\r
77 #define PDMA_MEM            0x00000000UL            /*!<DMA Connect to Memory  \hideinitializer */\r
78 #define PDMA_USB_TX         0x00000002UL            /*!<DMA Connect to USB TX  \hideinitializer */\r
79 #define PDMA_USB_RX         0x00000003UL            /*!<DMA Connect to USB RX  \hideinitializer */\r
80 #define PDMA_UART0_TX       0x00000004UL            /*!<DMA Connect to UART0 TX  \hideinitializer */\r
81 #define PDMA_UART0_RX       0x00000005UL            /*!<DMA Connect to UART0 RX  \hideinitializer */\r
82 #define PDMA_UART1_TX       0x00000006UL            /*!<DMA Connect to UART1 TX  \hideinitializer */\r
83 #define PDMA_UART1_RX       0x00000007UL            /*!<DMA Connect to UART1 RX  \hideinitializer */\r
84 #define PDMA_UART2_TX       0x00000008UL            /*!<DMA Connect to UART2 TX  \hideinitializer */\r
85 #define PDMA_UART2_RX       0x00000009UL            /*!<DMA Connect to UART2 RX  \hideinitializer */\r
86 #define PDMA_UART3_TX       0x0000000AUL            /*!<DMA Connect to UART3 TX  \hideinitializer */\r
87 #define PDMA_UART3_RX       0x0000000BUL            /*!<DMA Connect to UART3 RX  \hideinitializer */\r
88 #define PDMA_UART4_TX       0x0000000CUL            /*!<DMA Connect to UART4 TX  \hideinitializer */\r
89 #define PDMA_UART4_RX       0x0000000DUL            /*!<DMA Connect to UART4 RX  \hideinitializer */\r
90 #define PDMA_UART5_TX       0x0000000EUL            /*!<DMA Connect to UART5 TX  \hideinitializer */\r
91 #define PDMA_UART5_RX       0x0000000FUL            /*!<DMA Connect to UART5 RX  \hideinitializer */\r
92 #define PDMA_USCI0_TX       0x00000010UL            /*!<DMA Connect to USCI0 TX  \hideinitializer */\r
93 #define PDMA_USCI0_RX       0x00000011UL            /*!<DMA Connect to USCI0 RX  \hideinitializer */\r
94 #define PDMA_USCI1_TX       0x00000012UL            /*!<DMA Connect to USCI1 TX  \hideinitializer */\r
95 #define PDMA_USCI1_RX       0x00000013UL            /*!<DMA Connect to USCI1 RX  \hideinitializer */\r
96 #define PDMA_QSPI0_TX       0x00000014UL            /*!<DMA Connect to QSPI0 TX  \hideinitializer */\r
97 #define PDMA_QSPI0_RX       0x00000015UL            /*!<DMA Connect to QSPI0 RX  \hideinitializer */\r
98 #define PDMA_SPI0_TX        0x00000016UL            /*!<DMA Connect to SPI0 TX  \hideinitializer */\r
99 #define PDMA_SPI0_RX        0x00000017UL            /*!<DMA Connect to SPI0 RX  \hideinitializer */\r
100 #define PDMA_SPI1_TX        0x00000018UL            /*!<DMA Connect to SPI1 TX  \hideinitializer */\r
101 #define PDMA_SPI1_RX        0x00000019UL            /*!<DMA Connect to SPI1 RX  \hideinitializer */\r
102 #define PDMA_SPI2_TX        0x0000001AUL            /*!<DMA Connect to SPI2 TX  \hideinitializer */\r
103 #define PDMA_SPI2_RX        0x0000001BUL            /*!<DMA Connect to SPI2 RX  \hideinitializer */\r
104 #define PDMA_SPI3_TX        0x0000001CUL            /*!<DMA Connect to SPI3 TX  \hideinitializer */\r
105 #define PDMA_SPI3_RX        0x0000001DUL            /*!<DMA Connect to SPI3 RX  \hideinitializer */\r
106 #define PDMA_EPWM0_P1_RX     0x00000020UL            /*!<DMA Connect to EPWM0 P1 RX  \hideinitializer */\r
107 #define PDMA_EPWM0_P2_RX     0x00000021UL            /*!<DMA Connect to EPWM0 P2 RX  \hideinitializer */\r
108 #define PDMA_EPWM0_P3_RX     0x00000022UL            /*!<DMA Connect to EPWM0 P3 RX  \hideinitializer */\r
109 #define PDMA_EPWM1_P1_RX     0x00000023UL            /*!<DMA Connect to EPWM1 P1 RX  \hideinitializer */\r
110 #define PDMA_EPWM1_P2_RX     0x00000024UL            /*!<DMA Connect to EPWM1 P2 RX  \hideinitializer */\r
111 #define PDMA_EPWM1_P3_RX     0x00000025UL            /*!<DMA Connect to EPWM1 P3 RX  \hideinitializer */\r
112 #define PDMA_I2C0_TX        0x00000026UL            /*!<DMA Connect to I2C0 TX  \hideinitializer */\r
113 #define PDMA_I2C0_RX        0x00000027UL            /*!<DMA Connect to I2C0 RX  \hideinitializer */\r
114 #define PDMA_I2C1_TX        0x00000028UL            /*!<DMA Connect to I2C1 TX  \hideinitializer */\r
115 #define PDMA_I2C1_RX        0x00000029UL            /*!<DMA Connect to I2C1 RX  \hideinitializer */\r
116 #define PDMA_I2C2_TX        0x0000002AUL            /*!<DMA Connect to I2C2 TX  \hideinitializer */\r
117 #define PDMA_I2C2_RX        0x0000002BUL            /*!<DMA Connect to I2C2 RX  \hideinitializer */\r
118 #define PDMA_I2S0_TX        0x0000002CUL            /*!<DMA Connect to I2S0 TX  \hideinitializer */\r
119 #define PDMA_I2S0_RX        0x0000002DUL            /*!<DMA Connect to I2S0 RX  \hideinitializer */\r
120 #define PDMA_TMR0           0x0000002EUL            /*!<DMA Connect to TMR0  \hideinitializer */\r
121 #define PDMA_TMR1           0x0000002FUL            /*!<DMA Connect to TMR1  \hideinitializer */\r
122 #define PDMA_TMR2           0x00000030UL            /*!<DMA Connect to TMR2  \hideinitializer */\r
123 #define PDMA_TMR3           0x00000031UL            /*!<DMA Connect to TMR3  \hideinitializer */\r
124 #define PDMA_ADC_RX         0x00000032UL            /*!<DMA Connect to ADC RX  \hideinitializer */\r
125 #define PDMA_DAC0_TX        0x00000033UL            /*!<DMA Connect to DAC0 TX  \hideinitializer */\r
126 #define PDMA_DAC1_TX        0x00000034UL            /*!<DMA Connect to DAC1 TX  \hideinitializer */\r
127 #define PDMA_EPWM0_CH0_TX    0x00000035UL            /*!<DMA Connect to EPWM0 CH0 TX  \hideinitializer */\r
128 #define PDMA_EPWM0_CH1_TX    0x00000036UL            /*!<DMA Connect to EPWM0 CH1 TX  \hideinitializer */\r
129 #define PDMA_EPWM0_CH2_TX    0x00000037UL            /*!<DMA Connect to EPWM0 CH2 TX  \hideinitializer */\r
130 #define PDMA_EPWM0_CH3_TX    0x00000038UL            /*!<DMA Connect to EPWM0 CH3 TX  \hideinitializer */\r
131 #define PDMA_EPWM0_CH4_TX    0x00000039UL            /*!<DMA Connect to EPWM0 CH4 TX  \hideinitializer */\r
132 #define PDMA_EPWM0_CH5_TX    0x0000003AUL            /*!<DMA Connect to EPWM0 CH5 TX  \hideinitializer */\r
133 #define PDMA_EPWM1_CH0_TX    0x0000003BUL            /*!<DMA Connect to EPWM1 CH0 TX  \hideinitializer */\r
134 #define PDMA_EPWM1_CH1_TX    0x0000003CUL            /*!<DMA Connect to EPWM1 CH1 TX  \hideinitializer */\r
135 #define PDMA_EPWM1_CH2_TX    0x0000003DUL            /*!<DMA Connect to EPWM1 CH2 TX  \hideinitializer */\r
136 #define PDMA_EPWM1_CH3_TX    0x0000003EUL            /*!<DMA Connect to EPWM1 CH3 TX  \hideinitializer */\r
137 #define PDMA_EPWM1_CH4_TX    0x0000003FUL            /*!<DMA Connect to EPWM1 CH4 TX  \hideinitializer */\r
138 #define PDMA_EPWM1_CH5_TX    0x00000040UL            /*!<DMA Connect to EPWM1 CH5 TX  \hideinitializer */\r
139 \r
140 /*---------------------------------------------------------------------------------------------------------*/\r
141 /*  Interrupt Type Constant Definitions                                                                    */\r
142 /*---------------------------------------------------------------------------------------------------------*/\r
143 #define PDMA_INT_TRANS_DONE 0x00000000UL            /*!<Transfer Done Interrupt  \hideinitializer */\r
144 #define PDMA_INT_TABLE      0x00000001UL            /*!<Table Interrupt  \hideinitializer */\r
145 #define PDMA_INT_TIMEOUT    0x00000002UL            /*!<Timeout Interrupt  \hideinitializer */\r
146 #define PDMA_INT_ALIGN      0x00000003UL            /*!<Transfer Alignment Interrupt  \hideinitializer */\r
147 \r
148 \r
149 /*@}*/ /* end of group PDMA_EXPORTED_CONSTANTS */\r
150 \r
151 /** @addtogroup PDMA_EXPORTED_FUNCTIONS PDMA Exported Functions\r
152   @{\r
153 */\r
154 \r
155 /**\r
156  * @brief       Get PDMA Interrupt Status\r
157  *\r
158  * @param[in]   pdma        The pointer of the specified PDMA module\r
159  *\r
160  * @return      None\r
161  *\r
162  * @details     This macro gets the interrupt status.\r
163  */\r
164 #define PDMA_GET_INT_STATUS(pdma) ((uint32_t)((pdma)->INTSTS))\r
165 \r
166 /**\r
167  * @brief       Get Transfer Done Interrupt Status\r
168  *\r
169  * @param[in]   pdma        The pointer of the specified PDMA module\r
170  *\r
171  * @return      None\r
172  *\r
173  * @details     Get the transfer done Interrupt status.\r
174  */\r
175 #define PDMA_GET_TD_STS(pdma) ((uint32_t)((pdma)->TDSTS))\r
176 \r
177 /**\r
178  * @brief       Clear Transfer Done Interrupt Status\r
179  *\r
180  * @param[in]   pdma        The pointer of the specified PDMA module\r
181  * @param[in]   u32Mask     The channel mask\r
182  *\r
183  * @return      None\r
184  *\r
185  * @details     Clear the transfer done Interrupt status.\r
186  */\r
187 #define PDMA_CLR_TD_FLAG(pdma, u32Mask) ((uint32_t)((pdma)->TDSTS = (u32Mask)))\r
188 \r
189 /**\r
190  * @brief       Get Target Abort Interrupt Status\r
191  *\r
192  * @param[in]   pdma        The pointer of the specified PDMA module\r
193  *\r
194  * @return      None\r
195  *\r
196  * @details     Get the target abort Interrupt status.\r
197  */\r
198 #define PDMA_GET_ABORT_STS(pdma) ((uint32_t)((pdma)->ABTSTS))\r
199 \r
200 /**\r
201  * @brief       Clear Target Abort Interrupt Status\r
202  *\r
203  * @param[in]   pdma        The pointer of the specified PDMA module\r
204  * @param[in]   u32Mask     The channel mask\r
205  *\r
206  * @return      None\r
207  *\r
208  * @details     Clear the target abort Interrupt status.\r
209  */\r
210 #define PDMA_CLR_ABORT_FLAG(pdma, u32Mask) ((uint32_t)((pdma)->ABTSTS = (u32Mask)))\r
211 \r
212 /**\r
213  * @brief       Get PDMA Transfer Alignment Status\r
214  *\r
215  * @param[in]   pdma        The pointer of the specified PDMA module\r
216  *\r
217  * @return      None\r
218  *\r
219  * @details     Get the PDMA transfer alignment status.\r
220  */\r
221 #define PDMA_GET_ALIGN_STS(pdma) ((uint32_t)((pdma)->ALIGN))\r
222 \r
223 /**\r
224  * @brief       Clear PDMA Transfer Alignment Interrupt Status\r
225  *\r
226  * @param[in]   pdma        The pointer of the specified PDMA module\r
227  * @param[in]   u32Mask     The channel mask\r
228  *\r
229  * @return      None\r
230  *\r
231  * @details     Clear the PDMA transfer alignment Interrupt status.\r
232  */\r
233 #define PDMA_CLR_ALIGN_FLAG(pdma, u32Mask) ((uint32_t)((pdma)->ALIGN = (u32Mask)))\r
234 \r
235 /**\r
236  * @brief       Clear Timeout Interrupt Status\r
237  *\r
238  * @param[in]   pdma        The pointer of the specified PDMA module\r
239  * @param[in]   u32Ch       The selected channel\r
240  *\r
241  * @return      None\r
242  *\r
243  * @details     Clear the selected channel timeout interrupt status.\r
244  * @note        This function is only supported in channel 0 and channel 1.\r
245  */\r
246 #define PDMA_CLR_TMOUT_FLAG(pdma, u32Ch) ((uint32_t)((pdma)->INTSTS = (1UL << ((u32Ch) + 8UL))))\r
247 \r
248 /**\r
249  * @brief       Check Channel Status\r
250  *\r
251  * @param[in]   pdma        The pointer of the specified PDMA module\r
252  * @param[in]   u32Ch       The selected channel\r
253  *\r
254  * @retval      0 Idle state\r
255  * @retval      1 Busy state\r
256  *\r
257  * @details     Check the selected channel is busy or not.\r
258  */\r
259 #define PDMA_IS_CH_BUSY(pdma, u32Ch) ((uint32_t)((pdma)->TRGSTS & (1UL << (u32Ch)))? 1 : 0)\r
260 \r
261 /**\r
262  * @brief       Set Source Address\r
263  *\r
264  * @param[in]   pdma        The pointer of the specified PDMA module\r
265  * @param[in]   u32Ch       The selected channel\r
266  * @param[in]   u32Addr     The selected address\r
267  *\r
268  * @return      None\r
269  *\r
270  * @details     This macro set the selected channel source address.\r
271  */\r
272 #define PDMA_SET_SRC_ADDR(pdma, u32Ch, u32Addr) ((uint32_t)((pdma)->DSCT[(u32Ch)].SA = (u32Addr)))\r
273 \r
274 /**\r
275  * @brief       Set Destination Address\r
276  *\r
277  * @param[in]   pdma        The pointer of the specified PDMA module\r
278  * @param[in]   u32Ch       The selected channel\r
279  * @param[in]   u32Addr     The selected address\r
280  *\r
281  * @return      None\r
282  *\r
283  * @details     This macro set the selected channel destination address.\r
284  */\r
285 #define PDMA_SET_DST_ADDR(pdma, u32Ch, u32Addr) ((uint32_t)((pdma)->DSCT[(u32Ch)].DA = (u32Addr)))\r
286 \r
287 /**\r
288  * @brief       Set Transfer Count\r
289  *\r
290  * @param[in]   pdma           The pointer of the specified PDMA module\r
291  * @param[in]   u32Ch          The selected channel\r
292  * @param[in]   u32TransCount  Transfer Count\r
293  *\r
294  * @return      None\r
295  *\r
296  * @details     This macro set the selected channel transfer count.\r
297  */\r
298 #define PDMA_SET_TRANS_CNT(pdma, u32Ch, u32TransCount) ((uint32_t)((pdma)->DSCT[(u32Ch)].CTL=((pdma)->DSCT[(u32Ch)].CTL&~PDMA_DSCT_CTL_TXCNT_Msk)|(((u32TransCount)-1UL) << PDMA_DSCT_CTL_TXCNT_Pos)))\r
299 \r
300 /**\r
301  * @brief       Set Scatter-gather descriptor Address\r
302  *\r
303  * @param[in]   pdma        The pointer of the specified PDMA module\r
304  * @param[in]   u32Ch       The selected channel\r
305  * @param[in]   u32Addr     The descriptor address\r
306  *\r
307  * @return      None\r
308  *\r
309  * @details     This macro set the selected channel scatter-gather descriptor address.\r
310  */\r
311 #define PDMA_SET_SCATTER_DESC(pdma, u32Ch, u32Addr) ((uint32_t)((pdma)->DSCT[(u32Ch)].NEXT = (u32Addr) - ((pdma)->SCATBA)))\r
312 \r
313 /**\r
314  * @brief       Stop the channel\r
315  *\r
316  * @param[in]   pdma        The pointer of the specified PDMA module\r
317  * @param[in]   u32Ch       The selected channel\r
318  *\r
319  * @return      None\r
320  *\r
321  * @details     This macro stop the selected channel.\r
322  */\r
323 #define PDMA_STOP(pdma, u32Ch) ((uint32_t)((pdma)->PAUSE = (1UL << (u32Ch))))\r
324 \r
325 /**\r
326  * @brief       Pause the channel\r
327  *\r
328  * @param[in]   pdma        The pointer of the specified PDMA module\r
329  * @param[in]   u32Ch       The selected channel\r
330  *\r
331  * @return      None\r
332  *\r
333  * @details     This macro pause the selected channel.\r
334  */\r
335 #define PDMA_PAUSE(pdma, u32Ch) ((uint32_t)((pdma)->PAUSE = (1UL << (u32Ch))))\r
336 \r
337 /**\r
338  * @brief       Reset the channel\r
339  *\r
340  * @param[in]   pdma        The pointer of the specified PDMA module\r
341  * @param[in]   u32Ch       The selected channel\r
342  *\r
343  * @return      None\r
344  *\r
345  * @details     This macro reset the selected channel.\r
346  */\r
347 #define PDMA_RESET(pdma, u32Ch) ((uint32_t)((pdma)->CHRST = (1UL << (u32Ch))))\r
348 \r
349 /*---------------------------------------------------------------------------------------------------------*/\r
350 /* Define PWM functions prototype                                                                          */\r
351 /*---------------------------------------------------------------------------------------------------------*/\r
352 void PDMA_Open(PDMA_T *pdma, uint32_t u32Mask);\r
353 void PDMA_Close(PDMA_T *pdma);\r
354 void PDMA_SetTransferCnt(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Width, uint32_t u32TransCount);\r
355 void PDMA_SetStride(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32DestLen, uint32_t u32SrcLen, uint32_t u32TransCount);\r
356 void PDMA_SetTransferAddr(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32SrcAddr, uint32_t u32SrcCtrl, uint32_t u32DstAddr, uint32_t u32DstCtrl);\r
357 void PDMA_SetTransferMode(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Peripheral, uint32_t u32ScatterEn, uint32_t u32DescAddr);\r
358 void PDMA_SetBurstType(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32BurstType, uint32_t u32BurstSize);\r
359 void PDMA_EnableTimeout(PDMA_T *pdma, uint32_t u32Mask);\r
360 void PDMA_DisableTimeout(PDMA_T *pdma, uint32_t u32Mask);\r
361 void PDMA_SetTimeOut(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32OnOff, uint32_t u32TimeOutCnt);\r
362 void PDMA_Trigger(PDMA_T *pdma, uint32_t u32Ch);\r
363 void PDMA_EnableInt(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Mask);\r
364 void PDMA_DisableInt(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Mask);\r
365 \r
366 \r
367 /*@}*/ /* end of group PDMA_EXPORTED_FUNCTIONS */\r
368 \r
369 /*@}*/ /* end of group PDMA_Driver */\r
370 \r
371 /*@}*/ /* end of group Standard_Driver */\r
372 \r
373 #ifdef __cplusplus\r
374 }\r
375 #endif\r
376 \r
377 #endif /* __PDMA_H__ */\r
378 \r
379 /*** (C) COPYRIGHT 2017 Nuvoton Technology Corp. ***/\r