summaryrefslogtreecommitdiff
path: root/src/tusb_option.h
AgeCommit message (Collapse)Author
2026-07-19Merge pull request #3694 from rhgndf/py32f0Zixun LI
Puya PY32F07x support
2026-07-19improve validation structureHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-07-19cleanupJie Feng
2026-07-19add py32f0 supportJie Feng
2026-07-07gate acm_open descriptor bounds behind CFG_TUH_VALIDATION_LEVELJavid Khan
add a three-level TUSB_VALIDATION_NONE/BASIC/STRICT knob and default CFG_TUH_VALIDATION_LEVEL to BASIC, then make acm_open the first user so the enumeration bounds checks compile out at NONE for trusted-device setups and stay on by default.
2026-07-02license: use SPDX identifiers for src/ headers (#3749)Ha Thach
* license: use SPDX identifiers for src/ headers Replace the full ~20-line MIT license boilerplate on every src/ file with a two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500 lines of duplicated boilerplate.
2026-06-29Bump version to 0.21.0; rework changelog, contributors, and docshathach
Release: - Bump version to 0.21.0 and regenerate tusb_option.h, library.json, repository.yml, sonar-project.properties, boards.rst, dependencies.rst - Add 0.21.0 release notes and split the changelog into per-release files under docs/info/changelog/ (date out of title, driver/class groups as sub-headings, DCD & HCD section after Device/Host stacks) Contributors: - Credit each release's PR authors in a Contributors section - Drop the curated contributors page; add MAINTAINERS.rst Docs: - Update Code of Conduct to Contributor Covenant 3.0 (keep it in the repo, remove it from the built docs) - Sidebar: add a home entry, rename the group to "Documentation", move Changelog into it, add a GitHub Sponsor button, merge external links, rename FAQ; hide the inline toctree on the landing page - Add the make-release skill and update the AGENTS.md release process Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-22tusb_option: dedupe OPT_MCU_CH583 / make OPT_MCU_CH582 a token aliashathach
The CH58x->CH583 rename left OPT_MCU_CH583 defined twice at 2240 plus a second literal 2240 for OPT_MCU_CH582 -- a duplicate public MCU option macro (redefinition). Collapse to a single canonical OPT_MCU_CH583 and define OPT_MCU_CH582 as a token alias of it (matching the OPT_MCU_SAML21/MIMXRT10XX alias style), so there is one value and CH582 still selects the CH583 code path. Found by Codex review. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-22hw/bsp+wch: rename the CH58x family to ch583 and OPT_MCU_CH58X to OPT_MCU_CH583hathach
The BSP family and MCU option were named "ch58x"/"CH58X", but the supported part is the CH583/CH582 (and the SDK repo is openwch/ch583); CH585 is a separate MCU family, so the CH58x umbrella was misleading. Rename to the specific family: - hw/bsp/ch58x -> hw/bsp/ch583 (dir), and the BSP-local files ch58x_it.* -> ch583_it.*, system_ch58x.* -> system_ch583.* (include guards/refs updated). The vendor SDK files (CH58x_common.h, CH58x_*.c in hw/mcu/wch/ch583) keep their names. - OPT_MCU_CH58X -> OPT_MCU_CH583 in tusb_option.h, tusb_mcu.h, and the shared WCH USBFS driver (ch32_usbfs_reg.h, dcd_ch32_usbfs.c). OPT_MCU_CH582 is kept as an alias (same value), so either name selects the same code. - FAMILY_MCUS CH58X -> CH583, CFG_TUSB_MCU=OPT_MCU_CH583, mcu:CH58X -> mcu:CH583 in the example skip lists, the CI build matrix (ci_set_matrix.py), the get_deps family tag, and docs/reference/boards.rst. Board names (ch582m_evt, yd-ch582m) are unchanged. Verified: make + cmake build for ch582m_evt, and ci.lan HIL (all device examples pass). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-18Merge remote-tracking branch 'origin/master' into add-ch58x-usbfshathach
2026-06-11Merge remote-tracking branch 'origin/master' into stm32c5hathach
# Conflicts: # README.rst
2026-05-28abstract OS logic with `CFG_TUSB_OS_HAS_SCHEDULER` to simplify conditional ↵hathach
checks
2026-05-24Merge remote-tracking branch 'tinyusb/master' into stm32c5HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-05-17midi2: drain pattern for RX FIFOSaulo Veríssimo
Default RX/TX buffers to EPSIZE for both device and host. Document drain-in-loop on ump_read; example device callback drains until empty.
2026-05-17midi2: move config to class headerHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-05-12midi2: align descriptors with USB-MIDI 2.0 specSaulo Veríssimo
Brings the MIDI 2.0 device driver into full conformance with USB Device Class Definition for MIDI Devices v2.0 (USB-IF, May 2020). - Alt 1 MS Interface Header wTotalLength now reports 0x0007 per Table 5-2 ("set to match bLength"), replacing the prior 0x0011 carried over from USB-MIDI 1.0 conventions. - GET_DESCRIPTOR class request now validates bmRequestType direction, type and recipient plus wIndex and wValue high byte per Section 6. - iBlockItem in the default Group Terminal Block is driven by CFG_TUD_MIDI2_BLOCK_STRIDX so applications can attach a UI string descriptor to the block per Table 5-6. - UMP word byte order assumption (little-endian host per Section 3.2.2) is documented inline so future big-endian ports know where to wrap access with tu_htole32 / tu_le32toh. Validated on RP2040 and ESP32-P4 under Linux kernel 6.17: lsusb -v reports wTotalLength = 0x0007 on Alt 1 MS Header (raw bytes 07 24 01 00 02 07 00). amidi -l enumerates Group Terminals exposed via the class-specific GET_DESCRIPTOR response.
2026-05-12feat: add MIDI 2.0 Device class driver (USB-MIDI 2.0)Saulo Veríssimo
Add native USB-MIDI 2.0 Device class driver to TinyUSB. Implements the USB-MIDI 2.0 specification with both Alt Setting 0 (MIDI 1.0 fallback) and Alt Setting 1 (UMP native) descriptor support. Driver features: - UMP (Universal MIDI Packet) read/write with atomic message framing - Protocol negotiation: Endpoint Discovery, Config Request/Notify, Function Block Discovery (embedded in driver) - Group Terminal Block descriptor via GET_DESCRIPTOR - Alt Setting switch handler with endpoint re-arm - Static allocation, no dynamic memory, ISR-safe Build system: - Register midi2d_* in usbd.c driver table - Add TUD_MIDI2_DESCRIPTOR macros to usbd.h - Add config defaults (CFG_TUD_MIDI2_*) to tusb_option.h - Add midi2_ump_word_count() to midi.h (shared by Device and Host) - Add midi2_device.c/h to family.cmake and CMakeLists.txt - Add midi2_device.h include to tusb.h All changes guarded by #if CFG_TUD_MIDI2 (default 0). Zero impact on existing drivers and examples. Tested: Raspberry Pi Pico (RP2040), Linux ALSA, Windows MIDI Services
2026-05-10add stm32c5 supportHiFiPHile
Signed-off-by: HiFiPHile <[email protected]>
2026-04-22Add ESP32-S31 as a supported MCU in TinyUSBigor.masar
2026-03-22Remove unused defineCédric Berger
2026-03-19rp2 disable hwfifohathach
2026-03-18ch58x: fix build flags and driver bugsalt-0191
2026-03-18ch58x: fix MCU macro naming and add get_deps/boards entriesalt-0191
2026-03-18add WCH CH58x (CH582/CH583) BSP and USB FS device/host driveralt-0191
2026-03-16Unify USB FSDEV driver implementation for various microcontrollers. Replace ↵hathach
`FSDEV_BUS_32BIT` with `CFG_TUSB_FSDEV_32BIT`, adjust data/address stride macros, and refactor register/PMU access for consistency across platforms.
2026-03-13remove TUSB_MCU_VENDOR_ESPRESSIF, use ESP_PLATFORM for Espressifhathach
2026-03-07Merge pull request #3519 from hathach/samx7x_updateHa Thach
refresh dcd_samx7x
2026-03-06Merge remote-tracking branch 'tinyusb/master' into samx7x_updateHiFiPhile
2026-03-06Merge branch 'refs/heads/master' into fork/remiberthoz/device-class-printerhathach
2026-03-05Merge branch 'master' into fork/armusin/threadx_osalhathach
2026-02-27dcd/samx7x: synchronize DMA and cache optionsHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-02-26refactor, rename to schedule function with usbh_call_after_ms() to use with ↵hathach
enumeration delay
2026-02-22Merge branch 'hathach:master' into non-blocking-host-v2Cédric Berger
2026-02-13use CFG_TUD_CONFIGURE_DWC2_DEFAULT to make it easier to add more valuehathach
2026-02-13add CFG_TUD_VBUS_SENSE, that could allow to skip tud_configure() for fixed ↵hathach
vbus sensing simplify dwc2_stm32_gccfg_cfg() using guid value
2026-02-11Call continuation functions asynchronouslyCédric Berger
2026-02-09Merge branch 'hathach:master' into threadx_osalAleksei Musin
2026-02-05Merge pull request #3472 from hathach/u0_fixHa Thach
fix stm32u0 data stride
2026-02-05reverse pma size check to reduce duplicationhathach
2026-02-01Limit events processed by tud_task_ext() / tuh_task_ext()Cédric Berger
2026-01-26fix stm32u0 data strideZixun LI
Signed-off-by: Zixun LI <[email protected]>
2026-01-14Merge 'upstream/master' into device-class-printerRémi Berthoz
2026-01-09enable dedicated hwfifo for rp2hathach
2026-01-09Merge pull request #3448 from hathach/rp2-refactorHa Thach
Rp2 refactor
2026-01-09clean uphathach
2026-01-09Merge pull request #3442 from zhiqiang-ch/masterHa Thach
support for the AT32F45X series
2026-01-09Merge branch 'master' into fork/zhiqiang-ch/masterhathach
2026-01-08Fix tipo in tusb_option.hCédric Berger
2026-01-06Merge pull request #3441 from hathach/fifo-access-modeHa Thach
HWFIFO access-mode refactor and stride-aware FIFO fixes across FSDEV/RUSB2/MUSB
2026-01-06rename FSDEV_PMA_SIZE CFG_TUSB_FSDEV_PMA_SIZEhathach