diff --git a/boards/stm32f723e-disco/Kconfig b/boards/stm32f723e-disco/Kconfig index 1fc13de566..4621f6a6da 100644 --- a/boards/stm32f723e-disco/Kconfig +++ b/boards/stm32f723e-disco/Kconfig @@ -22,6 +22,7 @@ config BOARD_STM32F723E_DISCO select HAS_PERIPH_UART select HAS_PERIPH_UART_HW_FC select HAS_PERIPH_USBDEV + select HAS_PERIPH_USBDEV_HS select HAS_PERIPH_USBDEV_HS_UTMI # Put other features for this board (in alphabetical order) diff --git a/boards/stm32f723e-disco/Makefile.features b/boards/stm32f723e-disco/Makefile.features index 45efd116ec..7ee69ea0c1 100644 --- a/boards/stm32f723e-disco/Makefile.features +++ b/boards/stm32f723e-disco/Makefile.features @@ -11,6 +11,7 @@ FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart FEATURES_PROVIDED += periph_uart_hw_fc FEATURES_PROVIDED += periph_usbdev +FEATURES_PROVIDED += periph_usbdev_hs FEATURES_PROVIDED += periph_usbdev_hs_utmi # Put other features for this board (in alphabetical order) diff --git a/boards/stm32f746g-disco/Kconfig b/boards/stm32f746g-disco/Kconfig index 18fbf0842f..94adb26dbc 100644 --- a/boards/stm32f746g-disco/Kconfig +++ b/boards/stm32f746g-disco/Kconfig @@ -23,6 +23,7 @@ config BOARD_STM32F746G_DISCO select HAS_PERIPH_TIMER select HAS_PERIPH_UART select HAS_PERIPH_USBDEV + select HAS_PERIPH_USBDEV_HS select HAS_PERIPH_USBDEV_HS_ULPI select HAS_TINYUSB_DEVICE diff --git a/boards/stm32f746g-disco/features-shared.mk b/boards/stm32f746g-disco/features-shared.mk index ad20ec6fe5..7678cd7dca 100644 --- a/boards/stm32f746g-disco/features-shared.mk +++ b/boards/stm32f746g-disco/features-shared.mk @@ -9,5 +9,6 @@ FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart FEATURES_PROVIDED += periph_usbdev +FEATURES_PROVIDED += periph_usbdev_hs FEATURES_PROVIDED += periph_usbdev_hs_ulpi FEATURES_PROVIDED += tinyusb_device diff --git a/boards/stm32f7508-dk/Kconfig b/boards/stm32f7508-dk/Kconfig index 5573789d53..7c0ee5a55f 100644 --- a/boards/stm32f7508-dk/Kconfig +++ b/boards/stm32f7508-dk/Kconfig @@ -23,6 +23,7 @@ config BOARD_STM32F7508_DK select HAS_PERIPH_TIMER select HAS_PERIPH_UART select HAS_PERIPH_USBDEV + select HAS_PERIPH_USBDEV_HS select HAS_PERIPH_USBDEV_HS_ULPI select HAS_TINYUSB_DEVICE diff --git a/drivers/Makefile.dep b/drivers/Makefile.dep index 66dedfe1c1..7942346088 100644 --- a/drivers/Makefile.dep +++ b/drivers/Makefile.dep @@ -142,10 +142,16 @@ endif ifneq (,$(filter periph_usbdev_hs_ulpi,$(USEMODULE))) FEATURES_REQUIRED += periph_usbdev_hs_ulpi + USEMODULE += periph_usbdev_hs endif ifneq (,$(filter periph_usbdev_hs_utmi,$(USEMODULE))) FEATURES_REQUIRED += periph_usbdev_hs_utmi + USEMODULE += periph_usbdev_hs +endif + +ifneq (,$(filter periph_usbdev_hs,$(USEMODULE))) + FEATURES_REQUIRED += periph_usbdev_hs endif ifneq (,$(filter pn532_i2c,$(USEMODULE))) diff --git a/kconfigs/Kconfig.features b/kconfigs/Kconfig.features index 1d3bc251b4..df855703cf 100644 --- a/kconfigs/Kconfig.features +++ b/kconfigs/Kconfig.features @@ -424,6 +424,11 @@ config HAS_PERIPH_USBDEV help Indicates that an USBDEV peripheral is present. +config HAS_PERIPH_USBDEV_HS + bool + help + Indicates that the USBDEV peripheral supports High-Speed. + config HAS_PERIPH_USBDEV_HS_UTMI bool help diff --git a/sys/include/usb/usbus/cdc/ecm.h b/sys/include/usb/usbus/cdc/ecm.h index 7ceb929397..5f99af2dde 100644 --- a/sys/include/usb/usbus/cdc/ecm.h +++ b/sys/include/usb/usbus/cdc/ecm.h @@ -76,7 +76,11 @@ extern "C" { * * Used for the transfer of network frames. */ +#ifndef MODULE_PERIPH_USBDEV_HS #define USBUS_CDCECM_EP_DATA_SIZE 64 +#else +#define USBUS_CDCECM_EP_DATA_SIZE 512 +#endif /** * @brief Full ethernet frame rounded up to a whole number of transfers