TMPM4KxA Group Peripheral Driver User Manual  V1.0.4.0
txz_dma_ex.h
Go to the documentation of this file.
1 
14 /*------------------------------------------------------------------------------*/
15 /* Define to prevent recursive inclusion */
16 /*------------------------------------------------------------------------------*/
17 #ifndef __DMA_EX_H
18 #define __DMA_EX_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 /*------------------------------------------------------------------------------*/
25 /* Includes */
26 /*------------------------------------------------------------------------------*/
27 #include "txz_driver_def.h"
28 #include "txz_dma.h"
29 
39 /*------------------------------------------------------------------------------*/
40 /* Macro Function */
41 /*------------------------------------------------------------------------------*/
46 #define DMA_EX_TRANS_NUM(x) ((uint32_t)((uint32_t)((x) - 1) << 4)) /* End of group DMA_Exported_macro */
50 
51 
52 /*------------------------------------------------------------------------------*/
53 /* Macro Definition */
54 /*------------------------------------------------------------------------------*/
60 /* no define */
61  /* End of group DMA_Exported_define */
65 
66 
67 /*------------------------------------------------------------------------------*/
68 /* Enumerated Type Definition */
69 /*------------------------------------------------------------------------------*/
75 /* no define */
76  /* End of group DMA_Exported_define */
80 
81 
82 /*------------------------------------------------------------------------------*/
83 /* Structure Definition */
84 /*------------------------------------------------------------------------------*/
90 /*----------------------------------*/
95 /*----------------------------------*/
96 typedef struct
97 {
98  uint32_t source;
99  uint32_t destination;
100  uint32_t control;
102 
103 /*----------------------------------*/
108 /*----------------------------------*/
109 typedef struct
110 {
111  uint32_t source;
112  uint32_t destination;
113  uint32_t control;
114 } dma_cnt_cfg_t;
115 
116 /*----------------------------------*/
121 /*----------------------------------*/
122 typedef struct
123 {
124  uint32_t source;
125  uint32_t destination;
126  uint32_t control;
128 
129 /*----------------------------------*/
134 /*----------------------------------*/
135 typedef struct
136 {
137  uint32_t source;
138  uint32_t num;
140  /* End of group DMA_Exported_typedef */
144 
145 /*------------------------------------------------------------------------------*/
146 /* Functions */
147 /*------------------------------------------------------------------------------*/
152 TXZ_Result dma_sw_request(dma_t *p_obj, uint32_t ch);
153 /* for normal mode */
154 TXZ_Result dma_normal_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_normal_cfg_t *p_cfg);
155 TXZ_Result dma_normal_stopIt(dma_t *p_obj, uint32_t ch);
156 /* for Continuation normal mode */
157 TXZ_Result dma_normal_cnt_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_cnt_cfg_t *p_cfg);
158 TXZ_Result dma_normal_cnt_stopIt(dma_t *p_obj, uint32_t ch);
159 /* for Continuation chain mode */
160 TXZ_Result dma_cnt_chain_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_chain_cfg_t *p_cfg);
161 TXZ_Result dma_cnt_chain_stopIt(dma_t *p_obj, uint32_t ch);
162 /* for chain mode */
163 TXZ_Result dma_chain_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_chain_cfg_t *p_cfg);
164 TXZ_Result dma_chain_stopIt(dma_t *p_obj, uint32_t ch); /* End of group DMA_Exported_functions */
168  /* End of group DMA */
172  /* End of group Periph_Driver */
176 
177 #ifdef __cplusplus
178 }
179 #endif /* __cplusplus */
180 #endif /* __DMA_EX_H */
181 
182 
uint32_t control
Definition: txz_dma_ex.h:113
TXZ_Result dma_sw_request(dma_t *p_obj, uint32_t ch)
DMA Request Self Trigger.
Definition: txz_dma_ex.c:197
TXZ_Result dma_normal_cnt_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_cnt_cfg_t *p_cfg)
Start DMA DMA Continuation mode.
Definition: txz_dma_ex.c:408
TXZ_Result dma_cnt_chain_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_chain_cfg_t *p_cfg)
Start DMA Continuation Chain mode.
Definition: txz_dma_ex.c:584
uint32_t num
Definition: txz_dma_ex.h:138
uint32_t destination
Definition: txz_dma_ex.h:125
uint32_t control
Definition: txz_dma_ex.h:126
uint32_t source
Definition: txz_dma_ex.h:137
Channel configration structure definenition.
Definition: txz_dma_ex.h:109
This file provides all the functions prototypes for DMA driver.
Channel configration structure definenition.
Definition: txz_dma_ex.h:122
TXZ_Result dma_chain_stopIt(dma_t *p_obj, uint32_t ch)
Stop DMA Chain mode.
Definition: txz_dma_ex.c:751
TXZ_Result dma_chain_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_chain_cfg_t *p_cfg)
Start DMA Chain mode.
Definition: txz_dma_ex.c:679
uint32_t control
Definition: txz_dma_ex.h:100
All common macro and definition for TXZ peripheral drivers.
uint32_t destination
Definition: txz_dma_ex.h:99
DMA handle structure definenition.
Definition: txz_dma.h:296
Channel configration structure definenition.
Definition: txz_dma_ex.h:96
uint32_t source
Definition: txz_dma_ex.h:111
TXZ_Result dma_cnt_chain_stopIt(dma_t *p_obj, uint32_t ch)
Stop DMA Continuation Chain mode.
Definition: txz_dma_ex.c:656
uint32_t source
Definition: txz_dma_ex.h:124
uint32_t source
Definition: txz_dma_ex.h:98
TXZ_Result dma_normal_cnt_stopIt(dma_t *p_obj, uint32_t ch)
Stop DMA DMA Continuation mode.
Definition: txz_dma_ex.c:561
TXZ_Result dma_normal_startIt(dma_t *p_obj, uint32_t ch, uint32_t burst, dma_normal_cfg_t *p_cfg)
Start DMA normal mode.
Definition: txz_dma_ex.c:232
Channel configration structure definenition.
Definition: txz_dma_ex.h:135
uint32_t destination
Definition: txz_dma_ex.h:112
TXZ_Result dma_normal_stopIt(dma_t *p_obj, uint32_t ch)
Stop DMA normal mode.
Definition: txz_dma_ex.c:385