1 /*-----------------------------------------------------------------------------
3 * Purpose: Driver validation test cases entry point
4 *----------------------------------------------------------------------------
5 * Copyright(c) KEIL - An ARM Company
6 *----------------------------------------------------------------------------*/
8 #include "RTE_Components.h"
9 #include "DV_Framework.h"
10 #include "DV_Config.h"
12 /*-----------------------------------------------------------------------------
13 * Variables declarations
14 *----------------------------------------------------------------------------*/
16 const uint32_t BUFFER[] = {
17 #if (BUFFER_ELEM_1_32!=0)
18 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,
20 #if (BUFFER_ELEM_512!=0)
23 #if (BUFFER_ELEM_1024!=0)
26 #if (BUFFER_ELEM_4096!=0)
29 #if (BUFFER_ELEM_32768!=0)
33 const uint32_t BUFFER_NUM = ARRAY_SIZE(BUFFER);
35 /*-----------------------------------------------------------------------------
37 *----------------------------------------------------------------------------*/
38 static void TS_Init (void) {
42 /*-----------------------------------------------------------------------------
44 *----------------------------------------------------------------------------*/
45 static TEST_CASE TC_LIST[] = {
48 TCD ( SPI_GetCapabilities, SPI_GETCAPABILITIES_EN ),
49 TCD ( SPI_Initialization, SPI_INITIALIZATION_EN ),
50 TCD ( SPI_PowerControl, SPI_POWERCONTROL_EN ),
51 TCD ( SPI_Config_PolarityPhase, SPI_CONFIG_POLARITYPHASE_EN ),
52 TCD ( SPI_Config_DataBits, SPI_CONFIG_DATABITS_EN ),
53 TCD ( SPI_Config_BitOrder, SPI_CONFIG_BITORDER_EN ),
54 TCD ( SPI_Config_SSMode, SPI_CONFIG_SSMODE_EN ),
55 TCD ( SPI_Config_BusSpeed, SPI_CONFIG_BUSSPEED_EN ),
56 TCD ( SPI_Config_CommonParams, SPI_CONFIG_COMMONPARAMS_EN ),
57 TCD ( SPI_Send, SPI_SEND_EN ),
58 TCD ( SPI_Receive, SPI_RECEIVE_EN ),
59 TCD ( SPI_Loopback_CheckBusSpeed, SPI_LOOPBACK_CHECKBUSSPEED_EN ),
60 TCD ( SPI_Loopback_Transfer, SPI_LOOPBACK_TRANSFER_EN ),
61 TCD ( SPI_CheckInvalidInit, SPI_CHECKINVALIDINIT_EN ),
64 #ifdef RTE_DV_API_USART
65 TCD ( USART_GetCapabilities, USART_GETCAPABILITIES_EN ),
66 TCD ( USART_Initialization, USART_INITIALIZATION_EN ),
67 TCD ( USART_PowerControl, USART_POWERCONTROL_EN ),
68 TCD ( USART_Config_PolarityPhase, USART_CONFIG_POLARITYPHASE_EN ),
69 TCD ( USART_Config_DataBits, USART_CONFIG_DATABITS_EN ),
70 TCD ( USART_Config_StopBits, USART_CONFIG_STOPBITS_EN ),
71 TCD ( USART_Config_Parity, USART_CONFIG_PARITY_EN ),
72 TCD ( USART_Config_Baudrate, USART_CONFIG_BAUDRATE_EN ),
73 TCD ( USART_Config_CommonParams, USART_CONFIG_COMMONPARAMS_EN ),
74 TCD ( USART_Send, USART_SEND_EN ),
75 TCD ( USART_Loopback_CheckBaudrate, USART_LOOPBACK_CHECKBAUDRATE_EN ),
76 TCD ( USART_Loopback_Transfer, USART_LOOPBACK_TRANSFER_EN ),
77 TCD ( USART_CheckInvalidInit, USART_CHECKINVALIDINIT_EN ),
80 TCD ( ETH_MAC_GetCapabilities, ETH_MAC_GETCAPABILITIES_EN ),
81 TCD ( ETH_MAC_Initialization, ETH_MAC_INITIALIZATION_EN ),
82 TCD ( ETH_MAC_PowerControl, ETH_MAC_POWERCONTROL_EN ),
83 TCD ( ETH_MAC_SetBusSpeed, ETH_MAC_SETBUSSPEED_EN ),
84 TCD ( ETH_MAC_Config_Mode, ETH_MAC_CONFIG_MODE_EN ),
85 TCD ( ETH_MAC_Config_CommonParams, ETH_MAC_CONFIG_COMMONPARAMS_EN ),
86 TCD ( ETH_MAC_PTP_ControlTimer, ETH_MAC_PTP_CONTROLTIMER_EN ),
87 TCD ( ETH_PHY_Initialization, ETH_PHY_INITIALIZATION_EN ),
88 TCD ( ETH_PHY_PowerControl, ETH_PHY_POWERCONTROL_EN ),
89 TCD ( ETH_PHY_Config, ETH_PHY_CONFIG_EN ),
90 TCD ( ETH_Loopback_Transfer, ETH_LOOPBACK_TRANSFER_EN ),
91 TCD ( ETH_Loopback_PTP, ETH_LOOPBACK_PTP_EN ),
92 TCD ( ETH_PHY_CheckInvalidInit, ETH_PHY_CHECKINVALIDINIT_EN ),
93 TCD ( ETH_MAC_CheckInvalidInit, ETH_MAC_CHECKINVALIDINIT_EN ),
96 TCD ( I2C_GetCapabilities, I2C_GETCAPABILITIES_EN ),
97 TCD ( I2C_Initialization, I2C_INITIALIZATION_EN ),
98 TCD ( I2C_PowerControl, I2C_POWERCONTROL_EN ),
99 TCD ( I2C_SetBusSpeed, I2C_SETBUSSPEED_EN ),
100 TCD ( I2C_SetOwnAddress, I2C_SETOWNADDRESS_EN ),
101 TCD ( I2C_BusClear, I2C_BUSCLEAR_EN ),
102 TCD ( I2C_AbortTransfer, I2C_ABORTTRANSFER_EN ),
103 TCD ( I2C_CheckInvalidInit, I2C_CHECKINVALIDINIT_EN ),
105 #ifdef RTE_DV_API_MCI
106 TCD ( MCI_GetCapabilities, MCI_GETCAPABILITIES_EN ),
107 TCD ( MCI_Initialization, MCI_INITIALIZATION_EN ),
108 TCD ( MCI_PowerControl, MCI_POWERCONTROL_EN ),
109 TCD ( MCI_SetBusSpeedMode, MCI_SETBUSSPEEDMODE_EN ),
110 TCD ( MCI_Config_DataWidth, MCI_CONFIG_DATAWIDTH_EN ),
111 TCD ( MCI_Config_CmdLineMode, MCI_CONFIG_CMDLINEMODE_EN ),
112 TCD ( MCI_Config_DriverStrength, MCI_CONFIG_DRIVERSTRENGTH_EN ),
113 TCD ( MCI_CheckInvalidInit, MCI_CHECKINVALIDINIT_EN ),
115 #ifdef RTE_DV_API_USBD
116 TCD ( USBD_GetCapabilities, USBD_GETCAPABILITIES_EN ),
117 TCD ( USBD_Initialization, USBD_INITIALIZATION_EN ),
118 TCD ( USBD_PowerControl, USBD_POWERCONTROL_EN ),
119 TCD ( USBD_CheckInvalidInit, USBD_CHECKINVALIDINIT_EN ),
121 #ifdef RTE_DV_API_USBH
122 TCD ( USBH_GetCapabilities, USBH_GETCAPABILITIES_EN ),
123 TCD ( USBH_Initialization, USBH_INITIALIZATION_EN ),
124 TCD ( USBH_PowerControl, USBH_POWERCONTROL_EN ),
125 TCD ( USBH_CheckInvalidInit, USBH_CHECKINVALIDINIT_EN ),
127 #ifdef RTE_DV_API_CAN
128 TCD ( CAN_GetCapabilities, CAN_GETCAPABILITIES_EN ),
129 TCD ( CAN_Initialization, CAN_INITIALIZATION_EN ),
130 TCD ( CAN_PowerControl, CAN_POWERCONTROL_EN ),
131 TCD ( CAN_Loopback_CheckBitrate, CAN_LOOPBACK_CHECK_BR_EN ),
132 TCD ( CAN_Loopback_CheckBitrateFD, CAN_LOOPBACK_CHECK_BR_FD_EN ),
133 TCD ( CAN_Loopback_Transfer, CAN_LOOPBACK_TRANSFER_EN ),
134 TCD ( CAN_Loopback_TransferFD, CAN_LOOPBACK_TRANSFER_FD_EN ),
137 TCD ( WIFI_DV_Initialize, 1U ),
139 /* WiFi Control tests */
140 #if ( WIFI_CONTROL_EN != 0)
141 TCD ( WIFI_GetVersion, WIFI_GETVERSION_EN ),
142 TCD ( WIFI_GetCapabilities, WIFI_GETCAPABILITIES_EN ),
143 TCD ( WIFI_Initialize_Uninitialize, WIFI_INIT_UNINIT_EN ),
144 TCD ( WIFI_PowerControl, WIFI_POWERCONTROL_EN ),
145 TCD ( WIFI_GetModuleInfo, WIFI_GETMODULEINFO_EN ),
147 /* WiFi Management tests */
148 #if ( WIFI_MANAGEMENT_EN != 0)
149 TCD ( WIFI_SetOption_GetOption, WIFI_SETGETOPTION_EN ),
150 TCD ( WIFI_Scan, WIFI_SCAN_EN ),
151 TCD ( WIFI_Activate_Deactivate, WIFI_ACT_DEACT_EN ),
152 TCD ( WIFI_IsConnected, WIFI_ISCONNECTED_EN ),
153 TCD ( WIFI_GetNetInfo, WIFI_GETNETINFO_EN ),
155 /* WiFi Management tests requireing user interaction */
156 #if ( WIFI_MANAGEMENT_USER_EN != 0)
157 TCD ( WIFI_Activate_AP, WIFI_ACT_AP ),
158 #if ( WIFI_WPS_USER_EN != 0)
159 TCD ( WIFI_Activate_Station_WPS_PBC, WIFI_ACT_STA_WPS_PBC ),
160 TCD ( WIFI_Activate_Station_WPS_PIN, WIFI_ACT_STA_WPS_PIN ),
161 TCD ( WIFI_Activate_AP_WPS_PBC, WIFI_ACT_AP_WPS_PBC ),
162 TCD ( WIFI_Activate_AP_WPS_PIN, WIFI_ACT_AP_WPS_PIN ),
165 /* WiFi Socket API tests */
166 #if ( WIFI_SOCKET_EN != 0)
167 TCD ( WIFI_SocketCreate, WIFI_SOCKETCREATE_EN ),
168 TCD ( WIFI_SocketBind, WIFI_SOCKETBIND_EN ),
169 TCD ( WIFI_SocketListen, WIFI_SOCKETLISTEN_EN ),
170 TCD ( WIFI_SocketAccept, WIFI_SOCKETACCEPT_EN ),
171 TCD ( WIFI_SocketConnect, WIFI_SOCKETCONNECT_EN ),
172 TCD ( WIFI_SocketRecv, WIFI_SOCKETRECV_EN ),
173 TCD ( WIFI_SocketRecvFrom, WIFI_SOCKETRECVFROM_EN ),
174 TCD ( WIFI_SocketSend, WIFI_SOCKETSEND_EN ),
175 TCD ( WIFI_SocketSendTo, WIFI_SOCKETSENDTO_EN ),
176 TCD ( WIFI_SocketGetSockName, WIFI_SOCKETGETSOCKNAME_EN ),
177 TCD ( WIFI_SocketGetPeerName, WIFI_SOCKETGETPEERNAME_EN ),
178 TCD ( WIFI_SocketGetOpt, WIFI_SOCKETGETOPT_EN ),
179 TCD ( WIFI_SocketSetOpt, WIFI_SOCKETSETOPT_EN ),
180 TCD ( WIFI_SocketClose, WIFI_SOCKETCLOSE_EN ),
181 TCD ( WIFI_SocketGetHostByName, WIFI_SOCKETGETHOSTBYNAME_EN ),
182 TCD ( WIFI_Ping, WIFI_PING_EN ),
184 /* WiFi Socket Operation tests */
185 #if ( WIFI_SOCKET_OP_EN != 0)
186 TCD ( WIFI_Transfer_Fixed, WIFI_TRANSFER_FIXED_EN ),
187 TCD ( WIFI_Transfer_Incremental, WIFI_TRANSFER_INCREMENTAL_EN ),
188 TCD ( WIFI_Send_Fragmented, WIFI_SEND_FRAGMENTED_EN ),
189 TCD ( WIFI_Recv_Fragmented, WIFI_RECV_FRAGMENTED_EN ),
190 TCD ( WIFI_Test_Speed, WIFI_TEST_SPEED_EN ),
191 TCD ( WIFI_Concurrent_Socket, WIFI_CONCURRENT_SOCKET_EN ),
194 TCD ( WIFI_DV_Uninitialize, 1U ),
198 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
199 #pragma clang diagnostic push
200 #pragma clang diagnostic ignored "-Wdate-time"
202 /*-----------------------------------------------------------------------------
203 * Test suite description
204 *----------------------------------------------------------------------------*/
206 __FILE__, __DATE__, __TIME__,
207 "CMSIS-Driver Test Suite",
211 ARRAY_SIZE (TC_LIST),
213 #if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
214 #pragma clang diagnostic pop