TMPM4KxA Group Peripheral Driver User Manual  V1.0.4.0
txz_tspi_dma.h
Go to the documentation of this file.
1 
14 /*------------------------------------------------------------------------------*/
15 /* Define to prevent recursive inclusion */
16 /*------------------------------------------------------------------------------*/
17 #ifndef __TSPI_DMA_H
18 #define __TSPI_DMA_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 /*------------------------------------------------------------------------------*/
25 /* Includes */
26 /*------------------------------------------------------------------------------*/
27 #include "txz_driver_def.h"
28 #include "txz_tspi.h"
29 #include "txz_dma_ex.h"
30 
40 /*------------------------------------------------------------------------------*/
41 /* Macro Definition */
42 /*------------------------------------------------------------------------------*/
53 #define TSPI_DMA_TYPE_UNUSE ((uint32_t)0)
54 #define TSPI_DMA_TYPE_MEM_TO_MEM ((uint32_t)1)
55 #define TSPI_DMA_TYPE_MEM_TO_PERI ((uint32_t)2)
56 #define TSPI_DMA_TYPE_PERI_TO_MEM ((uint32_t)3)
57 #define TSPI_DMA_TYPE_PERI_TO_PERI ((uint32_t)4) /* End of group TSPI_DMA_TransferType */
61 
66 /* DR */
67 #define TSPI_DR_8BIT_MASK ((uint32_t)0x000000FF)
68 #define TSPI_DR_9BIT_MASK ((uint32_t)0x000001FF)
69 #define TSPI_DR_10BIT_MASK ((uint32_t)0x000003FF)
70 #define TSPI_DR_11BIT_MASK ((uint32_t)0x000007FF)
71 #define TSPI_DR_12BIT_MASK ((uint32_t)0x00000FFF)
72 #define TSPI_DR_13BIT_MASK ((uint32_t)0x00001FFF)
73 #define TSPI_DR_14BIT_MASK ((uint32_t)0x00003FFF)
74 #define TSPI_DR_15BIT_MASK ((uint32_t)0x00007FFF)
75 #define TSPI_DR_16BIT_MASK ((uint32_t)0x0000FFFF)
76 #define TSPI_DR_17BIT_MASK ((uint32_t)0x0001FFFF)
77 #define TSPI_DR_18BIT_MASK ((uint32_t)0x0003FFFF)
78 #define TSPI_DR_19BIT_MASK ((uint32_t)0x0007FFFF)
79 #define TSPI_DR_20BIT_MASK ((uint32_t)0x000FFFFF)
80 #define TSPI_DR_21BIT_MASK ((uint32_t)0x001FFFFF)
81 #define TSPI_DR_22BIT_MASK ((uint32_t)0x003FFFFF)
82 #define TSPI_DR_23BIT_MASK ((uint32_t)0x007FFFFF)
83 #define TSPI_DR_24BIT_MASK ((uint32_t)0x00FFFFFF)
84 #define TSPI_DR_25BIT_MASK ((uint32_t)0x01FFFFFF)
85 #define TSPI_DR_26BIT_MASK ((uint32_t)0x03FFFFFF)
86 #define TSPI_DR_27BIT_MASK ((uint32_t)0x07FFFFFF)
87 #define TSPI_DR_28BIT_MASK ((uint32_t)0x0FFFFFFF)
88 #define TSPI_DR_29BIT_MASK ((uint32_t)0x1FFFFFFF)
89 #define TSPI_DR_30BIT_MASK ((uint32_t)0x3FFFFFFF)
90 #define TSPI_DR_37BIT_MASK ((uint32_t)0x7FFFFFFF) /* End of name TSPIxDR_MASK Macro Definition */
94 
100 #define DATA_LENGTH_8 ((uint32_t)0x08)
101 #define DATA_LENGTH_9 ((uint32_t)0x09)
102 #define DATA_LENGTH_10 ((uint32_t)0x0a)
103 #define DATA_LENGTH_11 ((uint32_t)0x0b)
104 #define DATA_LENGTH_12 ((uint32_t)0x0c)
105 #define DATA_LENGTH_13 ((uint32_t)0x0d)
106 #define DATA_LENGTH_14 ((uint32_t)0x0e)
107 #define DATA_LENGTH_15 ((uint32_t)0x0f)
108 #define DATA_LENGTH_16 ((uint32_t)0x10)
109 #define DATA_LENGTH_17 ((uint32_t)0x11)
110 #define DATA_LENGTH_18 ((uint32_t)0x12)
111 #define DATA_LENGTH_19 ((uint32_t)0x13)
112 #define DATA_LENGTH_20 ((uint32_t)0x14)
113 #define DATA_LENGTH_21 ((uint32_t)0x15)
114 #define DATA_LENGTH_22 ((uint32_t)0x16)
115 #define DATA_LENGTH_23 ((uint32_t)0x17)
116 #define DATA_LENGTH_24 ((uint32_t)0x18)
117 #define DATA_LENGTH_25 ((uint32_t)0x19)
118 #define DATA_LENGTH_26 ((uint32_t)0x1a)
119 #define DATA_LENGTH_27 ((uint32_t)0x1b)
120 #define DATA_LENGTH_28 ((uint32_t)0x1c)
121 #define DATA_LENGTH_29 ((uint32_t)0x1d)
122 #define DATA_LENGTH_30 ((uint32_t)0x1e)
123 #define DATA_LENGTH_31 ((uint32_t)0x1f)
124 #define DATA_LENGTH_32 ((uint32_t)0x20) /* End of name TSPI _DATA_LENGTH Macro Definition */
128  /* End of group TSPI_Exported_define */
131 
132 
133 /*------------------------------------------------------------------------------*/
134 /* Enumerated Type Definition */
135 /*------------------------------------------------------------------------------*/
141 /* no define */
142  /* End of group TSPI_Exported_define */
146 
147 
148 /*------------------------------------------------------------------------------*/
149 /* Structure Definition */
150 /*------------------------------------------------------------------------------*/
156 /*----------------------------------*/
160 /*----------------------------------*/
161 typedef struct
162 {
163  uint32_t type;
165  uint32_t ch;
168 
169 /*----------------------------------*/
173 /*----------------------------------*/
174 typedef struct
175 {
180 
181 /*----------------------------------*/
185 /*----------------------------------*/
186 typedef struct
187 {
192  uint32_t work[8];
193 } tspi_dma_t;
194  /* End of group TSPI_Exported_typedef */
198 
199 
200 /*------------------------------------------------------------------------------*/
201 /* Functions */
202 /*------------------------------------------------------------------------------*/
207 TXZ_Result tspi_dma_init(tspi_dma_t *p_obj);
208 TXZ_Result tspi_dma_deinit(tspi_dma_t *p_obj);
209 TXZ_Result tspi_dma_discard_transmit(tspi_dma_t *p_obj);
210 TXZ_Result tspi_dma_discard_receive(tspi_dma_t *p_obj);
211 TXZ_Result tspi_dma_transmitIt(tspi_dma_t *p_obj, tspi_transmit_t *p_info);
212 TXZ_Result tspi_dma_receiveIt(tspi_dma_t *p_obj, tspi_receive_t *p_info); /* End of group TSPI_Exported_functions */
216  /* End of group TSPI */
220  /* End of group Periph_Driver */
224 
225 #ifdef __cplusplus
226 }
227 #endif /* __cplusplus */
228 #endif /* __TSPI_DMA_H */
229 
230 
TSPI DMA handle structure definenition.
Definition: txz_tspi_dma.h:186
TXZ_Result tspi_dma_deinit(tspi_dma_t *p_obj)
Release the TSPI DMA object.
Definition: txz_tspi_dma.c:303
TSPI handle structure definenition.
Definition: txz_tspi.h:1249
uint32_t ch
Definition: txz_tspi_dma.h:165
Receive event information structure definenition.
Definition: txz_tspi.h:978
TXZ_Result tspi_dma_discard_receive(tspi_dma_t *p_obj)
Discard receive.
Definition: txz_tspi_dma.c:412
This file provides all the functions prototypes for TSPI driver.
uint32_t type
Definition: txz_tspi_dma.h:163
TXZ_Result tspi_dma_transmitIt(tspi_dma_t *p_obj, tspi_transmit_t *p_info)
Transmit data. Non-Blocking Communication.
Definition: txz_tspi_dma.c:455
Transmit data information structure definenition.
Definition: txz_tspi.h:1029
DMA setting structure definenition.
Definition: txz_tspi_dma.h:161
tspi_dma_setting_t rx
Definition: txz_tspi_dma.h:178
All common macro and definition for TXZ peripheral drivers.
This file provides all the functions prototypes for DMA driver.
DMA handle structure definenition.
Definition: txz_dma.h:296
tspi_dma_setting_t tx
Definition: txz_tspi_dma.h:177
tspi_dma_initial_setting_t init
Definition: txz_tspi_dma.h:190
TXZ_Result tspi_dma_discard_transmit(tspi_dma_t *p_obj)
Discard transmit.
Definition: txz_tspi_dma.c:369
TSPI DMA initial setting structure definenition.
Definition: txz_tspi_dma.h:174
tspi_t super
Definition: txz_tspi_dma.h:188
TXZ_Result tspi_dma_init(tspi_dma_t *p_obj)
Initialize the TSPI DMA object.
Definition: txz_tspi_dma.c:224
TXZ_Result tspi_dma_receiveIt(tspi_dma_t *p_obj, tspi_receive_t *p_info)
Receive data. Non-Blocking Communication.
Definition: txz_tspi_dma.c:568
dma_t * p_obj
Definition: txz_tspi_dma.h:176