]> begriffs open source - cmsis-driver-validation/blob - Include/cmsis_dv.h
Add GPIO CMSIS-Driver Validation tests (#13)
[cmsis-driver-validation] / Include / cmsis_dv.h
1 /*
2  * Copyright (c) 2015-2023 Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Licensed under the Apache License, Version 2.0 (the License); you may
7  * not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * -----------------------------------------------------------------------------
19  *
20  * Project:     CMSIS-Driver Validation
21  * Title:       Tests definitions header file
22  *
23  * -----------------------------------------------------------------------------
24  */
25
26 #ifndef __CMSIS_DV_H
27 #define __CMSIS_DV_H
28
29 #include <stdint.h>
30
31 #ifdef _RTE_
32 #include "RTE_Components.h"             // Component selection
33 #endif
34
35 #if defined(RTE_CMSIS_RTOS)
36 #include "cmsis_os.h"
37 #define GET_SYSTICK() osKernelSysTick()
38 #define SYSTICK_MICROSEC(microsec) (((uint64_t)microsec * (osKernelSysTickFrequency)) / 1000000)
39
40 #elif defined(RTE_CMSIS_RTOS2)
41 #include "cmsis_os2.h"
42 #define GET_SYSTICK() osKernelGetSysTimerCount()
43 #define SYSTICK_MICROSEC(microsec) (((uint64_t)microsec *  osKernelGetSysTimerFreq()) / 1000000)
44 #endif
45 #include "cmsis_compiler.h"
46
47 /* Expansion macro used to create CMSIS Driver references */
48 #define EXPAND_SYMBOL(name, port) name##port
49 #define CREATE_SYMBOL(name, port) EXPAND_SYMBOL(name, port)
50
51 // Test main function
52 extern void cmsis_dv (void *argument);
53
54 // Init/Uninit and testing functions
55 extern void SPI_DV_Initialize (void);
56 extern void SPI_DV_Uninitialize (void);
57 extern void SPI_GetVersion (void);
58 extern void SPI_GetCapabilities (void);
59 extern void SPI_Initialize_Uninitialize (void);
60 extern void SPI_PowerControl (void);
61 extern void SPI_Mode_Master_SS_Unused (void);
62 extern void SPI_Mode_Master_SS_Sw_Ctrl (void);
63 extern void SPI_Mode_Master_SS_Hw_Ctrl_Out (void);
64 extern void SPI_Mode_Master_SS_Hw_Mon_In (void);
65 extern void SPI_Mode_Slave_SS_Hw_Mon (void);
66 extern void SPI_Mode_Slave_SS_Sw_Ctrl (void);
67 extern void SPI_Format_Clock_Pol0_Pha0 (void);
68 extern void SPI_Format_Clock_Pol0_Pha1 (void);
69 extern void SPI_Format_Clock_Pol1_Pha0 (void);
70 extern void SPI_Format_Clock_Pol1_Pha1 (void);
71 extern void SPI_Format_Frame_TI (void);
72 extern void SPI_Format_Clock_Microwire (void);
73 extern void SPI_Data_Bits_1 (void);
74 extern void SPI_Data_Bits_2 (void);
75 extern void SPI_Data_Bits_3 (void);
76 extern void SPI_Data_Bits_4 (void);
77 extern void SPI_Data_Bits_5 (void);
78 extern void SPI_Data_Bits_6 (void);
79 extern void SPI_Data_Bits_7 (void);
80 extern void SPI_Data_Bits_8 (void);
81 extern void SPI_Data_Bits_9 (void);
82 extern void SPI_Data_Bits_10 (void);
83 extern void SPI_Data_Bits_11 (void);
84 extern void SPI_Data_Bits_12 (void);
85 extern void SPI_Data_Bits_13 (void);
86 extern void SPI_Data_Bits_14 (void);
87 extern void SPI_Data_Bits_15 (void);
88 extern void SPI_Data_Bits_16 (void);
89 extern void SPI_Data_Bits_17 (void);
90 extern void SPI_Data_Bits_18 (void);
91 extern void SPI_Data_Bits_19 (void);
92 extern void SPI_Data_Bits_20 (void);
93 extern void SPI_Data_Bits_21 (void);
94 extern void SPI_Data_Bits_22 (void);
95 extern void SPI_Data_Bits_23 (void);
96 extern void SPI_Data_Bits_24 (void);
97 extern void SPI_Data_Bits_25 (void);
98 extern void SPI_Data_Bits_26 (void);
99 extern void SPI_Data_Bits_27 (void);
100 extern void SPI_Data_Bits_28 (void);
101 extern void SPI_Data_Bits_29 (void);
102 extern void SPI_Data_Bits_30 (void);
103 extern void SPI_Data_Bits_31 (void);
104 extern void SPI_Data_Bits_32 (void);
105 extern void SPI_Bit_Order_MSB_LSB (void);
106 extern void SPI_Bit_Order_LSB_MSB (void);
107 extern void SPI_Bus_Speed_Min (void);
108 extern void SPI_Bus_Speed_Max (void);
109 extern void SPI_Number_Of_Items (void);
110 extern void SPI_GetDataCount (void);
111 extern void SPI_Abort (void);
112 extern void SPI_DataLost (void);
113 extern void SPI_ModeFault (void);
114
115 extern void USART_DV_Initialize (void);
116 extern void USART_DV_Uninitialize (void);
117 extern void USART_GetVersion (void);
118 extern void USART_GetCapabilities (void);
119 extern void USART_Initialize_Uninitialize (void);
120 extern void USART_PowerControl (void);
121 extern void USART_Mode_Asynchronous (void);
122 extern void USART_Mode_Synchronous_Master (void);
123 extern void USART_Mode_Synchronous_Slave (void);
124 extern void USART_Mode_Single_Wire (void);
125 extern void USART_Mode_IrDA (void);
126 extern void USART_Data_Bits_5 (void);
127 extern void USART_Data_Bits_6 (void);
128 extern void USART_Data_Bits_7 (void);
129 extern void USART_Data_Bits_8 (void);
130 extern void USART_Data_Bits_9 (void);
131 extern void USART_Parity_None (void);
132 extern void USART_Parity_Even (void);
133 extern void USART_Parity_Odd (void);
134 extern void USART_Stop_Bits_1 (void);
135 extern void USART_Stop_Bits_2 (void);
136 extern void USART_Stop_Bits_1_5 (void);
137 extern void USART_Stop_Bits_0_5 (void);
138 extern void USART_Flow_Control_None (void);
139 extern void USART_Flow_Control_RTS (void);
140 extern void USART_Flow_Control_CTS (void);
141 extern void USART_Flow_Control_RTS_CTS (void);
142 extern void USART_Clock_Pol0_Pha0 (void);
143 extern void USART_Clock_Pol0_Pha1 (void);
144 extern void USART_Clock_Pol1_Pha0 (void);
145 extern void USART_Clock_Pol1_Pha1 (void);
146 extern void USART_Baudrate_Min (void);
147 extern void USART_Baudrate_Max (void);
148 extern void USART_Number_Of_Items (void);
149 extern void USART_GetTxCount (void);
150 extern void USART_GetRxCount (void);
151 extern void USART_GetTxRxCount (void);
152 extern void USART_AbortSend (void);
153 extern void USART_AbortReceive (void);
154 extern void USART_AbortTransfer (void);
155 extern void USART_TxBreak (void);
156 extern void USART_Modem_RTS (void);
157 extern void USART_Modem_DTR (void);
158 extern void USART_Modem_CTS (void);
159 extern void USART_Modem_DSR (void);
160 extern void USART_Modem_DCD (void);
161 extern void USART_Modem_RI (void);
162 extern void USART_Tx_Underflow (void);
163 extern void USART_Rx_Overflow (void);
164 extern void USART_Rx_Timeout (void);
165 extern void USART_Rx_Break (void);
166 extern void USART_Rx_Framing_Error (void);
167 extern void USART_Rx_Parity_Error (void);
168 extern void USART_Event_CTS (void);
169 extern void USART_Event_DSR (void);
170 extern void USART_Event_DCD (void);
171 extern void USART_Event_RI (void);
172
173 extern void ETH_DV_Initialize (void);
174 extern void ETH_DV_Uninitialize (void);
175 extern void ETH_MAC_GetVersion (void);
176 extern void ETH_MAC_GetCapabilities (void);
177 extern void ETH_MAC_Initialization (void);
178 extern void ETH_MAC_PowerControl (void);
179 extern void ETH_MAC_MacAddress (void);
180 extern void ETH_MAC_SetBusSpeed (void);
181 extern void ETH_MAC_Config_Mode (void);
182 extern void ETH_MAC_Config_CommonParams (void);
183 extern void ETH_MAC_Control_Filtering (void);
184 extern void ETH_MAC_SetAddressFilter (void);
185 extern void ETH_MAC_SignalEvent (void);
186 extern void ETH_MAC_PTP_ControlTimer (void);
187 extern void ETH_MAC_CheckInvalidInit (void);
188 extern void ETH_PHY_GetVersion (void);
189 extern void ETH_PHY_Initialization (void);
190 extern void ETH_PHY_PowerControl (void);
191 extern void ETH_PHY_Config (void);
192 extern void ETH_PHY_CheckInvalidInit (void);
193 extern void ETH_Loopback_Transfer (void);
194 extern void ETH_Loopback_PTP (void);
195 extern void ETH_Loopback_External (void);
196
197 extern void I2C_GetCapabilities (void);
198 extern void I2C_Initialization (void);
199 extern void I2C_PowerControl (void);
200 extern void I2C_SetBusSpeed (void);
201 extern void I2C_SetOwnAddress (void);
202 extern void I2C_BusClear (void);
203 extern void I2C_AbortTransfer (void);
204 extern void I2C_CheckInvalidInit (void);
205
206 extern void MCI_GetCapabilities (void);
207 extern void MCI_Initialization (void);
208 extern void MCI_PowerControl (void);
209 extern void MCI_SetBusSpeedMode (void);
210 extern void MCI_Config_DataWidth (void);
211 extern void MCI_Config_CmdLineMode (void);
212 extern void MCI_Config_DriverStrength (void);
213 extern void MCI_CheckInvalidInit (void);
214
215 extern void USBD_GetCapabilities (void);
216 extern void USBD_Initialization (void);
217 extern void USBD_PowerControl (void);
218 extern void USBD_CheckInvalidInit (void);
219
220 extern void USBH_GetCapabilities (void);
221 extern void USBH_Initialization (void);
222 extern void USBH_PowerControl (void);
223 extern void USBH_CheckInvalidInit (void);
224
225 extern void CAN_GetCapabilities (void);
226 extern void CAN_Initialization (void);
227 extern void CAN_PowerControl (void);
228 extern void CAN_CheckInvalidInit (void);
229 extern void CAN_Loopback_CheckBitrate (void);
230 extern void CAN_Loopback_CheckBitrateFD (void);
231 extern void CAN_Loopback_Transfer (void);
232 extern void CAN_Loopback_TransferFD (void);
233
234 extern void WIFI_DV_Initialize (void);
235 extern void WIFI_DV_Uninitialize (void);
236 extern void WIFI_GetVersion (void);
237 extern void WIFI_GetCapabilities (void);
238 extern void WIFI_Initialize_Uninitialize (void);
239 extern void WIFI_PowerControl (void);
240 extern void WIFI_GetModuleInfo (void);
241 extern void WIFI_SetOption_GetOption (void);
242 extern void WIFI_Scan (void);
243 extern void WIFI_Configure (void);
244 extern void WIFI_Activate_Deactivate (void);
245 extern void WIFI_IsConnected (void);
246 extern void WIFI_GetNetInfo (void);
247 extern void WIFI_Activate_AP (void);
248 extern void WIFI_Activate_Station_WPS_PBC (void);
249 extern void WIFI_Activate_Station_WPS_PIN (void);
250 extern void WIFI_Activate_AP_WPS_PBC (void);
251 extern void WIFI_Activate_AP_WPS_PIN (void);
252 extern void WIFI_SocketCreate (void);
253 extern void WIFI_SocketBind (void);
254 extern void WIFI_SocketListen (void);
255 extern void WIFI_SocketAccept (void);
256 extern void WIFI_SocketAccept_nbio (void);
257 extern void WIFI_SocketConnect (void);
258 extern void WIFI_SocketConnect_nbio (void);
259 extern void WIFI_SocketRecv (void);
260 extern void WIFI_SocketRecv_nbio (void);
261 extern void WIFI_SocketRecvFrom (void);
262 extern void WIFI_SocketRecvFrom_nbio (void);
263 extern void WIFI_SocketSend (void);
264 extern void WIFI_SocketSendTo (void);
265 extern void WIFI_SocketGetSockName (void);
266 extern void WIFI_SocketGetPeerName (void);
267 extern void WIFI_SocketGetOpt (void);
268 extern void WIFI_SocketSetOpt (void);
269 extern void WIFI_SocketClose (void);
270 extern void WIFI_SocketGetHostByName (void);
271 extern void WIFI_Ping (void);
272 extern void WIFI_Transfer_Fixed (void);
273 extern void WIFI_Transfer_Incremental (void);
274 extern void WIFI_Send_Fragmented (void);
275 extern void WIFI_Recv_Fragmented (void);
276 extern void WIFI_Test_Speed (void);
277 extern void WIFI_Concurrent_Socket (void);
278 extern void WIFI_Downstream_Rate (void);
279 extern void WIFI_Upstream_Rate (void);
280
281 extern void GPIO_Setup (void);
282 extern void GPIO_SetDirection (void);
283 extern void GPIO_SetOutputMode (void);
284 extern void GPIO_SetPullResistor (void);
285 extern void GPIO_SetEventTrigger (void);
286 extern void GPIO_SetOutput (void);
287 extern void GPIO_GetInput (void);
288
289 #endif /* __CMSIS_DV_H */