summaryrefslogtreecommitdiff
path: root/src/portable/st
AgeCommit message (Collapse)Author
2026-06-18fix(stm32_fsdev): don't enable the unused USB wakeup EXTI IRQ (F1/F3/G4/L1)hathach
The classic-USB STM32 fsdev driver enabled the EXTI-line USB wakeup interrupt (USBWakeUp_IRQn, and USBWakeUp_RMP_IRQn on the F3 remap path) in the NVIC, but never uses it: resume is serviced in-band via ISTR.WKUP in the USB_LP/HP ISR, and the driver never arms or clears that EXTI line. The wakeup EXTI interrupt is only needed to wake the core from STOP mode, which TinyUSB does not implement. Leaving its NVIC vector enabled lets it fire spuriously into an unhandled or looping vector -- the freeze reported in #3696 on STM32G473. USBWakeUp_IRQn is a valid, dedicated USB-wakeup-via-EXTI interrupt (e.g. stm32g473xx.h: =42 "USB Wakeup through EXTI line"), not an "unrelated interrupt"; it is simply unused here. - Comment out USBWakeUp_IRQn for F1/F3/G4/L1 and USBWakeUp_RMP_IRQn on the F3 remap path, kept in place so STOP-mode wakeup is a one-line re-enable. - Keep the STM32L1 USBWakeUp_IRQn -> USB_FS_WKUP_IRQn alias for that re-enable. - Document the rationale in fsdev_stm32.h with a TODO. - Comment out the matching USBWakeUp(_RMP)_IRQHandler in the F1/F3/G4 BSPs, and the FreeRTOS NVIC_SetPriority(USBWakeUp_IRQn) on F1/G4. Fixes #3696 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-05-25optimize interrupt handling timeHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-05-10add stm32c5 supportHiFiPHile
Signed-off-by: HiFiPHile <[email protected]>
2026-04-23Merge pull request #3590 from ↵Ha Thach
hathach/copilot/extract-hcd-pma-buffer-errata-workaround Refactor STM32 FSDEV PMA errata delay into shared static inline helper and apply to DCD/HCD with overridable timing
2026-04-17use single volatile counterhathach
2026-04-17fix some Wconversion warningshathach
2026-04-10debloat the workaroundHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-04-10Allow STM32 FSDEV delay override macros to satisfy 32-bit guardcopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/b35badc2-444a-4329-b136-f314591cf693 Co-authored-by: HiFiPhile <[email protected]>
2026-04-10Restore errata context comment on inline delay helpercopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/8588a09c-d4e5-4284-8944-47ae4e2a2a1f Co-authored-by: HiFiPhile <[email protected]>
2026-04-10Make fsdev errata delay helper static inlinecopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/8588a09c-d4e5-4284-8944-47ae4e2a2a1f Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Polish FSDEV delay code readabilitycopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Clarify STM32U0 delay-default frequency usagecopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Simplify delay loop comment in shared FSDEV helpercopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Decouple DCON stabilize delay from BTABLE errata macrocopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Restore compile-time guard for STM32 FSDEV delay defaultscopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Document and polish shared FSDEV errata delay helpercopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-04-09Refactor STM32 FSDEV PMA errata delay into common helpercopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/3ec0d5b6-cb8e-48ff-8606-3371beb1efcb Co-authored-by: HiFiPhile <[email protected]>
2026-03-18fix bugs in fsdev hcd, dcd and midi host stream writehathach
- hcd_edpt_clear_stall: use ep_addr instead of hardcoded 0 (control endpoint) - hcd: add TUP_USBIP_FSDEV_DRD define for MCUs with host support (C0, G0, H5, U3, U5) and use it in hcd compile guard instead of enumerating MCUs - dcd_edpt_close_all: use FSDEV_EP_COUNT instead of CFG_TUD_ENDPPOINT_MAX for PMA btable offset to match handle_bus_reset - midi host tuh_midi_stream_write: add missing cable_num to system messages, SysEx, and real-time MIDI packets. Add 0xF mask for SysEx CIN checks. Aligns with midi_device.c tud_midi_n_stream_write implementation. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-16clean up fsdev symbolshathach
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-16Consolidate USB FSDEV register definitions for STM32, CH32, and AT32 ↵hathach
microcontrollers. Replace vendor-specific macros with unified `U_`-prefixed equivalents, ensuring consistency and reducing duplication across all platforms.
2026-02-27Merge remote-tracking branch 'tinyusb/master' into dwc2_deinitHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-02-05reverse pma size check to reduce duplicationhathach
2026-01-26fix stm32u0 data strideZixun LI
Signed-off-by: Zixun LI <[email protected]>
2026-01-24Fix macro directive for FSDEV of CH32V20xMitsumine Suzu
2026-01-06hcd/stm32_fsdev: fix init after device modeHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-01-06rename FSDEV_PMA_SIZE CFG_TUSB_FSDEV_PMA_SIZEhathach
2026-01-03add default access mode for tu_hwfifo API make it easier for non-custom ↵hathach
read/write
2026-01-03add tu_hwfifo_access_t param to hwfifo APIhathach
2026-01-01change signature of tu_hwfifo_* to have hwfifo as first parameterhathach
2025-12-31replace PMA buffer packet read/write by using tu_hwfifo APIhathach
2025-12-31add separate tu_hwifo_*() with data from buffer/software fifo. Remove ↵hathach
duplicated packet write/read for fsdev
2025-12-31update tu_fifo to work with fsdev hwfifo with increased address 16/32bithathach
2025-12-15minor clean uphathach
2025-11-28Fix deinit glitchHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-28Use one endpoint for EP0HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-27Add max nak configZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-27free previously allocated OUT endpoint if IN allocation failedZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-27Merge remote-tracking branch 'tinyusb/master' into hcd_fsdevZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-27Remove redundant EP reg clearZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-27Add fsdev_deinitZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-27extract core resetZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-26reorganize ctr_rx workaroundZixun LI
Signed-off-by: Zixun LI <[email protected]>
2025-11-26Merge remote-tracking branch 'tinyusb/master' into hcd_fsdevZixun LI
2025-11-26change tu_fifo_buffer_info_t layouthathach
2025-11-25hcd/fsdev: more refactorHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-25fsdev: reorganize functionsHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-25hcd: add fsdev driverHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-25dcd/fsdev: re-enable SBUF for STM32U0, no more issueZixun LI
2025-11-23stm32_fsdev: Fix missed cases in single-buffered isochronous endpoint support.milek7