Conversation
Collaborator
|
Thank you, LGTM. |
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for the STM32U3 microcontroller family to TinyUSB. The STM32U3 uses the FSDEV (Full-Speed Device) USB peripheral similar to other STM32 U-series microcontrollers.
Key Changes
- Added STM32U3 MCU option definition (OPT_MCU_STM32U3 = 321)
- Configured STM32U3 to use the stm32_fsdev driver with 2KB PMA buffer, 32-bit bus, and 8 endpoints
- Added STM32U3 USB interrupt configuration (USB_FS_IRQn)
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/tusb_option.h | Added OPT_MCU_STM32U3 definition (value 321) to the STM32 MCU enumeration |
| src/common/tusb_mcu.h | Configured STM32U3 to use FSDEV driver with 8 endpoints |
| src/portable/st/stm32_fsdev/fsdev_stm32.h | Added STM32U3 register mappings and USB_FS_IRQn interrupt configuration |
| README.rst | Updated supported CPU table to include STM32U3 with device support using stm32_fsdev driver |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe the PR
Added the USB device for the STM32U3 using
stm32_fsdev.Additional context
hw/bspFSDEV_HAS_SBUF_ISO 1in fsdev_stm32.h though this has not been tested.0in STM32U0 but1in STM32U5. This ultimately translates toFSDEV_USE_SBUF_ISO 1which is used in dcd_stm32_fsdev.c, but I don't quite know what it does. Since STM32U3 is between the others in terms of capability I figured it would be capable of it.Family Code
I am not using the tinyusb
hw/bspsetup in my project but I do have a minimum setup code which I will add here, I am not sure if I should add this somewhere else but it may be useful for anyone adding a board in the future. Sorry the GPIO config does not use HAL since it is generated from another tool, but it can likely be replaced withHAL_GPIO_Init(...).