Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds TinyUSB support scaffolding for the new STM32C5 family (HAL2-based drivers) by wiring the MCU option into the STM32 FSDEV backend, adding a BSP/board definition, and updating dependency fetching + CI/docs accordingly.
Changes:
- Introduce
OPT_MCU_STM32C5and enable STM32 FSDEV (DRD, 2KB PMA) configuration paths for STM32C5. - Add STM32C5 BSP support (make/cmake build files, family implementation, Nucleo-C542 board files, HAL/FreeRTOS config headers).
- Update dependency lists, CI build matrix, board/docs lists, and example allowlists to include STM32C5.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/get_deps.py | Adds STM32C5 DFP/driver repos and tags STM32C5 under CMSIS_6 fetching. |
| src/tusb_option.h | Adds OPT_MCU_STM32C5 MCU option. |
| src/portable/st/stm32_fsdev/fsdev_stm32.h | Adds STM32C5 header include, IRQ mapping, and CPU MHz setting for FSDEV. |
| src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c | Documents STM32C5 FSDEV characteristics. |
| src/common/tusb_mcu.h | Enables FSDEV+DRD configuration for STM32C5 with 2KB PMA. |
| README.rst | Lists STM32C5 under supported STM32 FSDEV parts. |
| hw/bsp/stm32c5/stm32c5xx_hal_conf.h | Adds STM32C5 HAL2 configuration header template. |
| hw/bsp/stm32c5/FreeRTOSConfig/FreeRTOSConfig.h | Adds FreeRTOS configuration for STM32C5 BSP. |
| hw/bsp/stm32c5/family.mk | Adds make-based build support for STM32C5 family. |
| hw/bsp/stm32c5/family.cmake | Adds CMake build integration for STM32C5 family. |
| hw/bsp/stm32c5/family.c | Adds STM32C5 board API implementation (clock, GPIO, UART, USB IRQ forwarding). |
| hw/bsp/stm32c5/boards/stm32c542nucleo/board.mk | Defines STM32C542 Nucleo variant flags and linker script for make builds. |
| hw/bsp/stm32c5/boards/stm32c542nucleo/board.h | Adds STM32C542 Nucleo pinout and clock init. |
| hw/bsp/stm32c5/boards/stm32c542nucleo/board.cmake | Adds STM32C542 Nucleo compile definitions and linker script paths for CMake. |
| hw/bsp/BoardPresets.json | Adds configure/build presets for stm32c542nucleo. |
| examples/host/msc_file_explorer/only.txt | Allows running this host example on STM32C5. |
| examples/host/midi_rx/only.txt | Allows running this host example on STM32C5. |
| examples/host/device_info/only.txt | Allows running this host example on STM32C5. |
| examples/host/cdc_msc_hid/only.txt | Allows running this host example on STM32C5. |
| examples/host/cdc_msc_hid_freertos/only.txt | Allows running this host example on STM32C5. |
| examples/host/bare_api/only.txt | Allows running this host example on STM32C5. |
| examples/dual/dynamic_switch/only.txt | Allows running this dual-role example on STM32C5. |
| examples/device/printer_to_cdc/CMakePresets.json | Adds preset include file for BoardPresets reuse. |
| examples/device/cdc_msc_throughput/CMakePresets.json | Adds preset include file for BoardPresets reuse. |
| docs/reference/dependencies.rst | Documents STM32C5 DFP/drivers and CMSIS_6 usage in dependencies list. |
| docs/reference/boards.rst | Adds stm32c542nucleo to the boards reference list. |
| .github/workflows/ci_set_matrix.py | Adds stm32c5 to CI toolchain matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
TinyUSB Average Code Size Metrics
Input files
|
Signed-off-by: HiFiPHile <admin@hifiphile.com>
|
Signed-off-by: HiFiPHile <admin@hifiphile.com>
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.
stm32c5 uses HAL2 new driver which is a bit different.