1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

Merge pull request #18926 from gschorcht/pkg/tinyusb_fix_speed_stm32

pkg/tinyusb: fix USB speed selection for STM32 boards with HS PHY
This commit is contained in:
benpicco 2022-11-18 10:41:06 +01:00 committed by GitHub
commit 29812d06cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 6 deletions

View File

@ -83,12 +83,24 @@ extern "C" {
#define TINYUSB_TUH_RHPORT 1
#endif
/*
* Only if the module `periph_usbdev_hs_utmi` or `periph_usbdev_hs_ulpi` is
* enabled for the HS port, a HS PHY is used and OPT_MODE_HIGH_SPEED must be
* set. Otherwise, the built-in on-chip FS PHY is used and
* OPT_MODE_DEFAULT_SPEED should be set so tinyUSB can select the correct speed.
*/
#if (MODULE_PERIPH_USBDEV_HS_UTMI || MODULE_PERIPH_USBDEV_HS_ULPI)
#define TINYUSB_OPT_SPEED OPT_MODE_HIGH_SPEED
#else
#define TINYUSB_OPT_SPEED OPT_MODE_DEFAULT_SPEED
#endif
/*
* Since tinyUSB does not support host mode for STM32 MCUs yet, only
* OPT_MODE_DEVICE is enabled for the port. Once tinyUSB supports the host mode,
* OPT_MODE_HOST could be added to CFG_TUSB_RHPORT1_MODE
*/
#define CFG_TUSB_RHPORT1_MODE (OPT_MODE_DEVICE | OPT_MODE_HIGH_SPEED)
#define CFG_TUSB_RHPORT1_MODE (OPT_MODE_DEVICE | TINYUSB_OPT_SPEED)
#else

View File

@ -251,10 +251,6 @@
*/
#define CFG_TUD_ENABLED MODULE_TINYUSB_DEVICE
#ifndef CFG_TUD_MAX_SPEED
#define CFG_TUD_MAX_SPEED OPT_MODE_DEFAULT_SPEED
#endif
#ifndef CFG_TUD_ENDPOINT0_SIZE
#define CFG_TUD_ENDPOINT0_SIZE CONFIG_TUSBD_EP0_SIZE
#endif

View File

@ -148,7 +148,7 @@ static int tinyusb_hw_init_dev(const dwc2_usb_otg_fshs_config_t *conf)
global_regs->GCCFG |= USB_OTG_GCCFG_PHYHSEN;
/* determine the PLL input clock of the USB HS PHY from HSE clock */
switch (CLOCK_HSE) {
switch (CONFIG_CLOCK_HSE) {
case 12000000:
USB_HS_PHYC->USB_HS_PHYC_PLL |= USB_HS_PHYC_PLL1_PLLSEL_12MHZ;
break;

View File

@ -93,6 +93,7 @@ BOARD_INSUFFICIENT_MEMORY := \
stk3600 \
stm32f030f4-demo \
stm32f0discovery \
stm32f3discovery \
stm32f7508-dk \
stm32g0316-disco \
stm32l0538-disco \