aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2015-12-31 11:25:02 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2015-12-31 11:25:02 +0000
commit1671d6b7e129ffbee917c2839f428d6f37206def (patch)
tree4bfe1cdad6031bdaba365dc29d89ce9cbbd30b7a
parentba2c8ab2164f76a70bc333b6988427d8acf2bf8a (diff)
downloadChibiOS-1671d6b7e129ffbee917c2839f428d6f37206def.tar.gz
ChibiOS-1671d6b7e129ffbee917c2839f428d6f37206def.tar.bz2
ChibiOS-1671d6b7e129ffbee917c2839f428d6f37206def.zip
Mass update of halconf.h, added USB settings.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8663 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--demos/AVR/NIL-ARDUINOMEGA/halconf.h12
-rw-r--r--demos/AVR/NIL-ARDUINOUNO/halconf.h12
-rw-r--r--demos/AVR/RT-ARDUINOMEGA/halconf.h12
-rw-r--r--demos/AVR/RT-ARDUINOUNO/halconf.h12
-rw-r--r--demos/KINETIS/RT-FREEDOM-K20D50M-EXT/halconf.h12
-rw-r--r--demos/KINETIS/RT-FREEDOM-K20D50M/halconf.h12
-rw-r--r--demos/KINETIS/RT-FREEDOM-KL25Z-EXT/halconf.h12
-rw-r--r--demos/KINETIS/RT-FREEDOM-KL25Z/halconf.h12
-rw-r--r--demos/KINETIS/RT-MCHCK-K20-GPT/halconf.h12
-rw-r--r--demos/KINETIS/RT-MCHCK-K20-SPI/halconf.h12
-rw-r--r--demos/KINETIS/RT-TEENSY3/halconf.h12
-rw-r--r--demos/LPC21xx/RT-LPC214x-OLIMEX/halconf.h12
-rw-r--r--demos/SPC5/NIL-SPC560D-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC560B-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC560D-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC560P-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC563M-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC564A-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC56EC-EVB/halconf.h12
-rw-r--r--demos/SPC5/RT-SPC56EL-EVB/halconf.h12
-rw-r--r--demos/STM32/CMSIS-STM32F407-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/HAL-STM32F407-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/NIL-STM32F051-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/NIL-STM32F100-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/NIL-STM32F303-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/NIL-STM32F373-STM32373C_EVAL/halconf.h12
-rw-r--r--demos/STM32/NIL-STM32L152-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F030R8-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F031K6-NUCLEO32/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F042K6-NUCLEO32/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F051-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F072-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F072RB-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F091RC-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F100-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F103-MAPLEMINI/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F103-OLIMEX_STM32_P103/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F103RB-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F103_INEMO_DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F207-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F302R8-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F303-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F303K8-NUCLEO32/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F334R8-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F373-STM32373C_EVAL/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F401C-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F401RE-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F407-DISCOVERY-G++/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F407-DISCOVERY-MEMS/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F407-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F407-OLIMEX_E407-LWIP-FATFS-USB/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F411RE-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F429-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/halconf.h12
-rw-r--r--demos/STM32/RT-STM32F746G-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32L053R8-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32L152-DISCOVERY/halconf.h12
-rw-r--r--demos/STM32/RT-STM32L152RE-NUCLEO/halconf.h12
-rw-r--r--demos/STM32/RT-STM32L476RG-NUCLEO/halconf.h12
-rw-r--r--demos/various/RT-Win32-Simulator/halconf.h12
-rw-r--r--os/hal/include/usb.h2
-rw-r--r--os/hal/templates/halconf.h19
-rw-r--r--test/rt/testbuild/halconf.h12
-rw-r--r--testhal/AVR/GPT/halconf.h12
-rw-r--r--testhal/AVR/I2C/halconf.h12
-rw-r--r--testhal/AVR/ICU/halconf.h12
-rw-r--r--testhal/AVR/PWM/halconf.h12
-rw-r--r--testhal/KINETIS/ADC/halconf.h12
-rw-r--r--testhal/KINETIS/I2C/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/CAN/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/UART/halconf.h12
-rw-r--r--testhal/STM32/STM32F0xx/USB_CDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/CAN/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/I2C/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/RTC/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/UART/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/USB_CDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F1xx/USB_CDC_F107/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/CAN/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/I2C/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/SDADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/UART/halconf.h12
-rw-r--r--testhal/STM32/STM32F37x/USB_CDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/ADC_DUAL/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/CAN/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/DAC/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/UART/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/USB_CDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/USB_CDC_IAD/halconf.h12
-rw-r--r--testhal/STM32/STM32F3xx/WDG/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/CAN/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/DAC/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/DAC_DUAL/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/DMA_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/GPT/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/I2C/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/I2S/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/IRQ_STORM_FPU/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/RTC/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/SDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/UART/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/USB_CDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/USB_CDC_IAD/halconf.h12
-rw-r--r--testhal/STM32/STM32F4xx/WDG/halconf.h12
-rw-r--r--testhal/STM32/STM32F7xx/GPT-ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32F7xx/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32F7xx/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32F7xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32F7xx/USB_CDC/halconf.h12
-rw-r--r--testhal/STM32/STM32F7xx/USB_RAW/halconf.h12
-rw-r--r--testhal/STM32/STM32L0xx/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32L0xx/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32L0xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/ADC/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/DAC/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/EXT/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/IRQ_STORM/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/PWM-ICU/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/SPI/halconf.h12
-rw-r--r--testhal/STM32/STM32L1xx/UART/halconf.h12
-rw-r--r--testhal/STM32/STM32L4xx/CAN/halconf.h12
-rw-r--r--testhal/STM32/STM32L4xx/GPT-ADC/halconf.h12
148 files changed, 1772 insertions, 1 deletions
diff --git a/demos/AVR/NIL-ARDUINOMEGA/halconf.h b/demos/AVR/NIL-ARDUINOMEGA/halconf.h
index a4b11e3a7..e67aee084 100644
--- a/demos/AVR/NIL-ARDUINOMEGA/halconf.h
+++ b/demos/AVR/NIL-ARDUINOMEGA/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/AVR/NIL-ARDUINOUNO/halconf.h b/demos/AVR/NIL-ARDUINOUNO/halconf.h
index a4b11e3a7..e67aee084 100644
--- a/demos/AVR/NIL-ARDUINOUNO/halconf.h
+++ b/demos/AVR/NIL-ARDUINOUNO/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/AVR/RT-ARDUINOMEGA/halconf.h b/demos/AVR/RT-ARDUINOMEGA/halconf.h
index a4b11e3a7..e67aee084 100644
--- a/demos/AVR/RT-ARDUINOMEGA/halconf.h
+++ b/demos/AVR/RT-ARDUINOMEGA/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/AVR/RT-ARDUINOUNO/halconf.h b/demos/AVR/RT-ARDUINOUNO/halconf.h
index a4b11e3a7..e67aee084 100644
--- a/demos/AVR/RT-ARDUINOUNO/halconf.h
+++ b/demos/AVR/RT-ARDUINOUNO/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-FREEDOM-K20D50M-EXT/halconf.h b/demos/KINETIS/RT-FREEDOM-K20D50M-EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/demos/KINETIS/RT-FREEDOM-K20D50M-EXT/halconf.h
+++ b/demos/KINETIS/RT-FREEDOM-K20D50M-EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-FREEDOM-K20D50M/halconf.h b/demos/KINETIS/RT-FREEDOM-K20D50M/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/KINETIS/RT-FREEDOM-K20D50M/halconf.h
+++ b/demos/KINETIS/RT-FREEDOM-K20D50M/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-FREEDOM-KL25Z-EXT/halconf.h b/demos/KINETIS/RT-FREEDOM-KL25Z-EXT/halconf.h
index 11488f2e2..31250a34d 100644
--- a/demos/KINETIS/RT-FREEDOM-KL25Z-EXT/halconf.h
+++ b/demos/KINETIS/RT-FREEDOM-KL25Z-EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-FREEDOM-KL25Z/halconf.h b/demos/KINETIS/RT-FREEDOM-KL25Z/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/KINETIS/RT-FREEDOM-KL25Z/halconf.h
+++ b/demos/KINETIS/RT-FREEDOM-KL25Z/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-MCHCK-K20-GPT/halconf.h b/demos/KINETIS/RT-MCHCK-K20-GPT/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/demos/KINETIS/RT-MCHCK-K20-GPT/halconf.h
+++ b/demos/KINETIS/RT-MCHCK-K20-GPT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-MCHCK-K20-SPI/halconf.h b/demos/KINETIS/RT-MCHCK-K20-SPI/halconf.h
index 1e2c10b96..927022b05 100644
--- a/demos/KINETIS/RT-MCHCK-K20-SPI/halconf.h
+++ b/demos/KINETIS/RT-MCHCK-K20-SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/KINETIS/RT-TEENSY3/halconf.h b/demos/KINETIS/RT-TEENSY3/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/KINETIS/RT-TEENSY3/halconf.h
+++ b/demos/KINETIS/RT-TEENSY3/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/LPC21xx/RT-LPC214x-OLIMEX/halconf.h b/demos/LPC21xx/RT-LPC214x-OLIMEX/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/LPC21xx/RT-LPC214x-OLIMEX/halconf.h
+++ b/demos/LPC21xx/RT-LPC214x-OLIMEX/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/NIL-SPC560D-EVB/halconf.h b/demos/SPC5/NIL-SPC560D-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/NIL-SPC560D-EVB/halconf.h
+++ b/demos/SPC5/NIL-SPC560D-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC560B-EVB/halconf.h b/demos/SPC5/RT-SPC560B-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC560B-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC560B-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC560D-EVB/halconf.h b/demos/SPC5/RT-SPC560D-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC560D-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC560D-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC560P-EVB/halconf.h b/demos/SPC5/RT-SPC560P-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC560P-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC560P-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC563M-EVB/halconf.h b/demos/SPC5/RT-SPC563M-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC563M-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC563M-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC564A-EVB/halconf.h b/demos/SPC5/RT-SPC564A-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC564A-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC564A-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC56EC-EVB/halconf.h b/demos/SPC5/RT-SPC56EC-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC56EC-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC56EC-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/SPC5/RT-SPC56EL-EVB/halconf.h b/demos/SPC5/RT-SPC56EL-EVB/halconf.h
index e6b90350e..f04e0bd42 100644
--- a/demos/SPC5/RT-SPC56EL-EVB/halconf.h
+++ b/demos/SPC5/RT-SPC56EL-EVB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/CMSIS-STM32F407-DISCOVERY/halconf.h b/demos/STM32/CMSIS-STM32F407-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/CMSIS-STM32F407-DISCOVERY/halconf.h
+++ b/demos/STM32/CMSIS-STM32F407-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/HAL-STM32F407-DISCOVERY/halconf.h b/demos/STM32/HAL-STM32F407-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/HAL-STM32F407-DISCOVERY/halconf.h
+++ b/demos/STM32/HAL-STM32F407-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/NIL-STM32F051-DISCOVERY/halconf.h b/demos/STM32/NIL-STM32F051-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/NIL-STM32F051-DISCOVERY/halconf.h
+++ b/demos/STM32/NIL-STM32F051-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/NIL-STM32F100-DISCOVERY/halconf.h b/demos/STM32/NIL-STM32F100-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/NIL-STM32F100-DISCOVERY/halconf.h
+++ b/demos/STM32/NIL-STM32F100-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/NIL-STM32F303-DISCOVERY/halconf.h b/demos/STM32/NIL-STM32F303-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/NIL-STM32F303-DISCOVERY/halconf.h
+++ b/demos/STM32/NIL-STM32F303-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/NIL-STM32F373-STM32373C_EVAL/halconf.h b/demos/STM32/NIL-STM32F373-STM32373C_EVAL/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/NIL-STM32F373-STM32373C_EVAL/halconf.h
+++ b/demos/STM32/NIL-STM32F373-STM32373C_EVAL/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/NIL-STM32L152-DISCOVERY/halconf.h b/demos/STM32/NIL-STM32L152-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/NIL-STM32L152-DISCOVERY/halconf.h
+++ b/demos/STM32/NIL-STM32L152-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F030R8-NUCLEO/halconf.h b/demos/STM32/RT-STM32F030R8-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F030R8-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F030R8-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F031K6-NUCLEO32/halconf.h b/demos/STM32/RT-STM32F031K6-NUCLEO32/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F031K6-NUCLEO32/halconf.h
+++ b/demos/STM32/RT-STM32F031K6-NUCLEO32/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F042K6-NUCLEO32/halconf.h b/demos/STM32/RT-STM32F042K6-NUCLEO32/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F042K6-NUCLEO32/halconf.h
+++ b/demos/STM32/RT-STM32F042K6-NUCLEO32/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F051-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F051-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F051-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F051-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F072-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F072-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F072-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F072-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F072RB-NUCLEO/halconf.h b/demos/STM32/RT-STM32F072RB-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F072RB-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F072RB-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F091RC-NUCLEO/halconf.h b/demos/STM32/RT-STM32F091RC-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F091RC-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F091RC-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F100-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F100-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F100-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F100-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F103-MAPLEMINI/halconf.h b/demos/STM32/RT-STM32F103-MAPLEMINI/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/demos/STM32/RT-STM32F103-MAPLEMINI/halconf.h
+++ b/demos/STM32/RT-STM32F103-MAPLEMINI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F103-OLIMEX_STM32_P103/halconf.h b/demos/STM32/RT-STM32F103-OLIMEX_STM32_P103/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F103-OLIMEX_STM32_P103/halconf.h
+++ b/demos/STM32/RT-STM32F103-OLIMEX_STM32_P103/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h
index 8ae5a3ebf..946b2ba37 100644
--- a/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h
+++ b/demos/STM32/RT-STM32F103-STM3210E_EVAL-FATFS-USB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F103RB-NUCLEO/halconf.h b/demos/STM32/RT-STM32F103RB-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F103RB-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F103RB-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F103_INEMO_DISCOVERY/halconf.h b/demos/STM32/RT-STM32F103_INEMO_DISCOVERY/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/demos/STM32/RT-STM32F103_INEMO_DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F103_INEMO_DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F207-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F207-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F207-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F207-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F302R8-NUCLEO/halconf.h b/demos/STM32/RT-STM32F302R8-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F302R8-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F302R8-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F303-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F303-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F303-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F303-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F303K8-NUCLEO32/halconf.h b/demos/STM32/RT-STM32F303K8-NUCLEO32/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F303K8-NUCLEO32/halconf.h
+++ b/demos/STM32/RT-STM32F303K8-NUCLEO32/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F334R8-NUCLEO/halconf.h b/demos/STM32/RT-STM32F334R8-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F334R8-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F334R8-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F373-STM32373C_EVAL/halconf.h b/demos/STM32/RT-STM32F373-STM32373C_EVAL/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F373-STM32373C_EVAL/halconf.h
+++ b/demos/STM32/RT-STM32F373-STM32373C_EVAL/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F401C-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F401C-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F401C-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F401C-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F401RE-NUCLEO/halconf.h b/demos/STM32/RT-STM32F401RE-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F401RE-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F401RE-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F407-DISCOVERY-G++/halconf.h b/demos/STM32/RT-STM32F407-DISCOVERY-G++/halconf.h
index e2604436d..15cf73c6c 100644
--- a/demos/STM32/RT-STM32F407-DISCOVERY-G++/halconf.h
+++ b/demos/STM32/RT-STM32F407-DISCOVERY-G++/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F407-DISCOVERY-MEMS/halconf.h b/demos/STM32/RT-STM32F407-DISCOVERY-MEMS/halconf.h
index 132d29ddf..c0dfc9520 100644
--- a/demos/STM32/RT-STM32F407-DISCOVERY-MEMS/halconf.h
+++ b/demos/STM32/RT-STM32F407-DISCOVERY-MEMS/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F407-OLIMEX_E407-LWIP-FATFS-USB/halconf.h b/demos/STM32/RT-STM32F407-OLIMEX_E407-LWIP-FATFS-USB/halconf.h
index a8249c1a9..b01198f13 100644
--- a/demos/STM32/RT-STM32F407-OLIMEX_E407-LWIP-FATFS-USB/halconf.h
+++ b/demos/STM32/RT-STM32F407-OLIMEX_E407-LWIP-FATFS-USB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F411RE-NUCLEO/halconf.h b/demos/STM32/RT-STM32F411RE-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F411RE-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32F411RE-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F429-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F429-DISCOVERY/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/demos/STM32/RT-STM32F429-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F429-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/halconf.h b/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/halconf.h
index e312ef2dc..66d81b2e9 100644
--- a/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/halconf.h
+++ b/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32F746G-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F746G-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32F746G-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32F746G-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32L053R8-NUCLEO/halconf.h b/demos/STM32/RT-STM32L053R8-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32L053R8-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32L053R8-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32L152-DISCOVERY/halconf.h b/demos/STM32/RT-STM32L152-DISCOVERY/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32L152-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32L152-DISCOVERY/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO/halconf.h b/demos/STM32/RT-STM32L152RE-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32L152RE-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32L152RE-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/STM32/RT-STM32L476RG-NUCLEO/halconf.h b/demos/STM32/RT-STM32L476RG-NUCLEO/halconf.h
index 94f8cc588..30cf60a3b 100644
--- a/demos/STM32/RT-STM32L476RG-NUCLEO/halconf.h
+++ b/demos/STM32/RT-STM32L476RG-NUCLEO/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/demos/various/RT-Win32-Simulator/halconf.h b/demos/various/RT-Win32-Simulator/halconf.h
index 5a2e94949..de352b913 100644
--- a/demos/various/RT-Win32-Simulator/halconf.h
+++ b/demos/various/RT-Win32-Simulator/halconf.h
@@ -348,6 +348,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/os/hal/include/usb.h b/os/hal/include/usb.h
index e8a5a3344..77dda4593 100644
--- a/os/hal/include/usb.h
+++ b/os/hal/include/usb.h
@@ -239,7 +239,7 @@
* @note Disabling this option saves both code and data space.
*/
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT TRUE
+#define USB_USE_WAIT FALSE
#endif
/*===========================================================================*/
diff --git a/os/hal/templates/halconf.h b/os/hal/templates/halconf.h
index 843f0cc34..da13911e1 100644
--- a/os/hal/templates/halconf.h
+++ b/os/hal/templates/halconf.h
@@ -165,6 +165,13 @@
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
#define HAL_USE_USB TRUE
#endif
+
+/**
+ * @brief Enables the WDG subsystem.
+ */
+#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
+#define HAL_USE_WDG TRUE
+#endif
/** @} */
/*===========================================================================*/
@@ -389,6 +396,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/test/rt/testbuild/halconf.h b/test/rt/testbuild/halconf.h
index 252f43f6b..5f1ab3981 100644
--- a/test/rt/testbuild/halconf.h
+++ b/test/rt/testbuild/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/AVR/GPT/halconf.h b/testhal/AVR/GPT/halconf.h
index fa8dc9c5f..4a0cb5604 100644
--- a/testhal/AVR/GPT/halconf.h
+++ b/testhal/AVR/GPT/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/AVR/I2C/halconf.h b/testhal/AVR/I2C/halconf.h
index f9c8f148a..46582feb5 100644
--- a/testhal/AVR/I2C/halconf.h
+++ b/testhal/AVR/I2C/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/AVR/ICU/halconf.h b/testhal/AVR/ICU/halconf.h
index 132ee1b01..84e4989da 100644
--- a/testhal/AVR/ICU/halconf.h
+++ b/testhal/AVR/ICU/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/AVR/PWM/halconf.h b/testhal/AVR/PWM/halconf.h
index 160faf996..6eced1f95 100644
--- a/testhal/AVR/PWM/halconf.h
+++ b/testhal/AVR/PWM/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/KINETIS/ADC/halconf.h b/testhal/KINETIS/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/KINETIS/ADC/halconf.h
+++ b/testhal/KINETIS/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/KINETIS/I2C/halconf.h b/testhal/KINETIS/I2C/halconf.h
index ead72925c..076ac3800 100644
--- a/testhal/KINETIS/I2C/halconf.h
+++ b/testhal/KINETIS/I2C/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/ADC/halconf.h b/testhal/STM32/STM32F0xx/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F0xx/ADC/halconf.h
+++ b/testhal/STM32/STM32F0xx/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/CAN/halconf.h b/testhal/STM32/STM32F0xx/CAN/halconf.h
index d98ac0e56..1a2a6b24d 100644
--- a/testhal/STM32/STM32F0xx/CAN/halconf.h
+++ b/testhal/STM32/STM32F0xx/CAN/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/EXT/halconf.h b/testhal/STM32/STM32F0xx/EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/testhal/STM32/STM32F0xx/EXT/halconf.h
+++ b/testhal/STM32/STM32F0xx/EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/IRQ_STORM/halconf.h b/testhal/STM32/STM32F0xx/IRQ_STORM/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F0xx/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32F0xx/IRQ_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/PWM-ICU/halconf.h b/testhal/STM32/STM32F0xx/PWM-ICU/halconf.h
index 51cf8ed18..5be669e3e 100644
--- a/testhal/STM32/STM32F0xx/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32F0xx/PWM-ICU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/SPI/halconf.h b/testhal/STM32/STM32F0xx/SPI/halconf.h
index e4f22f196..c5e41a26e 100644
--- a/testhal/STM32/STM32F0xx/SPI/halconf.h
+++ b/testhal/STM32/STM32F0xx/SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/UART/halconf.h b/testhal/STM32/STM32F0xx/UART/halconf.h
index bcf55cff1..ae6ea4423 100644
--- a/testhal/STM32/STM32F0xx/UART/halconf.h
+++ b/testhal/STM32/STM32F0xx/UART/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F0xx/USB_CDC/halconf.h b/testhal/STM32/STM32F0xx/USB_CDC/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/testhal/STM32/STM32F0xx/USB_CDC/halconf.h
+++ b/testhal/STM32/STM32F0xx/USB_CDC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/ADC/halconf.h b/testhal/STM32/STM32F1xx/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F1xx/ADC/halconf.h
+++ b/testhal/STM32/STM32F1xx/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/CAN/halconf.h b/testhal/STM32/STM32F1xx/CAN/halconf.h
index d98ac0e56..1a2a6b24d 100644
--- a/testhal/STM32/STM32F1xx/CAN/halconf.h
+++ b/testhal/STM32/STM32F1xx/CAN/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/EXT/halconf.h b/testhal/STM32/STM32F1xx/EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/testhal/STM32/STM32F1xx/EXT/halconf.h
+++ b/testhal/STM32/STM32F1xx/EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/I2C/halconf.h b/testhal/STM32/STM32F1xx/I2C/halconf.h
index ead72925c..076ac3800 100644
--- a/testhal/STM32/STM32F1xx/I2C/halconf.h
+++ b/testhal/STM32/STM32F1xx/I2C/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/IRQ_STORM/halconf.h b/testhal/STM32/STM32F1xx/IRQ_STORM/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F1xx/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32F1xx/IRQ_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/PWM-ICU/halconf.h b/testhal/STM32/STM32F1xx/PWM-ICU/halconf.h
index 51cf8ed18..5be669e3e 100644
--- a/testhal/STM32/STM32F1xx/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32F1xx/PWM-ICU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/RTC/halconf.h b/testhal/STM32/STM32F1xx/RTC/halconf.h
index 9aefccc31..a849c5d6d 100644
--- a/testhal/STM32/STM32F1xx/RTC/halconf.h
+++ b/testhal/STM32/STM32F1xx/RTC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/SPI/halconf.h b/testhal/STM32/STM32F1xx/SPI/halconf.h
index 86ae9f971..f13517327 100644
--- a/testhal/STM32/STM32F1xx/SPI/halconf.h
+++ b/testhal/STM32/STM32F1xx/SPI/halconf.h
@@ -355,6 +355,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/UART/halconf.h b/testhal/STM32/STM32F1xx/UART/halconf.h
index bcf55cff1..ae6ea4423 100644
--- a/testhal/STM32/STM32F1xx/UART/halconf.h
+++ b/testhal/STM32/STM32F1xx/UART/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/USB_CDC/halconf.h b/testhal/STM32/STM32F1xx/USB_CDC/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/testhal/STM32/STM32F1xx/USB_CDC/halconf.h
+++ b/testhal/STM32/STM32F1xx/USB_CDC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F1xx/USB_CDC_F107/halconf.h b/testhal/STM32/STM32F1xx/USB_CDC_F107/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/testhal/STM32/STM32F1xx/USB_CDC_F107/halconf.h
+++ b/testhal/STM32/STM32F1xx/USB_CDC_F107/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/ADC/halconf.h b/testhal/STM32/STM32F37x/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F37x/ADC/halconf.h
+++ b/testhal/STM32/STM32F37x/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/CAN/halconf.h b/testhal/STM32/STM32F37x/CAN/halconf.h
index d98ac0e56..1a2a6b24d 100644
--- a/testhal/STM32/STM32F37x/CAN/halconf.h
+++ b/testhal/STM32/STM32F37x/CAN/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/EXT/halconf.h b/testhal/STM32/STM32F37x/EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/testhal/STM32/STM32F37x/EXT/halconf.h
+++ b/testhal/STM32/STM32F37x/EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/I2C/halconf.h b/testhal/STM32/STM32F37x/I2C/halconf.h
index ead72925c..076ac3800 100644
--- a/testhal/STM32/STM32F37x/I2C/halconf.h
+++ b/testhal/STM32/STM32F37x/I2C/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/IRQ_STORM/halconf.h b/testhal/STM32/STM32F37x/IRQ_STORM/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F37x/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32F37x/IRQ_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/PWM-ICU/halconf.h b/testhal/STM32/STM32F37x/PWM-ICU/halconf.h
index 51cf8ed18..5be669e3e 100644
--- a/testhal/STM32/STM32F37x/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32F37x/PWM-ICU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/SDADC/halconf.h b/testhal/STM32/STM32F37x/SDADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F37x/SDADC/halconf.h
+++ b/testhal/STM32/STM32F37x/SDADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/SPI/halconf.h b/testhal/STM32/STM32F37x/SPI/halconf.h
index e4f22f196..c5e41a26e 100644
--- a/testhal/STM32/STM32F37x/SPI/halconf.h
+++ b/testhal/STM32/STM32F37x/SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/UART/halconf.h b/testhal/STM32/STM32F37x/UART/halconf.h
index bcf55cff1..ae6ea4423 100644
--- a/testhal/STM32/STM32F37x/UART/halconf.h
+++ b/testhal/STM32/STM32F37x/UART/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F37x/USB_CDC/halconf.h b/testhal/STM32/STM32F37x/USB_CDC/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/testhal/STM32/STM32F37x/USB_CDC/halconf.h
+++ b/testhal/STM32/STM32F37x/USB_CDC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/ADC/halconf.h b/testhal/STM32/STM32F3xx/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F3xx/ADC/halconf.h
+++ b/testhal/STM32/STM32F3xx/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/ADC_DUAL/halconf.h b/testhal/STM32/STM32F3xx/ADC_DUAL/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F3xx/ADC_DUAL/halconf.h
+++ b/testhal/STM32/STM32F3xx/ADC_DUAL/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/CAN/halconf.h b/testhal/STM32/STM32F3xx/CAN/halconf.h
index d98ac0e56..1a2a6b24d 100644
--- a/testhal/STM32/STM32F3xx/CAN/halconf.h
+++ b/testhal/STM32/STM32F3xx/CAN/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/DAC/halconf.h b/testhal/STM32/STM32F3xx/DAC/halconf.h
index 6ccdcf65b..b735ef4e7 100644
--- a/testhal/STM32/STM32F3xx/DAC/halconf.h
+++ b/testhal/STM32/STM32F3xx/DAC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/EXT/halconf.h b/testhal/STM32/STM32F3xx/EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/testhal/STM32/STM32F3xx/EXT/halconf.h
+++ b/testhal/STM32/STM32F3xx/EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/IRQ_STORM/halconf.h b/testhal/STM32/STM32F3xx/IRQ_STORM/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F3xx/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32F3xx/IRQ_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/PWM-ICU/halconf.h b/testhal/STM32/STM32F3xx/PWM-ICU/halconf.h
index 51cf8ed18..5be669e3e 100644
--- a/testhal/STM32/STM32F3xx/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32F3xx/PWM-ICU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/SPI/halconf.h b/testhal/STM32/STM32F3xx/SPI/halconf.h
index e4f22f196..c5e41a26e 100644
--- a/testhal/STM32/STM32F3xx/SPI/halconf.h
+++ b/testhal/STM32/STM32F3xx/SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/UART/halconf.h b/testhal/STM32/STM32F3xx/UART/halconf.h
index bcf55cff1..ae6ea4423 100644
--- a/testhal/STM32/STM32F3xx/UART/halconf.h
+++ b/testhal/STM32/STM32F3xx/UART/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/USB_CDC/halconf.h b/testhal/STM32/STM32F3xx/USB_CDC/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/testhal/STM32/STM32F3xx/USB_CDC/halconf.h
+++ b/testhal/STM32/STM32F3xx/USB_CDC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/USB_CDC_IAD/halconf.h b/testhal/STM32/STM32F3xx/USB_CDC_IAD/halconf.h
index 4ee7b0c4a..6a2c0c27c 100644
--- a/testhal/STM32/STM32F3xx/USB_CDC_IAD/halconf.h
+++ b/testhal/STM32/STM32F3xx/USB_CDC_IAD/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F3xx/WDG/halconf.h b/testhal/STM32/STM32F3xx/WDG/halconf.h
index 049735c62..66e95689c 100644
--- a/testhal/STM32/STM32F3xx/WDG/halconf.h
+++ b/testhal/STM32/STM32F3xx/WDG/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/ADC/halconf.h b/testhal/STM32/STM32F4xx/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32F4xx/ADC/halconf.h
+++ b/testhal/STM32/STM32F4xx/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/CAN/halconf.h b/testhal/STM32/STM32F4xx/CAN/halconf.h
index d98ac0e56..1a2a6b24d 100644
--- a/testhal/STM32/STM32F4xx/CAN/halconf.h
+++ b/testhal/STM32/STM32F4xx/CAN/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/DAC/halconf.h b/testhal/STM32/STM32F4xx/DAC/halconf.h
index 6ccdcf65b..b735ef4e7 100644
--- a/testhal/STM32/STM32F4xx/DAC/halconf.h
+++ b/testhal/STM32/STM32F4xx/DAC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/DAC_DUAL/halconf.h b/testhal/STM32/STM32F4xx/DAC_DUAL/halconf.h
index 6ccdcf65b..b735ef4e7 100644
--- a/testhal/STM32/STM32F4xx/DAC_DUAL/halconf.h
+++ b/testhal/STM32/STM32F4xx/DAC_DUAL/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/DMA_STORM/halconf.h b/testhal/STM32/STM32F4xx/DMA_STORM/halconf.h
index 5d2d9996c..703a6ad33 100644
--- a/testhal/STM32/STM32F4xx/DMA_STORM/halconf.h
+++ b/testhal/STM32/STM32F4xx/DMA_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/EXT/halconf.h b/testhal/STM32/STM32F4xx/EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/testhal/STM32/STM32F4xx/EXT/halconf.h
+++ b/testhal/STM32/STM32F4xx/EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/GPT/halconf.h b/testhal/STM32/STM32F4xx/GPT/halconf.h
index 0308a6567..5726b2f01 100644
--- a/testhal/STM32/STM32F4xx/GPT/halconf.h
+++ b/testhal/STM32/STM32F4xx/GPT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/I2C/halconf.h b/testhal/STM32/STM32F4xx/I2C/halconf.h
index d78efe4d5..38582f471 100644
--- a/testhal/STM32/STM32F4xx/I2C/halconf.h
+++ b/testhal/STM32/STM32F4xx/I2C/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/I2S/halconf.h b/testhal/STM32/STM32F4xx/I2S/halconf.h
index e2d8b9c7a..4b0f2af41 100644
--- a/testhal/STM32/STM32F4xx/I2S/halconf.h
+++ b/testhal/STM32/STM32F4xx/I2S/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/IRQ_STORM/halconf.h b/testhal/STM32/STM32F4xx/IRQ_STORM/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F4xx/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32F4xx/IRQ_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/IRQ_STORM_FPU/halconf.h b/testhal/STM32/STM32F4xx/IRQ_STORM_FPU/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F4xx/IRQ_STORM_FPU/halconf.h
+++ b/testhal/STM32/STM32F4xx/IRQ_STORM_FPU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/PWM-ICU/halconf.h b/testhal/STM32/STM32F4xx/PWM-ICU/halconf.h
index 51cf8ed18..5be669e3e 100644
--- a/testhal/STM32/STM32F4xx/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32F4xx/PWM-ICU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/RTC/halconf.h b/testhal/STM32/STM32F4xx/RTC/halconf.h
index ea90fd7a4..e373727e5 100644
--- a/testhal/STM32/STM32F4xx/RTC/halconf.h
+++ b/testhal/STM32/STM32F4xx/RTC/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/SDC/halconf.h b/testhal/STM32/STM32F4xx/SDC/halconf.h
index 10bdbe4bc..819712f1b 100644
--- a/testhal/STM32/STM32F4xx/SDC/halconf.h
+++ b/testhal/STM32/STM32F4xx/SDC/halconf.h
@@ -370,6 +370,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/SPI/halconf.h b/testhal/STM32/STM32F4xx/SPI/halconf.h
index e4f22f196..c5e41a26e 100644
--- a/testhal/STM32/STM32F4xx/SPI/halconf.h
+++ b/testhal/STM32/STM32F4xx/SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/UART/halconf.h b/testhal/STM32/STM32F4xx/UART/halconf.h
index bcf55cff1..ae6ea4423 100644
--- a/testhal/STM32/STM32F4xx/UART/halconf.h
+++ b/testhal/STM32/STM32F4xx/UART/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/USB_CDC/halconf.h b/testhal/STM32/STM32F4xx/USB_CDC/halconf.h
index a6298283f..6082eaf3f 100644
--- a/testhal/STM32/STM32F4xx/USB_CDC/halconf.h
+++ b/testhal/STM32/STM32F4xx/USB_CDC/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/USB_CDC_IAD/halconf.h b/testhal/STM32/STM32F4xx/USB_CDC_IAD/halconf.h
index a6298283f..6082eaf3f 100644
--- a/testhal/STM32/STM32F4xx/USB_CDC_IAD/halconf.h
+++ b/testhal/STM32/STM32F4xx/USB_CDC_IAD/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F4xx/WDG/halconf.h b/testhal/STM32/STM32F4xx/WDG/halconf.h
index 049735c62..66e95689c 100644
--- a/testhal/STM32/STM32F4xx/WDG/halconf.h
+++ b/testhal/STM32/STM32F4xx/WDG/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F7xx/GPT-ADC/halconf.h b/testhal/STM32/STM32F7xx/GPT-ADC/halconf.h
index 764998264..72ffff551 100644
--- a/testhal/STM32/STM32F7xx/GPT-ADC/halconf.h
+++ b/testhal/STM32/STM32F7xx/GPT-ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F7xx/IRQ_STORM/halconf.h b/testhal/STM32/STM32F7xx/IRQ_STORM/halconf.h
index 0ce49402e..01b6a1fbf 100644
--- a/testhal/STM32/STM32F7xx/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32F7xx/IRQ_STORM/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F7xx/PWM-ICU/halconf.h b/testhal/STM32/STM32F7xx/PWM-ICU/halconf.h
index b3fb0b105..ba087be73 100644
--- a/testhal/STM32/STM32F7xx/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32F7xx/PWM-ICU/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F7xx/SPI/halconf.h b/testhal/STM32/STM32F7xx/SPI/halconf.h
index 1e2c10b96..927022b05 100644
--- a/testhal/STM32/STM32F7xx/SPI/halconf.h
+++ b/testhal/STM32/STM32F7xx/SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F7xx/USB_CDC/halconf.h b/testhal/STM32/STM32F7xx/USB_CDC/halconf.h
index a6298283f..6082eaf3f 100644
--- a/testhal/STM32/STM32F7xx/USB_CDC/halconf.h
+++ b/testhal/STM32/STM32F7xx/USB_CDC/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32F7xx/USB_RAW/halconf.h b/testhal/STM32/STM32F7xx/USB_RAW/halconf.h
index dee0480d0..27d1d768c 100644
--- a/testhal/STM32/STM32F7xx/USB_RAW/halconf.h
+++ b/testhal/STM32/STM32F7xx/USB_RAW/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L0xx/ADC/halconf.h b/testhal/STM32/STM32L0xx/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32L0xx/ADC/halconf.h
+++ b/testhal/STM32/STM32L0xx/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L0xx/EXT/halconf.h b/testhal/STM32/STM32L0xx/EXT/halconf.h
index 3a3840097..79b816982 100644
--- a/testhal/STM32/STM32L0xx/EXT/halconf.h
+++ b/testhal/STM32/STM32L0xx/EXT/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L0xx/SPI/halconf.h b/testhal/STM32/STM32L0xx/SPI/halconf.h
index e4f22f196..c5e41a26e 100644
--- a/testhal/STM32/STM32L0xx/SPI/halconf.h
+++ b/testhal/STM32/STM32L0xx/SPI/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/ADC/halconf.h b/testhal/STM32/STM32L1xx/ADC/halconf.h
index 76fcff8d5..96aad4d8b 100644
--- a/testhal/STM32/STM32L1xx/ADC/halconf.h
+++ b/testhal/STM32/STM32L1xx/ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/DAC/halconf.h b/testhal/STM32/STM32L1xx/DAC/halconf.h
index 6ccdcf65b..b735ef4e7 100644
--- a/testhal/STM32/STM32L1xx/DAC/halconf.h
+++ b/testhal/STM32/STM32L1xx/DAC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/EXT/halconf.h b/testhal/STM32/STM32L1xx/EXT/halconf.h
index ab8f1b8e0..5db181e77 100644
--- a/testhal/STM32/STM32L1xx/EXT/halconf.h
+++ b/testhal/STM32/STM32L1xx/EXT/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/IRQ_STORM/halconf.h b/testhal/STM32/STM32L1xx/IRQ_STORM/halconf.h
index 5c7da5696..0f04f1107 100644
--- a/testhal/STM32/STM32L1xx/IRQ_STORM/halconf.h
+++ b/testhal/STM32/STM32L1xx/IRQ_STORM/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/PWM-ICU/halconf.h b/testhal/STM32/STM32L1xx/PWM-ICU/halconf.h
index e5e226e3b..7726127d8 100644
--- a/testhal/STM32/STM32L1xx/PWM-ICU/halconf.h
+++ b/testhal/STM32/STM32L1xx/PWM-ICU/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/SPI/halconf.h b/testhal/STM32/STM32L1xx/SPI/halconf.h
index 9ff0774cb..42ab69b99 100644
--- a/testhal/STM32/STM32L1xx/SPI/halconf.h
+++ b/testhal/STM32/STM32L1xx/SPI/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L1xx/UART/halconf.h b/testhal/STM32/STM32L1xx/UART/halconf.h
index 53cd21ac7..e15722846 100644
--- a/testhal/STM32/STM32L1xx/UART/halconf.h
+++ b/testhal/STM32/STM32L1xx/UART/halconf.h
@@ -363,6 +363,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L4xx/CAN/halconf.h b/testhal/STM32/STM32L4xx/CAN/halconf.h
index d98ac0e56..1a2a6b24d 100644
--- a/testhal/STM32/STM32L4xx/CAN/halconf.h
+++ b/testhal/STM32/STM32L4xx/CAN/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */
diff --git a/testhal/STM32/STM32L4xx/GPT-ADC/halconf.h b/testhal/STM32/STM32L4xx/GPT-ADC/halconf.h
index 764998264..72ffff551 100644
--- a/testhal/STM32/STM32L4xx/GPT-ADC/halconf.h
+++ b/testhal/STM32/STM32L4xx/GPT-ADC/halconf.h
@@ -356,6 +356,18 @@
#define UART_USE_MUTUAL_EXCLUSION FALSE
#endif
+/*===========================================================================*/
+/* USB driver related settings. */
+/*===========================================================================*/
+
+/**
+ * @brief Enables synchronous APIs.
+ * @note Disabling this option saves both code and data space.
+ */
+#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
+#define USB_USE_WAIT FALSE
+#endif
+
#endif /* _HALCONF_H_ */
/** @} */