| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-07-05 | Fix usbh empty builtin driver warning | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2026-07-02 | license: 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-22 | Merge remote-tracking branch 'tinyusb/master' into pr-osal-spin-deinit | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2026-06-22 | usbh: remove Pico specific comment | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2026-06-21 | fix(host): release spinlock in tuh_deinit to fix multi-rebuild panic | renjie | |
| tuh_rhport_init() calls osal_spin_init(&_usbh_spin), which under OPT_OS_PICO claims a hardware spinlock via critical_section_init(). There was no osal_spin_deinit(), so tuh_deinit() never released it: every host init/deinit cycle leaked one spinlock. RP2350 has a small spinlock pool, so a few usb_host rebuilds exhaust it and hw_claim_unused_from_range() panics (the long-standing "crashes on the 4th rebuild" bug). Add osal_spin_deinit() to all OSAL backends (critical_section_deinit for pico; no-op for none/freertos) and call it in tuh_deinit(). Verified 20/20 deinit+rebuild cycles on RP2350-Zero and Waveshare RP2350-USB-A (previously panicked on the 4th). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> | |||
| 2026-06-01 | CFG_TUH_CONTROL_PENDING_QUEUE_SZ defefault to 4 if hub is eanbled, 2 if not | hathach | |
| 2026-05-29 | Implement asynchronous control transfer queuing for USB host stack | hathach | |
| - Added a pending FIFO queue for asynchronous control transfers when the active slot is busy. - Introduced `control_xfer_dispatch_pending` to handle queued transfers on slot availability. - Improved synchronization for blocking and non-blocking transfer modes, preventing deadlocks in RTOS. - Refactored and renamed related functions for clarity and consistency. - Enhanced error handling and callback invocation for failed or stale transfers. | |||
| 2026-05-12 | feat: add MIDI 2.0 Host class driver (USB-MIDI 2.0) | Saulo Veríssimo | |
| Add native USB-MIDI 2.0 Host class driver to TinyUSB. Implements reactive architecture: enumerate, detect MIDI 2.0 capability, inform application via callbacks. Driver features: - Parse both Alt Setting 0 (MIDI 1.0) and Alt Setting 1 (UMP) - Detect bcdMSC version from descriptor - Auto-select highest protocol (Alt 1 preferred if available) - UMP read/write via endpoint streams - Proper Audio Control interface skip (loop-based, following midi_host.c pattern) - Endpoint open with tuh_edpt_open/tu_edpt_stream_open/clear - usbh_driver_set_config_complete for USBH state machine - Handle Audio Control itf_num in set_config gracefully - 5 weak callback stubs (descriptor, mount, unmount, rx, tx) Build system: - Register midih2_* in usbh.c driver table - Add midi2_host.h include to tusb.h - Add CFG_TUH_MIDI2_LOG_LEVEL to tusb_option.h All changes guarded by #if CFG_TUH_MIDI2 (default 0). Zero impact on existing drivers and examples. Tested: Waveshare RP2350-USB-A (Host) receiving UMP from Raspberry Pi Pico (Device) via PIO-USB, board-to-board | |||
| 2026-05-04 | refactor: replace `tu_edpt_state_t` struct with `uint8_t` and update all ↵ | hathach | |
| endpoint state handling methods and accesses | |||
| 2026-03-22 | False negative in tuh_task_event_ready() | Cédric Berger | |
| 2026-03-22 | False positive in tuh_task_event_ready() | Cédric Berger | |
| 2026-03-22 | We must wait at least the requested amount | Cédric Berger | |
| 2026-03-09 | fix(usbh): correct memcpy usage to ensure proper alignment with `offsetof` ↵ | hathach | |
| in device descriptor handling | |||
| 2026-03-09 | refactor: add desc_device_noheader_t to simplify get device descriptor local | hathach | |
| 2026-03-09 | usbh device descriptor validation, also check ep size > 0 | hathach | |
| 2026-03-04 | Merge branch 'master' into dwc2_deinit | hathach | |
| 2026-03-02 | more call_after timeout adjustment with rtos | hathach | |
| 2026-03-02 | improve timeout adjustment, exit tuh_task() by timeout_ms = 0 | hathach | |
| 2026-03-02 | fix call_after timeout adjustment with rtos | hathach | |
| 2026-03-02 | - rename to usbh_defer_func_ms_async() | hathach | |
| - call after (enum non-blocking delay) also support rtos now | |||
| 2026-02-28 | replace board_millis() with tusb_time_millis_api() | hathach | |
| 2026-02-27 | add back deferred attachment queue, retry get hub port status if reset ↵ | hathach | |
| change not set after 20ms | |||
| 2026-02-27 | Merge remote-tracking branch 'tinyusb/master' into dwc2_deinit | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2026-02-26 | fix fallthrough | hathach | |
| 2026-02-26 | revert usbh dedicated queue for attached event | hathach | |
| 2026-02-26 | refactor, rename to schedule function with usbh_call_after_ms() to use with ↵ | hathach | |
| enumeration delay | |||
| 2026-02-22 | Merge branch 'hathach:master' into non-blocking-host-v2 | Cédric Berger | |
| 2026-02-14 | add(usbh.c): LOG1 debug message when no address available for hub | Roman Leonov | |
| 2026-02-11 | Put deferred attachments in a separate queue | Cédric Berger | |
| 2026-02-11 | Call continuation functions asynchronously | Cédric Berger | |
| 2026-02-11 | Split functions calling tusb_time_delay_ms_api() | Cédric Berger | |
| 2026-02-01 | Actually exit the loop in addition to logging. ENOTENOUGHCOFFEE | Cédric Berger | |
| 2026-02-01 | Limit events processed by tud_task_ext() / tuh_task_ext() | Cédric Berger | |
| 2026-01-06 | catch deinit error | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2026-01-03 | fix rusb2 hcd_port_connect_status() using line state, add post root reset ↵ | hathach | |
| delay for stable speed detection | |||
| 2025-12-15 | minor update | hathach | |
| 2025-12-15 | Merge branch 'refs/heads/master' into enum_catch | hathach | |
| 2025-12-11 | move host hacked bulk mps out of tu_edpt_validate() | hathach | |
| 2025-12-11 | refactor usbh_class_driver_t's open() to return number of driver len instead ↵ | hathach | |
| of bool. help to simplify parsing configuration | |||
| 2025-11-27 | usbh: detach existing device first if an attach event is received | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-11-26 | usbh: watch hub status before driver config | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-11-26 | usbh: Stop enumeration gracefully if EP0 can't be open | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-11-07 | fix more alerts found by pvs-studio | hathach | |
| 2025-11-03 | fix more warnings/alerts | hathach | |
| 2025-09-18 | set driver count to 0 | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-09-17 | Update weak callbacks to new syntax | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-09-12 | ehci: fix removed qhd get reused | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-09-12 | Fix some IAR warnings | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-06-30 | Merge branch 'master' into fork/HiFiPhile/async_io | hathach | |
| 2025-06-22 | Merge branch 'master' into async_io | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
