2 * Copyright (c) 2015-2021 Arm Limited. All rights reserved.
4 * SPDX-License-Identifier: Apache-2.0
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
10 * www.apache.org/licenses/LICENSE-2.0
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.
18 * -----------------------------------------------------------------------------
22 * Project: CMSIS-Driver Validation
23 * Title: Universal Synchronous Asynchronous Receiver/Transmitter (USART)
24 * driver validation configuration file
26 * -----------------------------------------------------------------------------
29 #ifndef DV_USART_CONFIG_H_
30 #define DV_USART_CONFIG_H_
32 //-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
35 // <i> Universal Synchronous Asynchronous Receiver/Transmitter (USART) driver validation configuration
36 // <o0> Driver_USART# <0-255>
37 // <i> Choose the Driver_USART# instance to test.
38 // <i> For example to test Driver_USART0 select 0.
40 // <i> Test Mode, USART Server and Tests configuration.
42 // <i> Select test mode: Loopback or USART Server.
43 // <i> For Loopback test mode connect the Tx and Rx lines directly.
44 // <i> Loopback test mode is used for basic driver functionality testing before using USART Server test mode.
45 // <i> For USART Server test mode connect:
46 // <i> - Tx line to Rx on the USART Server
47 // <i> - Rx line to Tx on the USART Server
48 // <i> - GND to same line on the USART Server
49 // <i> USART Server test mode is used for extensive driver functionality testing.
53 // <i> USART Server configuration.
54 // <i> Specifies the communication settings at which Driver Validation communicates with the USART Server.
55 // <i> These settings must be same as settings configured and used by the USART Server.
56 // <i> Fixed settings:
57 // <i> Baudrate: 115200
61 // <i> Flow Control: None
63 // <i> Select mode setting used by the USART Server.
69 // <i> Tests configuration
70 // <h> Default settings
71 // <i> Default settings used for tests.
73 // <i> Select default mode setting used for tests.
75 // <2=> Synchronous Master
76 // <3=> Synchronous Slave
79 // <o5> Data Bits <5=> 5 <6=> 6 <7=> 7 <8=> 8 <9=> 9
80 // <i> Select default data bits setting for tests.
81 // <i> This setting is used for all tests except the Data Exchange: Data Bits tests.
82 // <o6> Parity <0=> None <1=> Even <2=> Odd
83 // <i> Select default parity setting for tests.
84 // <i> This setting is used for all tests except the Data Exchange: Parity tests.
85 // <o7> Stop Bits <0=> 1 <1=> 2 <2=> 1.5 <3=> 0.5
86 // <i> Select default stop bits setting for tests.
87 // <i> This setting is used for all tests except the Data Exchange: Stop Bits tests.
88 // <o8> Flow control <0=> No <1=> RTS <2=> CTS <3=> RTS/CTS
89 // <i> Select default flow control setting for tests.
90 // <i> This setting is used for all tests except the Data Exchange: Flow Control tests.
91 // <o9> Clock Polarity
92 // <i> Select default clock polarity for tests.
93 // <i> This setting is used for all tests except the Data Exchange: Polarity Phase tests.
94 // <i> This setting is only relevant for synchronous mode.
95 // <0=> Clock Polarity 0
96 // <1=> Clock Polarity 1
98 // <i> Select default clock phase setting for tests.
99 // <i> This setting is used for all tests except the Data Exchange: Polarity Phase tests.
100 // <i> This setting is only relevant for synchronous mode.
101 // <0=> Clock Phase 0
102 // <1=> Clock Phase 1
103 // <o11> Baudrate <115200-1000000000>
104 // <i> Select default baudrate setting for tests.
105 // <i> This setting is used for all tests except the Data Exchange: Baudrate tests.
106 // <o12> Number of Items <1-1024>
107 // <i> Select default number of data items for tests.
108 // <i> This setting is used for all tests except the Data Exchange: Other: USART_Number_Of_Items tests.
111 // <i> Baudrate tests configuration.
112 // <o13> Minimum Baudrate <115200-1000000000>
113 // <i> Select minimum baudrate setting.
114 // <i> This setting is used only in USART_Baudrate_Min test function.
115 // <o14> Maximum Baudrate <115200-1000000000>
116 // <i> Select maximum baudrate setting.
117 // <i> This setting is used only in USART_Baudrate_Max test function.
119 // <h> Number of Items
120 // <i> Number of items test configuration.
121 // <i> This setting is used only in USART_Number_Of_Items test function.
122 // <i> (Value 0 means setting is not used)
123 // <o15> Number of Items 1 <0-1024>
124 // <o16> Number of Items 2 <0-1024>
125 // <o17> Number of Items 3 <0-1024>
126 // <o18> Number of Items 4 <0-1024>
127 // <o19> Number of Items 5 <0-1024>
132 // <i> Enable / disable tests.
133 // <e21> Driver Management
134 // <i> Enable / disable driver management tests (functions: GetVersion, GetCapabilities, Initialize, Uninitialize, PowerControl).
135 // <q22> USART_GetVersion
136 // <i> Enable / disable GetVersion function tests.
137 // <q23> USART_GetCapabilities
138 // <i> Enable / disable GetCapabilities function tests.
139 // <q24> USART_Initialize_Uninitialize
140 // <i> Enable / disable Initialize and Uninitialize functions tests.
141 // <q25> USART_PowerControl
142 // <i> Enable / disable PowerControl function tests.
144 // <e26> Data Exchange
145 // <i> Enable / disable data exchange tests (functions: Send, Receive, Transfer, GetTxCount, GetRxCount, Control, GetStatus, SignalEvent).
147 // <i> Enable / disable USART mode tests.
148 // <i> (for Loopback test mode only Asynchronous, Synchronous Master and Single-wire mode tests are supported!)
149 // <q28> USART_Mode_Asynchronous
150 // <i> Enable / disable data exchange in Asynchronous mode test.
151 // <q29> USART_Mode_Synchronous_Master
152 // <i> Enable / disable data exchange in Synchronous Master mode test.
153 // <q30> USART_Mode_Synchronous_Slave
154 // <i> Enable / disable data exchange in Synchronous Slave mode test.
155 // <q31> USART_Mode_Single_Wire
156 // <i> Enable / disable data exchange in Single-wire mode test.
157 // <i> This test is supported only in Loopback test mode!
158 // <q32> USART_Mode_IrDA
159 // <i> Enable / disable data exchange in Infra-red Data mode test.
160 // <i> This test requires IrDA hardware.
163 // <i> Enable / disable data bits tests.
164 // <i> (for Loopback test mode only: 8 data bit test is supported!)
165 // <q34> USART_Data_Bits_5
166 // <i> Enable / disable data exchange with 5 data bits per packet test.
167 // <q35> USART_Data_Bits_6
168 // <i> Enable / disable data exchange with 6 data bits per packet test.
169 // <q36> USART_Data_Bits_7
170 // <i> Enable / disable data exchange with 7 data bits per packet test.
171 // <q37> USART_Data_Bits_8
172 // <i> Enable / disable data exchange with 8 data bits per packet test.
173 // <q38> USART_Data_Bits_9
174 // <i> Enable / disable data exchange with 9 dtat bits per packet test.
177 // <i> Enable / disable parity tests.
178 // <i> (all of these tests are supported only in USART Server test mode!)
179 // <q40> USART_Parity_None
180 // <i> Enable / disable data exchange with no parity test.
181 // <q41> USART_Parity_Even
182 // <i> Enable / disable data exchange with even parity test.
183 // <q42> USART_Parity_Odd
184 // <i> Enable / disable data exchange odd parity test.
187 // <i> Enable / disable stop bits tests.
188 // <i> (all of these tests are supported only in USART Server test mode!)
189 // <q44> USART_Stop_Bits_1
190 // <i> Enable / disable data exchange with 1 stop bit test.
191 // <q45> USART_Stop_Bits_2
192 // <i> Enable / disable data exchange with 2 stop bits test.
193 // <q46> USART_Stop_Bits_1_5
194 // <i> Enable / disable data exchange with 1.5 stop bits test.
195 // <q47> USART_Stop_Bits_0_5
196 // <i> Enable / disable data exchange with 0.5 stop bit test.
198 // <e48> Flow Control
199 // <i> Enable / disable flow control tests.
200 // <i> (all of these tests are supported only in USART Server test mode!)
201 // <q49> USART_Flow_Control_None
202 // <i> Enable / disable data exchange with no flow control test.
203 // <q50> USART_Flow_Control_RTS
204 // <i> Enable / disable data exchange with no flow control using RTS signal test.
205 // <q51> USART_Flow_Control_CTS
206 // <i> Enable / disable data exchange with no flow control using CTS signal test.
207 // <q52> USART_Flow_Control_RTS_CTS
208 // <i> Enable / disable data exchange with no flow control using RTS and CTS signals test.
210 // <e53> Clock Format
211 // <i> Enable / disable clock format tests.
212 // <i> (all of these tests are supported only in USART Server test mode!)
213 // <q54> USART_Clock_Pol0_Pha0
214 // <i> Enable / disable data exchange with clock format: Polarity 0 / Phase 0 test.
215 // <q55> USART_Clock_Pol0_Pha1
216 // <i> Enable / disable data exchange with clock format: Polarity 0 / Phase 1 test.
217 // <q56> USART_Clock_Pol1_Pha0
218 // <i> Enable / disable data exchange with clock format: Polarity 1 / Phase 0 test.
219 // <q57> USART_Clock_Pol1_Pha1
220 // <i> Enable / disable data exchange with clock format: Polarity 1 / Phase 1 test.
223 // <i> Enable / disable baudrate tests.
224 // <q59> USART_Baudrate_Min
225 // <i> Enable / disable data exchange at minimum supported baudrate test.
226 // <q60> USART_Baudrate_Max
227 // <i> Enable / disable data exchange at maximum supported baudrate test.
230 // <i> Enable / disable other tests.
231 // <q62> USART_Number_Of_Items
232 // <i> Enable / disable data exchange with different number of data items test.
233 // <q63> USART_GetTxCount
234 // <i> Enable / disable GetTxCount count changing during data exchange (Send) test.
235 // <q64> USART_GetRxCount
236 // <i> Enable / disable GetRxCount count changing during data exchange (Receive) test.
237 // <q65> USART_GetTxRxCount
238 // <> Enable / disable GetTxRxCount count changing during data exchange (Transfer) test (in Synchronous Master mode only).
239 // <q66> USART_AbortSend
240 // <i> Enable / disable data exchange Abort Send test.
241 // <q67> USART_AbortReceive
242 // <i> Enable / disable data exchange Abort Receive test.
243 // <q68> USART_AbortTransfer
244 // <i> Enable / disable data exchange Abort Transfer test.
245 // <q69> USART_TxBreak
246 // <i> Enable / disable Break signaling (Tx) test.
250 // <i> Enable / disable modem line tests (functions: SetModemControl, GetModemStatus).
251 // <i> (all of these tests are supported only in USART Server test mode!)
252 // <q71> USART_SetModem_RTS
253 // <i> Enable / disable driving of RTS (Request To Send) modem line test.
254 // <q72> USART_SetModem_DTR
255 // <i> Enable / disable driving of DTR (Data Terminal Ready) modem line test.
256 // <q73> USART_GetModem_CTS
257 // <i> Enable / disable reading of CTS (Clear To Send) modem line test.
258 // <q74> USART_GetModem_DSR
259 // <i> Enable / disable reading of DSR (Data Set Ready) modem line test.
260 // <q75> USART_GetModem_DCD
261 // <i> Enable / disable reading of DCD (Data Carrier Detect) modem line test.
262 // <q76> USART_GetModem_RI
263 // <i> Enable / disable reading of RI (Ring Indicator) modem line test.
266 // <i> Enable / disable event signaling tests (function: SignalEvent).
267 // <i> (all of these tests are supported only in USART Server test mode!)
268 // <q78> USART_Tx_Underflow
269 // <i> Enable / disable ARM_USART_EVENT_TX_UNDERFLOW event generation test.
270 // <q79> USART_Rx_Overflow
271 // <i> Enable / disable ARM_USART_EVENT_RX_OVERFLOW event generation test.
272 // <q80> USART_Rx_Timeout
273 // <i> Enable / disable ARM_USART_EVENT_RX_TIMEOUT event generation test.
274 // <q81> USART_Rx_Break
275 // <i> Enable / disable ARM_USART_EVENT_RX_BREAK event generation test.
276 // <q82> USART_Rx_Framing_Error
277 // <i> Enable / disable ARM_USART_EVENT_RX_FRAMING_ERROR event generation test.
278 // <q83> USART_Rx_Parity_Error
279 // <i> Enable / disable ARM_USART_EVENT_RX_PARITY_ERROR event generation test.
280 // <q84> USART_Event_CTS
281 // <i> Enable / disable ARM_USART_EVENT_CTS event generation test.
282 // <q85> USART_Event_DSR
283 // <i> Enable / disable ARM_USART_EVENT_DSR event generation test.
284 // <q86> USART_Event_DCD
285 // <i> Enable / disable ARM_USART_EVENT_DCD event generation test.
286 // <q87> USART_Event_RI
287 // <i> Enable / disable ARM_USART_EVENT_RI event generation test.
293 #define USART_CFG_TEST_MODE 1
294 #define USART_CFG_SRV_MODE 1
295 #define USART_CFG_SRV_CMD_TOUT 100
296 #define USART_CFG_DEF_MODE 1
297 #define USART_CFG_DEF_DATA_BITS 8
298 #define USART_CFG_DEF_PARITY 0
299 #define USART_CFG_DEF_STOP_BITS 0
300 #define USART_CFG_DEF_FLOW_CONTROL 0
301 #define USART_CFG_DEF_CPOL 0
302 #define USART_CFG_DEF_CPHA 0
303 #define USART_CFG_DEF_BAUDRATE 115200
304 #define USART_CFG_DEF_NUM 512
305 #define USART_CFG_MIN_BAUDRATE 115200
306 #define USART_CFG_MAX_BAUDRATE 921600
307 #define USART_CFG_NUM1 1
308 #define USART_CFG_NUM2 31
309 #define USART_CFG_NUM3 65
310 #define USART_CFG_NUM4 1023
311 #define USART_CFG_NUM5 1024
312 #define USART_CFG_XFER_TIMEOUT 200
313 #define USART_TG_DRIVER_MANAGEMENT_EN 1
314 #define USART_TC_GET_VERSION_EN 1
315 #define USART_TC_GET_CAPABILITIES_EN 1
316 #define USART_TC_INIT_UNINIT_EN 1
317 #define USART_TC_POWER_CONTROL_EN 1
318 #define USART_TG_DATA_EXCHANGE_EN 1
319 #define USART_TG_MODE_EN 1
320 #define USART_TC_ASYNC_EN 1
321 #define USART_TC_SYNC_MASTER_EN 0
322 #define USART_TC_SYNC_SLAVE_EN 0
323 #define USART_TC_SINGLE_WIRE_EN 0
324 #define USART_TC_IRDA_EN 0
325 #define USART_TG_DATA_BITS_EN 1
326 #define USART_TC_DATA_BITS_5_EN 0
327 #define USART_TC_DATA_BITS_6_EN 0
328 #define USART_TC_DATA_BITS_7_EN 0
329 #define USART_TC_DATA_BITS_8_EN 1
330 #define USART_TC_DATA_BITS_9_EN 0
331 #define USART_TG_PARITY_EN 1
332 #define USART_TC_PARITY_NONE_EN 1
333 #define USART_TC_PARITY_EVEN_EN 1
334 #define USART_TC_PARITY_ODD_EN 1
335 #define USART_TG_STOP_BITS_EN 1
336 #define USART_TC_STOP_BITS_1_EN 1
337 #define USART_TC_STOP_BITS_2_EN 1
338 #define USART_TC_STOP_BITS_1_5_EN 0
339 #define USART_TC_STOP_BITS_0_5_EN 0
340 #define USART_TG_FLOW_CTRL_EN 0
341 #define USART_TC_FLOW_CTRL_NONE_EN 1
342 #define USART_TC_FLOW_CTRL_RTS_EN 1
343 #define USART_TC_FLOW_CTRL_CTS_EN 1
344 #define USART_TC_FLOW_CTRL_RTS_CTS_EN 1
345 #define USART_TG_CLOCK_EN 0
346 #define USART_TC_CLOCK_POL0_PHA0_EN 1
347 #define USART_TC_CLOCK_POL0_PHA1_EN 1
348 #define USART_TC_CLOCK_POL1_PHA0_EN 1
349 #define USART_TC_CLOCK_POL1_PHA1_EN 1
350 #define USART_TG_BAUDRATE_EN 1
351 #define USART_TC_BAUDRATE_MIN_EN 1
352 #define USART_TC_BAUDRATE_MAX_EN 1
353 #define USART_TG_OTHER_EN 1
354 #define USART_TC_NUMBER_OF_ITEMS_EN 1
355 #define USART_TC_GET_TX_COUNT_EN 1
356 #define USART_TC_GET_RX_COUNT_EN 1
357 #define USART_TC_GET_TX_RX_COUNT_EN 0
358 #define USART_TC_ABORT_SEND_EN 1
359 #define USART_TC_ABORT_RECEIVE_EN 1
360 #define USART_TC_ABORT_TRANSFER_EN 0
361 #define USART_TC_TX_BREAK_EN 1
362 #define USART_TG_MODEM_EN 0
363 #define USART_TC_MODEM_RTS_EN 1
364 #define USART_TC_MODEM_DTR_EN 0
365 #define USART_TC_MODEM_CTS_EN 1
366 #define USART_TC_MODEM_DSR_EN 0
367 #define USART_TC_MODEM_DCD_EN 0
368 #define USART_TC_MODEM_RI_EN 0
369 #define USART_TG_EVENT_EN 0
370 #define USART_TC_TX_UNDERFLOW_EN 0
371 #define USART_TC_RX_OVERFLOW_EN 1
372 #define USART_TC_RX_TIMEOUT_EN 1
373 #define USART_TC_RX_BREAK_EN 1
374 #define USART_TC_RX_FRAMING_ERROR_EN 1
375 #define USART_TC_RX_PARITY_ERROR_EN 1
376 #define USART_TC_EVENT_CTS_EN 0
377 #define USART_TC_EVENT_DSR_EN 0
378 #define USART_TC_EVENT_DCD_EN 0
379 #define USART_TC_EVENT_RI_EN 0
381 #endif /* DV_USART_CONFIG_H_ */