TMPM4G(1) Group Peripheral Driver User Manual  V1.0.0.0
txz_tspi_hdma.h
Go to the documentation of this file.
1 
14 /*------------------------------------------------------------------------------*/
15 /* Define to prevent recursive inclusion */
16 /*------------------------------------------------------------------------------*/
17 #ifndef __TSPI_HDMA_H
18 #define __TSPI_HDMA_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_hdma.h"
30 
40 /*------------------------------------------------------------------------------*/
41 /* Macro Definition */
42 /*------------------------------------------------------------------------------*/
53 #define TSPI_HDMA_TYPE_UNUSE ((uint32_t)0)
54 #define TSPI_HDMA_TYPE_TX_USE ((uint32_t)1)
55 #define TSPI_HDMA_TYPE_RX_USE ((uint32_t)2) /* End of group TSPI_HDMA_TransferType */
59 
64 /* DR */
65 #define TSPI_DR_8BIT_MASK ((uint32_t)0x000000FF)
66 #define TSPI_DR_9BIT_MASK ((uint32_t)0x000001FF)
67 #define TSPI_DR_10BIT_MASK ((uint32_t)0x000003FF)
68 #define TSPI_DR_11BIT_MASK ((uint32_t)0x000007FF)
69 #define TSPI_DR_12BIT_MASK ((uint32_t)0x00000FFF)
70 #define TSPI_DR_13BIT_MASK ((uint32_t)0x00001FFF)
71 #define TSPI_DR_14BIT_MASK ((uint32_t)0x00003FFF)
72 #define TSPI_DR_15BIT_MASK ((uint32_t)0x00007FFF)
73 #define TSPI_DR_16BIT_MASK ((uint32_t)0x0000FFFF)
74 #define TSPI_DR_17BIT_MASK ((uint32_t)0x0001FFFF)
75 #define TSPI_DR_18BIT_MASK ((uint32_t)0x0003FFFF)
76 #define TSPI_DR_19BIT_MASK ((uint32_t)0x0007FFFF)
77 #define TSPI_DR_20BIT_MASK ((uint32_t)0x000FFFFF)
78 #define TSPI_DR_21BIT_MASK ((uint32_t)0x001FFFFF)
79 #define TSPI_DR_22BIT_MASK ((uint32_t)0x003FFFFF)
80 #define TSPI_DR_23BIT_MASK ((uint32_t)0x007FFFFF)
81 #define TSPI_DR_24BIT_MASK ((uint32_t)0x00FFFFFF)
82 #define TSPI_DR_25BIT_MASK ((uint32_t)0x01FFFFFF)
83 #define TSPI_DR_26BIT_MASK ((uint32_t)0x03FFFFFF)
84 #define TSPI_DR_27BIT_MASK ((uint32_t)0x07FFFFFF)
85 #define TSPI_DR_28BIT_MASK ((uint32_t)0x0FFFFFFF)
86 #define TSPI_DR_29BIT_MASK ((uint32_t)0x1FFFFFFF)
87 #define TSPI_DR_30BIT_MASK ((uint32_t)0x3FFFFFFF)
88 #define TSPI_DR_37BIT_MASK ((uint32_t)0x7FFFFFFF) /* End of name TSPIxDR_MASK Macro Definition */
92 
98 #define DATA_LENGTH_8 ((uint32_t)0x08)
99 #define DATA_LENGTH_9 ((uint32_t)0x09)
100 #define DATA_LENGTH_10 ((uint32_t)0x0a)
101 #define DATA_LENGTH_11 ((uint32_t)0x0b)
102 #define DATA_LENGTH_12 ((uint32_t)0x0c)
103 #define DATA_LENGTH_13 ((uint32_t)0x0d)
104 #define DATA_LENGTH_14 ((uint32_t)0x0e)
105 #define DATA_LENGTH_15 ((uint32_t)0x0f)
106 #define DATA_LENGTH_16 ((uint32_t)0x10)
107 #define DATA_LENGTH_17 ((uint32_t)0x11)
108 #define DATA_LENGTH_18 ((uint32_t)0x12)
109 #define DATA_LENGTH_19 ((uint32_t)0x13)
110 #define DATA_LENGTH_20 ((uint32_t)0x14)
111 #define DATA_LENGTH_21 ((uint32_t)0x15)
112 #define DATA_LENGTH_22 ((uint32_t)0x16)
113 #define DATA_LENGTH_23 ((uint32_t)0x17)
114 #define DATA_LENGTH_24 ((uint32_t)0x18)
115 #define DATA_LENGTH_25 ((uint32_t)0x19)
116 #define DATA_LENGTH_26 ((uint32_t)0x1a)
117 #define DATA_LENGTH_27 ((uint32_t)0x1b)
118 #define DATA_LENGTH_28 ((uint32_t)0x1c)
119 #define DATA_LENGTH_29 ((uint32_t)0x1d)
120 #define DATA_LENGTH_30 ((uint32_t)0x1e)
121 #define DATA_LENGTH_31 ((uint32_t)0x1f)
122 #define DATA_LENGTH_32 ((uint32_t)0x20) /* End of name TSPI _DATA_LENGTH Macro Definition */
126  /* End of group TSPI_Exported_define */
129 
130 
131 /*------------------------------------------------------------------------------*/
132 /* Enumerated Type Definition */
133 /*------------------------------------------------------------------------------*/
139 /* no define */
140  /* End of group TSPI_Exported_define */
144 
145 
146 /*------------------------------------------------------------------------------*/
147 /* Structure Definition */
148 /*------------------------------------------------------------------------------*/
154 /*----------------------------------*/
158 /*----------------------------------*/
159 typedef struct
160 {
161  uint32_t type;
163  uint32_t ch;
165  uint32_t src_ch;
167  uint32_t dst_ch;
170 
171 /*----------------------------------*/
175 /*----------------------------------*/
176 typedef struct
177 {
182 
183 /*----------------------------------*/
187 /*----------------------------------*/
188 typedef struct
189 {
194  uint32_t work[8];
195 } tspi_dma_t;
196  /* End of group TSPI_Exported_typedef */
200 
201 
202 /*------------------------------------------------------------------------------*/
203 /* Functions */
204 /*------------------------------------------------------------------------------*/
214 TXZ_Result tspi_dma_receiveIt(tspi_dma_t *p_obj, tspi_receive_t *p_info); /* End of group TSPI_Exported_functions */
218  /* End of group TSPI */
222  /* End of group Periph_Driver */
226 
227 #ifdef __cplusplus
228 }
229 #endif /* __cplusplus */
230 #endif /* __TSPI_HDMA_H */
231 
232 
TSPI DMA handle structure definition.
Definition: txz_tspi_hdma.h:188
TXZ_Result tspi_dma_deinit(tspi_dma_t *p_obj)
uint32_t dst_ch
Definition: txz_tspi_hdma.h:167
TSPI handle structure definition.
Definition: txz_tspi.h:1250
TXZ_Result
Definition: txz_driver_def.h:43
uint32_t ch
Definition: txz_tspi_hdma.h:163
Receive event information structure definition.
Definition: txz_tspi.h:979
This file provides all the functions prototypes for HDMA driver.
hdma_t * p_obj
Definition: txz_tspi_hdma.h:178
TXZ_Result tspi_dma_discard_receive(tspi_dma_t *p_obj)
This file provides all the functions prototypes for TSPI driver.
uint32_t type
Definition: txz_tspi_hdma.h:161
TXZ_Result tspi_dma_transmitIt(tspi_dma_t *p_obj, tspi_transmit_t *p_info)
Transmit data information structure definition.
Definition: txz_tspi.h:1030
DMA setting structure definition.
Definition: txz_tspi_hdma.h:159
tspi_dma_setting_t rx
Definition: txz_tspi_hdma.h:180
HDMA handle structure definition.
Definition: txz_hdma.h:490
All common macro and definition for TXZ peripheral drivers.
tspi_dma_setting_t tx
Definition: txz_tspi_hdma.h:179
tspi_dma_initial_setting_t init
Definition: txz_tspi_hdma.h:192
uint32_t src_ch
Definition: txz_tspi_hdma.h:165
TXZ_Result tspi_dma_discard_transmit(tspi_dma_t *p_obj)
TSPI DMA initial setting structure definition.
Definition: txz_tspi_hdma.h:176
tspi_t super
Definition: txz_tspi_hdma.h:190
TXZ_Result tspi_dma_init(tspi_dma_t *p_obj)
TXZ_Result tspi_dma_receiveIt(tspi_dma_t *p_obj, tspi_receive_t *p_info)