]> begriffs open source - cmsis-driver-validation/blob - Source/cmsis_dv.c
Updated Readme with ref to use Doxygen 1.9.2
[cmsis-driver-validation] / Source / cmsis_dv.c
1 /*
2  * Copyright (c) 2015-2022 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
22  *
23  * -----------------------------------------------------------------------------
24  */
25
26 #include "cmsis_dv.h"
27 #ifdef  RTE_CMSIS_DV_SPI
28 #include "DV_SPI_Config.h"
29 #endif
30 #ifdef  RTE_CMSIS_DV_USART
31 #include "DV_USART_Config.h"
32 #endif
33 #ifdef  RTE_CMSIS_DV_ETH
34 #include "DV_ETH_Config.h"
35 #endif
36 #ifdef  RTE_CMSIS_DV_I2C
37 #include "DV_I2C_Config.h"
38 #endif
39 #ifdef  RTE_CMSIS_DV_MCI
40 #include "DV_MCI_Config.h"
41 #endif
42 #ifdef  RTE_CMSIS_DV_USBD
43 #include "DV_USBD_Config.h"
44 #endif
45 #ifdef  RTE_CMSIS_DV_USBH
46 #include "DV_USBH_Config.h"
47 #endif
48 #ifdef  RTE_CMSIS_DV_CAN
49 #include "DV_CAN_Config.h"
50 #endif
51 #ifdef  RTE_CMSIS_DV_WIFI
52 #include "DV_WiFi_Config.h"
53 #endif
54 #include "DV_Framework.h"
55
56 /*-----------------------------------------------------------------------------
57  *      Variables declarations
58  *----------------------------------------------------------------------------*/
59 // Buffer list sizes
60
61 #if (defined(RTE_CMSIS_DV_ETH) || defined(RTE_CMSIS_DV_USART))
62 const uint32_t BUFFER[] =  {
63 #if (BUFFER_ELEM_1_32!=0)
64   1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
65 #endif
66 #if (BUFFER_ELEM_512!=0)
67   512,
68 #endif
69 #if (BUFFER_ELEM_1024!=0)
70   1024,
71 #endif
72 #if (BUFFER_ELEM_4096!=0)
73   4096,
74 #endif
75 #if (BUFFER_ELEM_32768!=0)
76   32768,
77 #endif 
78 };
79 const uint32_t BUFFER_NUM = ARRAY_SIZE(BUFFER);
80 #endif
81
82 /*-----------------------------------------------------------------------------
83  *      Init/Uninit test suite
84  *----------------------------------------------------------------------------*/
85 #ifdef  RTE_CMSIS_DV_SPI
86 static void TS_Init_SPI (void) {
87   SPI_DV_Initialize ();
88 }
89 static void TS_Uninit_SPI (void) {
90   SPI_DV_Uninitialize ();
91 }
92 #endif
93 #ifdef  RTE_CMSIS_DV_USART
94 static void TS_Init_USART (void) {
95   USART_DV_Initialize ();
96 }
97 static void TS_Uninit_USART (void) {
98   USART_DV_Uninitialize ();
99 }
100 #endif
101 #ifdef  RTE_CMSIS_DV_WIFI
102 static void TS_Init_WiFi (void) {
103   WIFI_DV_Initialize ();
104 }
105 static void TS_Uninit_WiFi (void) {
106   WIFI_DV_Uninitialize ();
107 }
108 #endif
109
110 /*-----------------------------------------------------------------------------
111  *      Tests list
112  *----------------------------------------------------------------------------*/
113 #ifdef  RTE_CMSIS_DV_SPI
114 static TEST_CASE TC_List_SPI[] = {
115   #if ( SPI_TG_DRIVER_MANAGEMENT_EN != 0 )
116   TCD ( SPI_GetVersion,                 SPI_TC_GET_VERSION_EN           ),
117   TCD ( SPI_GetCapabilities,            SPI_TC_GET_CAPABILITIES_EN      ),
118   TCD ( SPI_Initialize_Uninitialize,    SPI_TC_INIT_UNINIT_EN           ),
119   TCD ( SPI_PowerControl,               SPI_TC_POWER_CONTROL_EN         ),
120   #endif
121   #if ( SPI_TG_DATA_EXCHANGE_EN != 0 )
122   #if ( SPI_TG_MODE_EN != 0 )
123   TCD ( SPI_Mode_Master_SS_Unused,      SPI_TC_MASTER_UNUSED_EN         ),
124   TCD ( SPI_Mode_Master_SS_Sw_Ctrl,     SPI_TC_MASTER_SW_EN             ),
125   TCD ( SPI_Mode_Master_SS_Hw_Ctrl_Out, SPI_TC_MASTER_HW_OUT_EN         ),
126   TCD ( SPI_Mode_Master_SS_Hw_Mon_In,   SPI_TC_MASTER_HW_IN_EN          ),
127   TCD ( SPI_Mode_Slave_SS_Hw_Mon,       SPI_TC_SLAVE_HW_EN              ),
128   TCD ( SPI_Mode_Slave_SS_Sw_Ctrl,      SPI_TC_SLAVE_SW_EN              ),
129   #endif
130   #if ( SPI_TG_FORMAT_EN != 0 )
131   TCD ( SPI_Format_Clock_Pol0_Pha0,     SPI_TC_FORMAT_POL0_PHA0_EN      ),
132   TCD ( SPI_Format_Clock_Pol0_Pha1,     SPI_TC_FORMAT_POL0_PHA1_EN      ),
133   TCD ( SPI_Format_Clock_Pol1_Pha0,     SPI_TC_FORMAT_POL1_PHA0_EN      ),
134   TCD ( SPI_Format_Clock_Pol1_Pha1,     SPI_TC_FORMAT_POL1_PHA1_EN      ),
135   TCD ( SPI_Format_Frame_TI,            SPI_TC_FORMAT_TI_EN             ),
136   TCD ( SPI_Format_Clock_Microwire,     SPI_TC_FORMAT_MICROWIRE_EN      ),
137   #endif
138   #if ( SPI_TG_DATA_BIT_EN != 0 )
139   TCD ( SPI_Data_Bits_1,               (SPI_TC_DATA_BIT_EN_MASK      )&1),
140   TCD ( SPI_Data_Bits_2,               (SPI_TC_DATA_BIT_EN_MASK >>  1)&1),
141   TCD ( SPI_Data_Bits_3,               (SPI_TC_DATA_BIT_EN_MASK >>  2)&1),
142   TCD ( SPI_Data_Bits_4,               (SPI_TC_DATA_BIT_EN_MASK >>  3)&1),
143   TCD ( SPI_Data_Bits_5,               (SPI_TC_DATA_BIT_EN_MASK >>  4)&1),
144   TCD ( SPI_Data_Bits_6,               (SPI_TC_DATA_BIT_EN_MASK >>  5)&1),
145   TCD ( SPI_Data_Bits_7,               (SPI_TC_DATA_BIT_EN_MASK >>  6)&1),
146   TCD ( SPI_Data_Bits_8,               (SPI_TC_DATA_BIT_EN_MASK >>  7)&1),
147   TCD ( SPI_Data_Bits_9,               (SPI_TC_DATA_BIT_EN_MASK >>  8)&1),
148   TCD ( SPI_Data_Bits_10,              (SPI_TC_DATA_BIT_EN_MASK >>  9)&1),
149   TCD ( SPI_Data_Bits_11,              (SPI_TC_DATA_BIT_EN_MASK >> 10)&1),
150   TCD ( SPI_Data_Bits_12,              (SPI_TC_DATA_BIT_EN_MASK >> 11)&1),
151   TCD ( SPI_Data_Bits_13,              (SPI_TC_DATA_BIT_EN_MASK >> 12)&1),
152   TCD ( SPI_Data_Bits_14,              (SPI_TC_DATA_BIT_EN_MASK >> 13)&1),
153   TCD ( SPI_Data_Bits_15,              (SPI_TC_DATA_BIT_EN_MASK >> 14)&1),
154   TCD ( SPI_Data_Bits_16,              (SPI_TC_DATA_BIT_EN_MASK >> 15)&1),
155   TCD ( SPI_Data_Bits_17,              (SPI_TC_DATA_BIT_EN_MASK >> 16)&1),
156   TCD ( SPI_Data_Bits_18,              (SPI_TC_DATA_BIT_EN_MASK >> 17)&1),
157   TCD ( SPI_Data_Bits_19,              (SPI_TC_DATA_BIT_EN_MASK >> 18)&1),
158   TCD ( SPI_Data_Bits_20,              (SPI_TC_DATA_BIT_EN_MASK >> 19)&1),
159   TCD ( SPI_Data_Bits_21,              (SPI_TC_DATA_BIT_EN_MASK >> 20)&1),
160   TCD ( SPI_Data_Bits_22,              (SPI_TC_DATA_BIT_EN_MASK >> 21)&1),
161   TCD ( SPI_Data_Bits_23,              (SPI_TC_DATA_BIT_EN_MASK >> 22)&1),
162   TCD ( SPI_Data_Bits_24,              (SPI_TC_DATA_BIT_EN_MASK >> 23)&1),
163   TCD ( SPI_Data_Bits_25,              (SPI_TC_DATA_BIT_EN_MASK >> 24)&1),
164   TCD ( SPI_Data_Bits_26,              (SPI_TC_DATA_BIT_EN_MASK >> 25)&1),
165   TCD ( SPI_Data_Bits_27,              (SPI_TC_DATA_BIT_EN_MASK >> 26)&1),
166   TCD ( SPI_Data_Bits_28,              (SPI_TC_DATA_BIT_EN_MASK >> 27)&1),
167   TCD ( SPI_Data_Bits_29,              (SPI_TC_DATA_BIT_EN_MASK >> 28)&1),
168   TCD ( SPI_Data_Bits_30,              (SPI_TC_DATA_BIT_EN_MASK >> 29)&1),
169   TCD ( SPI_Data_Bits_31,              (SPI_TC_DATA_BIT_EN_MASK >> 30)&1),
170   TCD ( SPI_Data_Bits_32,              (SPI_TC_DATA_BIT_EN_MASK >> 31)&1),
171   #endif
172   #if ( SPI_TG_BIT_ORDER_EN != 0 )
173   TCD ( SPI_Bit_Order_MSB_LSB,          SPI_TC_BIT_ORDER_MSB_LSB_EN     ),
174   TCD ( SPI_Bit_Order_LSB_MSB,          SPI_TC_BIT_ORDER_LSB_MSB_EN     ),
175   #endif
176   #if ( SPI_TG_BUS_SPEED_EN != 0 )
177   TCD ( SPI_Bus_Speed_Min,              SPI_TC_BUS_SPEED_MIN_EN         ),
178   TCD ( SPI_Bus_Speed_Max,              SPI_TC_BUS_SPEED_MAX_EN         ),
179   #endif
180   #if ( SPI_TG_OTHER_EN != 0 )
181   TCD ( SPI_Number_Of_Items,            SPI_TC_NUMBER_OF_ITEMS_EN       ),
182   TCD ( SPI_GetDataCount,               SPI_TC_GET_DATA_COUNT_EN        ),
183   TCD ( SPI_Abort,                      SPI_TC_ABORT_EN                 ),
184   #endif
185   #endif
186   #if ( SPI_TG_EVENT_EN != 0 )
187   TCD ( SPI_DataLost,                   SPI_TC_DATA_LOST_EN             ),
188   TCD ( SPI_ModeFault,                  SPI_TC_MODE_FAULT_EN            ),
189   #endif
190 };
191 #endif
192
193 #ifdef  RTE_CMSIS_DV_USART
194 static TEST_CASE TC_List_USART[] = {
195   #if ( USART_TG_DRIVER_MANAGEMENT_EN != 0 )
196   TCD ( USART_GetVersion,               USART_TC_GET_VERSION_EN         ),
197   TCD ( USART_GetCapabilities,          USART_TC_GET_CAPABILITIES_EN    ),
198   TCD ( USART_Initialize_Uninitialize,  USART_TC_INIT_UNINIT_EN         ),
199   TCD ( USART_PowerControl,             USART_TC_POWER_CONTROL_EN       ),
200   #endif
201   #if ( USART_TG_DATA_EXCHANGE_EN != 0 )
202   #if ( USART_TG_MODE_EN != 0 )
203   TCD ( USART_Mode_Asynchronous,        USART_TC_ASYNC_EN               ),
204   TCD ( USART_Mode_Synchronous_Master,  USART_TC_SYNC_MASTER_EN         ),
205   TCD ( USART_Mode_Synchronous_Slave,   USART_TC_SYNC_SLAVE_EN          ),
206   TCD ( USART_Mode_Single_Wire,         USART_TC_SINGLE_WIRE_EN         ),
207   TCD ( USART_Mode_IrDA,                USART_TC_IRDA_EN                ),
208   #endif
209   #if ( USART_TG_DATA_BITS_EN != 0 )
210   TCD ( USART_Data_Bits_5,              USART_TC_DATA_BITS_5_EN         ),
211   TCD ( USART_Data_Bits_6,              USART_TC_DATA_BITS_6_EN         ),
212   TCD ( USART_Data_Bits_7,              USART_TC_DATA_BITS_7_EN         ),
213   TCD ( USART_Data_Bits_8,              USART_TC_DATA_BITS_8_EN         ),
214   TCD ( USART_Data_Bits_9,              USART_TC_DATA_BITS_9_EN         ),
215   #endif
216   #if ( USART_TG_PARITY_EN != 0 )
217   TCD ( USART_Parity_None,              USART_TC_PARITY_NONE_EN         ),
218   TCD ( USART_Parity_Even,              USART_TC_PARITY_EVEN_EN         ),
219   TCD ( USART_Parity_Odd,               USART_TC_PARITY_ODD_EN          ),
220   #endif
221   #if ( USART_TG_STOP_BITS_EN != 0 )
222   TCD ( USART_Stop_Bits_1,              USART_TC_STOP_BITS_1_EN         ),
223   TCD ( USART_Stop_Bits_2,              USART_TC_STOP_BITS_2_EN         ),
224   TCD ( USART_Stop_Bits_1_5,            USART_TC_STOP_BITS_1_5_EN       ),
225   TCD ( USART_Stop_Bits_0_5,            USART_TC_STOP_BITS_0_5_EN       ),
226   #endif
227   #if ( USART_TG_FLOW_CTRL_EN != 0)
228   TCD ( USART_Flow_Control_None,        USART_TC_FLOW_CTRL_NONE_EN      ),
229   TCD ( USART_Flow_Control_RTS,         USART_TC_FLOW_CTRL_RTS_EN       ),
230   TCD ( USART_Flow_Control_CTS,         USART_TC_FLOW_CTRL_CTS_EN       ),
231   TCD ( USART_Flow_Control_RTS_CTS,     USART_TC_FLOW_CTRL_RTS_CTS_EN   ),
232   #endif
233   #if ( USART_TG_CLOCK_EN != 0)
234   TCD ( USART_Clock_Pol0_Pha0,          USART_TC_CLOCK_POL0_PHA0_EN     ),
235   TCD ( USART_Clock_Pol0_Pha1,          USART_TC_CLOCK_POL0_PHA1_EN     ),
236   TCD ( USART_Clock_Pol1_Pha0,          USART_TC_CLOCK_POL1_PHA1_EN     ),
237   TCD ( USART_Clock_Pol1_Pha1,          USART_TC_CLOCK_POL1_PHA1_EN     ),
238   #endif
239   #if ( USART_TG_BAUDRATE_EN != 0)
240   TCD ( USART_Baudrate_Min,             USART_TC_BAUDRATE_MIN_EN        ),
241   TCD ( USART_Baudrate_Max,             USART_TC_BAUDRATE_MAX_EN        ),
242   #endif
243   #if ( USART_TG_OTHER_EN != 0)
244   TCD ( USART_Number_Of_Items,          USART_TC_NUMBER_OF_ITEMS_EN     ),
245   TCD ( USART_GetTxCount,               USART_TC_GET_TX_COUNT_EN        ),
246   TCD ( USART_GetRxCount,               USART_TC_GET_RX_COUNT_EN        ),
247   TCD ( USART_GetTxRxCount,             USART_TC_GET_TX_RX_COUNT_EN     ),
248   TCD ( USART_AbortSend,                USART_TC_ABORT_SEND_EN          ),
249   TCD ( USART_AbortReceive,             USART_TC_ABORT_RECEIVE_EN       ),
250   TCD ( USART_AbortTransfer,            USART_TC_ABORT_TRANSFER_EN      ),
251   TCD ( USART_TxBreak,                  USART_TC_TX_BREAK_EN            ),
252   #endif
253   #endif
254   #if ( USART_TG_MODEM_EN != 0 )
255   TCD ( USART_Modem_RTS,                USART_TC_MODEM_RTS_EN           ),
256   TCD ( USART_Modem_DTR,                USART_TC_MODEM_DTR_EN           ),
257   TCD ( USART_Modem_CTS,                USART_TC_MODEM_CTS_EN           ),
258   TCD ( USART_Modem_DSR,                USART_TC_MODEM_DSR_EN           ),
259   TCD ( USART_Modem_DCD,                USART_TC_MODEM_DCD_EN           ),
260   TCD ( USART_Modem_RI,                 USART_TC_MODEM_RI_EN            ),
261   #endif
262   #if ( USART_TG_EVENT_EN != 0 )
263   TCD ( USART_Tx_Underflow,             USART_TC_TX_UNDERFLOW_EN        ),
264   TCD ( USART_Rx_Overflow,              USART_TC_RX_OVERFLOW_EN         ),
265   TCD ( USART_Rx_Timeout,               USART_TC_RX_TIMEOUT_EN          ),
266   TCD ( USART_Rx_Break,                 USART_TC_RX_BREAK_EN            ),
267   TCD ( USART_Rx_Framing_Error,         USART_TC_RX_FRAMING_ERROR_EN    ),
268   TCD ( USART_Rx_Parity_Error,          USART_TC_RX_PARITY_ERROR_EN     ),
269   TCD ( USART_Event_CTS,                USART_TC_EVENT_CTS_EN           ),
270   TCD ( USART_Event_DSR,                USART_TC_EVENT_DSR_EN           ),
271   TCD ( USART_Event_DCD,                USART_TC_EVENT_DCD_EN           ),
272   TCD ( USART_Event_RI,                 USART_TC_EVENT_RI_EN            ),
273   #endif
274 };
275 #endif
276
277 #ifdef  RTE_CMSIS_DV_ETH
278 static TEST_CASE TC_List_ETH[] = {
279   TCD ( ETH_MAC_GetCapabilities,        ETH_MAC_GETCAPABILITIES_EN      ),
280   TCD ( ETH_MAC_Initialization,         ETH_MAC_INITIALIZATION_EN       ),
281   TCD ( ETH_MAC_PowerControl,           ETH_MAC_POWERCONTROL_EN         ),
282   TCD ( ETH_MAC_SetBusSpeed,            ETH_MAC_SETBUSSPEED_EN          ),
283   TCD ( ETH_MAC_Config_Mode,            ETH_MAC_CONFIG_MODE_EN          ),
284   TCD ( ETH_MAC_Config_CommonParams,    ETH_MAC_CONFIG_COMMONPARAMS_EN  ),
285   TCD ( ETH_MAC_PTP_ControlTimer,       ETH_MAC_PTP_CONTROLTIMER_EN     ),
286   TCD ( ETH_PHY_Initialization,         ETH_PHY_INITIALIZATION_EN       ),
287   TCD ( ETH_PHY_PowerControl,           ETH_PHY_POWERCONTROL_EN         ),
288   TCD ( ETH_PHY_Config,                 ETH_PHY_CONFIG_EN               ),
289   TCD ( ETH_Loopback_Transfer,          ETH_LOOPBACK_TRANSFER_EN        ),
290   TCD ( ETH_Loopback_PTP,               ETH_LOOPBACK_PTP_EN             ),
291   TCD ( ETH_PHY_CheckInvalidInit,       ETH_PHY_CHECKINVALIDINIT_EN     ),
292   TCD ( ETH_MAC_CheckInvalidInit,       ETH_MAC_CHECKINVALIDINIT_EN     ),
293 };
294 #endif
295
296 #ifdef  RTE_CMSIS_DV_I2C
297 static TEST_CASE TC_List_I2C[] = {
298   TCD ( I2C_GetCapabilities,            I2C_GETCAPABILITIES_EN          ),
299   TCD ( I2C_Initialization,             I2C_INITIALIZATION_EN           ),
300   TCD ( I2C_PowerControl,               I2C_POWERCONTROL_EN             ),
301   TCD ( I2C_SetBusSpeed,                I2C_SETBUSSPEED_EN              ),
302   TCD ( I2C_SetOwnAddress,              I2C_SETOWNADDRESS_EN            ),
303   TCD ( I2C_BusClear,                   I2C_BUSCLEAR_EN                 ),
304   TCD ( I2C_AbortTransfer,              I2C_ABORTTRANSFER_EN            ),
305   TCD ( I2C_CheckInvalidInit,           I2C_CHECKINVALIDINIT_EN         ),
306 };
307 #endif
308
309 #ifdef  RTE_CMSIS_DV_MCI
310 static TEST_CASE TC_List_MCI[] = {
311   TCD ( MCI_GetCapabilities,            MCI_GETCAPABILITIES_EN          ),
312   TCD ( MCI_Initialization,             MCI_INITIALIZATION_EN           ),
313   TCD ( MCI_PowerControl,               MCI_POWERCONTROL_EN             ),
314   TCD ( MCI_SetBusSpeedMode,            MCI_SETBUSSPEEDMODE_EN          ),
315   TCD ( MCI_Config_DataWidth,           MCI_CONFIG_DATAWIDTH_EN         ),
316   TCD ( MCI_Config_CmdLineMode,         MCI_CONFIG_CMDLINEMODE_EN       ),
317   TCD ( MCI_Config_DriverStrength,      MCI_CONFIG_DRIVERSTRENGTH_EN    ),
318   TCD ( MCI_CheckInvalidInit,           MCI_CHECKINVALIDINIT_EN         ),
319 };
320 #endif
321
322 #ifdef  RTE_CMSIS_DV_USBD
323 static TEST_CASE TC_List_USBD[] = {
324   TCD ( USBD_GetCapabilities,           USBD_GETCAPABILITIES_EN         ),
325   TCD ( USBD_Initialization,            USBD_INITIALIZATION_EN          ),
326   TCD ( USBD_PowerControl,              USBD_POWERCONTROL_EN            ),
327   TCD ( USBD_CheckInvalidInit,          USBD_CHECKINVALIDINIT_EN        ),
328 };
329 #endif
330
331 #ifdef  RTE_CMSIS_DV_USBH
332 static TEST_CASE TC_List_USBH[] = {
333   TCD ( USBH_GetCapabilities,           USBH_GETCAPABILITIES_EN         ),
334   TCD ( USBH_Initialization,            USBH_INITIALIZATION_EN          ),
335   TCD ( USBH_PowerControl,              USBH_POWERCONTROL_EN            ),
336   TCD ( USBH_CheckInvalidInit,          USBH_CHECKINVALIDINIT_EN        ),
337 };
338 #endif
339
340 #ifdef  RTE_CMSIS_DV_CAN
341 static TEST_CASE TC_List_CAN[] = {
342   TCD ( CAN_GetCapabilities,            CAN_GETCAPABILITIES_EN          ),
343   TCD ( CAN_Initialization,             CAN_INITIALIZATION_EN           ),
344   TCD ( CAN_PowerControl,               CAN_POWERCONTROL_EN             ),
345   TCD ( CAN_Loopback_CheckBitrate,      CAN_LOOPBACK_CHECK_BR_EN        ),
346   TCD ( CAN_Loopback_CheckBitrateFD,    CAN_LOOPBACK_CHECK_BR_FD_EN     ),
347   TCD ( CAN_Loopback_Transfer,          CAN_LOOPBACK_TRANSFER_EN        ),
348   TCD ( CAN_Loopback_TransferFD,        CAN_LOOPBACK_TRANSFER_FD_EN     ),
349 };
350 #endif
351
352 #ifdef  RTE_CMSIS_DV_WIFI
353 static TEST_CASE TC_List_WiFi[] = {
354   /*    WiFi Control tests */
355   #if ( WIFI_CONTROL_EN != 0)
356   TCD ( WIFI_GetVersion,                WIFI_GETVERSION_EN              ),
357   TCD ( WIFI_GetCapabilities,           WIFI_GETCAPABILITIES_EN         ),
358   TCD ( WIFI_Initialize_Uninitialize,   WIFI_INIT_UNINIT_EN             ),
359   TCD ( WIFI_PowerControl,              WIFI_POWERCONTROL_EN            ),
360   TCD ( WIFI_GetModuleInfo,             WIFI_GETMODULEINFO_EN           ),
361   #endif
362   /*    WiFi Management tests */
363   #if ( WIFI_MANAGEMENT_EN != 0)
364   TCD ( WIFI_SetOption_GetOption,       WIFI_SETGETOPTION_EN            ),
365   TCD ( WIFI_Scan,                      WIFI_SCAN_EN                    ),
366   TCD ( WIFI_Activate_Deactivate,       WIFI_ACT_DEACT_EN               ),
367   TCD ( WIFI_IsConnected,               WIFI_ISCONNECTED_EN             ),
368   TCD ( WIFI_GetNetInfo,                WIFI_GETNETINFO_EN              ),
369   #endif
370   /*    WiFi Management tests requiring user interaction */
371   #if ( WIFI_MANAGEMENT_USER_EN != 0)
372   TCD ( WIFI_Activate_AP,               WIFI_ACT_AP                     ),
373   #if ( WIFI_WPS_USER_EN != 0)
374   TCD ( WIFI_Activate_Station_WPS_PBC,  WIFI_ACT_STA_WPS_PBC            ),
375   TCD ( WIFI_Activate_Station_WPS_PIN,  WIFI_ACT_STA_WPS_PIN            ),
376   TCD ( WIFI_Activate_AP_WPS_PBC,       WIFI_ACT_AP_WPS_PBC             ),
377   TCD ( WIFI_Activate_AP_WPS_PIN,       WIFI_ACT_AP_WPS_PIN             ),
378   #endif
379   #endif
380   /*    WiFi Socket API tests */
381   #if ( WIFI_SOCKET_EN != 0)
382   TCD ( WIFI_SocketCreate,              WIFI_SOCKETCREATE_EN            ),
383   TCD ( WIFI_SocketBind,                WIFI_SOCKETBIND_EN              ),
384   TCD ( WIFI_SocketListen,              WIFI_SOCKETLISTEN_EN            ),
385   TCD ( WIFI_SocketAccept,              WIFI_SOCKETACCEPT_EN            ),
386   TCD ( WIFI_SocketAccept_nbio,         WIFI_SOCKETACCEPT_NBIO_EN       ),
387   TCD ( WIFI_SocketConnect,             WIFI_SOCKETCONNECT_EN           ),
388   TCD ( WIFI_SocketConnect_nbio,        WIFI_SOCKETCONNECT_NBIO_EN      ),
389   TCD ( WIFI_SocketRecv,                WIFI_SOCKETRECV_EN              ),
390   TCD ( WIFI_SocketRecv_nbio,           WIFI_SOCKETRECV_NBIO_EN         ),
391   TCD ( WIFI_SocketRecvFrom,            WIFI_SOCKETRECVFROM_EN          ),
392   TCD ( WIFI_SocketRecvFrom_nbio,       WIFI_SOCKETRECVFROM_NBIO_EN     ),
393   TCD ( WIFI_SocketSend,                WIFI_SOCKETSEND_EN              ),
394   TCD ( WIFI_SocketSendTo,              WIFI_SOCKETSENDTO_EN            ),
395   TCD ( WIFI_SocketGetSockName,         WIFI_SOCKETGETSOCKNAME_EN       ),
396   TCD ( WIFI_SocketGetPeerName,         WIFI_SOCKETGETPEERNAME_EN       ),
397   TCD ( WIFI_SocketGetOpt,              WIFI_SOCKETGETOPT_EN            ),
398   TCD ( WIFI_SocketSetOpt,              WIFI_SOCKETSETOPT_EN            ),
399   TCD ( WIFI_SocketClose,               WIFI_SOCKETCLOSE_EN             ),
400   TCD ( WIFI_SocketGetHostByName,       WIFI_SOCKETGETHOSTBYNAME_EN     ),
401   TCD ( WIFI_Ping,                      WIFI_PING_EN                    ),
402   #endif
403   /*    WiFi Socket Operation tests */
404   #if ( WIFI_SOCKET_OP_EN != 0)
405   TCD ( WIFI_Transfer_Fixed,            WIFI_TRANSFER_FIXED_EN          ),
406   TCD ( WIFI_Transfer_Incremental,      WIFI_TRANSFER_INCREMENTAL_EN    ),
407   TCD ( WIFI_Send_Fragmented,           WIFI_SEND_FRAGMENTED_EN         ),
408   TCD ( WIFI_Recv_Fragmented,           WIFI_RECV_FRAGMENTED_EN         ),
409   TCD ( WIFI_Test_Speed,                WIFI_TEST_SPEED_EN              ),
410   TCD ( WIFI_Concurrent_Socket,         WIFI_CONCURRENT_SOCKET_EN       ),
411   TCD ( WIFI_Downstream_Rate,           WIFI_DOWNSTREAM_RATE_EN         ),
412   TCD ( WIFI_Upstream_Rate,             WIFI_UPSTREAM_RATE_EN           ),
413   #endif
414 };
415 #endif
416
417 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
418 #pragma clang diagnostic push
419 #pragma clang diagnostic ignored "-Wdate-time"
420 #endif
421 /*-----------------------------------------------------------------------------
422  *      Test suite description
423  *----------------------------------------------------------------------------*/
424 TEST_GROUP ts[] = {
425 #ifdef  RTE_CMSIS_DV_SPI                /* SPI test group                     */
426 {
427   __FILE__, __DATE__, __TIME__,
428   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver SPI Test Report",
429   TS_Init_SPI,
430   TS_Uninit_SPI,
431   TC_List_SPI,
432   ARRAY_SIZE (TC_List_SPI),
433 },
434 #endif
435
436 #ifdef  RTE_CMSIS_DV_USART              /* USART test group                   */
437 {
438   __FILE__, __DATE__, __TIME__,
439   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver USART Test Report",
440   TS_Init_USART,
441   TS_Uninit_USART,
442   TC_List_USART,
443   ARRAY_SIZE (TC_List_USART),
444 },
445 #endif
446
447 #ifdef  RTE_CMSIS_DV_ETH                /* ETH test group                     */
448 {
449   __FILE__, __DATE__, __TIME__,
450   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver ETH Test Report",
451   NULL,
452   NULL,
453   TC_List_ETH,
454   ARRAY_SIZE (TC_List_ETH),
455 },
456 #endif
457
458 #ifdef  RTE_CMSIS_DV_I2C                /* I2C test group                     */
459 {
460   __FILE__, __DATE__, __TIME__,
461   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver I2C (API v2.3) Test Report",
462   NULL,
463   NULL,
464   TC_List_I2C,
465   ARRAY_SIZE (TC_List_I2C),
466 },
467 #endif
468
469 #ifdef  RTE_CMSIS_DV_MCI                /* MCI test group                     */
470 {
471   __FILE__, __DATE__, __TIME__,
472   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver MCI Test Report",
473   NULL,
474   NULL,
475   TC_List_MCI,
476   ARRAY_SIZE (TC_List_MCI),
477 },
478 #endif
479
480 #ifdef  RTE_CMSIS_DV_USBD               /* USBD test group                    */
481 {
482   __FILE__, __DATE__, __TIME__,
483   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver USBD Test Report",
484   NULL,
485   NULL,
486   TC_List_USBD,
487   ARRAY_SIZE (TC_List_USBD),
488 },
489 #endif
490
491 #ifdef  RTE_CMSIS_DV_USBH               /* USBH test group                    */
492 {
493   __FILE__, __DATE__, __TIME__,
494   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver USBH Test Report",
495   NULL,
496   NULL,
497   TC_List_USBH,
498   ARRAY_SIZE (TC_List_USBH),
499 },
500 #endif
501
502 #ifdef  RTE_CMSIS_DV_CAN                /* CAN test group                    */
503 {
504   __FILE__, __DATE__, __TIME__,
505   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver CAN Test Report",
506   NULL,
507   NULL,
508   TC_List_CAN,
509   ARRAY_SIZE (TC_List_CAN),
510 },
511 #endif
512
513 #ifdef  RTE_CMSIS_DV_WIFI               /* WIFI test group                    */
514 {
515   __FILE__, __DATE__, __TIME__,
516   "CMSIS-Driver_Validation v" RTE_CMSIS_DV_PACK_VER " CMSIS-Driver WiFi Test Report",
517   TS_Init_WiFi,
518   TS_Uninit_WiFi,
519   TC_List_WiFi,
520   ARRAY_SIZE (TC_List_WiFi),
521 },
522 #endif
523 };
524
525 /* Number of test groups in suite */
526 uint32_t tg_cnt = sizeof(ts)/sizeof(ts[0]);
527
528 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
529 #pragma clang diagnostic pop
530 #endif