summaryrefslogtreecommitdiff
path: root/src/common/tusb_mcu.h
AgeCommit message (Collapse)Author
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-18dcd/ch58x: drive CH582/583 with shared dcd_ch32_usbfs.chathach
Replace PR #3515's separate dcd_ch58x_usbfs.c / hcd_ch58x_usbfs.c with the shared WCH USBFS device driver (combined per-endpoint control, like CH32V103), adding two CH58x-specific behaviors guarded so CH32V103/V20x/V307 are unchanged: - CH32_USBFS_EP_MANUAL_TOG: CH58x's hardware AUTO_TOG does not stay in sync, so the ISR toggles DATA0/DATA1 manually and discards toggle-mismatched OUT packets. Fixes multi-packet bulk-IN (e.g. MSC READ10) that otherwise hung. - CH32_USBFS_EP4_SHARES_EP0: EP4 has no DMA register and overlays EP0's region (EP0[0:63] + EP4 OUT[64:127] + EP4 IN[128:191]); add a 192-byte shared buffer and buffer-pointer helpers (transparent for the other parts). Fixes cdc_dual_ports (Port1 is on EP4). Add the ch582m_evt board. Device only on USB0 (rhport 0): the shared hcd_ch32_usbfs.c is CH32V20x-specific and cannot drive CH58x, so host / USB2 (rhport 1) is left commented out in the BSP for easy re-add. Verified on ch582m_evt via local 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-05-24Merge remote-tracking branch 'tinyusb/master' into stm32c5HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-05-22ch32v20x: fix port1 IP selectionHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-05-10add stm32c5 supportHiFiPHile
Signed-off-by: HiFiPHile <[email protected]>
2026-04-25Merge branch 'master' into musb-followup-3594hathach
# Conflicts: # src/common/tusb_types.h # src/portable/mentor/musb/dcd_musb.c
2026-04-22Add ESP32-S31 as a supported MCU in TinyUSBigor.masar
2026-04-21replace `TUD_ENDPOINT_ONE_DIRECTION_ONLY` with ↵hathach
`CFG_TUD_ENDPOINT_ONE_DIRECTION_ONLY` for improved configuration consistency across examples and core sources
2026-04-09Add initial board support for nRF54LM20 DKgab-k
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-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-16clean up fsdev symbolshathach
2026-03-10Merge pull request #3530 from hathach/hcd_ip3516Ha Thach
Add IP3516 HCD support
2026-03-06fix CIHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-03-06Merge remote-tracking branch 'tinyusb/master' into hcd_ip3516HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-02-27dcd/samx7x: synchronize DMA and cache optionsHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-01-09fix pre-commit, clean up tusb_mcu.h, add at32f45x to ci buildhathach
2026-01-09Merge branch 'master' into fork/zhiqiang-ch/masterhathach
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
2026-01-03fix build with dwc2hathach
2025-12-31update tu_fifo to work with fsdev hwfifo with increased address 16/32bithathach
2025-12-31Merge branch 'hathach:master' into masterzhiqiang-ch
2025-12-30support for the AT32F45X serieszhiqiang-ch
2025-12-26Do not randomly include stm32h7xx.hCédric Berger
Enable D-Cache unless we're compiling for the M4 core of a dual-core H7 mcu by directly testing CORE_CM4
2025-12-16Merge remote-tracking branch 'tinyusb/master' into support-nxp-rw612HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-12-16support hpmicro chipsZhihong Chen
Signed-off-by: Zhihong Chen <[email protected]>
2025-12-13update LPC54HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-12-13hcd: add NXP IP3516HiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-12-10hw/mcu: add support for NXP RW612gab-k
2025-11-26change tu_fifo_buffer_info_t layouthathach
2025-11-21add more unit tests for tu_fifohathach
2025-11-17make TUP_DCD_EDPT_ISO_ALLOC i.e dcd_edpt_iso_alloc()/dcd_edpt_iso_activate() ↵hathach
as default driver implementation. dcd_edpt_close() is deprecated and will be removed from all driver in the future.
2025-11-17make TUP_DCD_EDPT_ISO_ALLOC i.e dcd_edpt_iso_alloc()/dcd_edpt_iso_activate() ↵hathach
as default driver implementation. dcd_edpt_close() is deprecated and will be removed from all driver in the future.
2025-11-01Merge branch 'master' of https://github.com/hathach/tinyusbtswan22
2025-11-01add STM32U3 device (adjusted from STM32U0)tswan22
2025-10-30Merge branch 'master' into add-ohci-lpc55hathach
# Conflicts: - hw/bsp/lpc17/family.cmake - hw/bsp/lpc40/family.cmake - hw/bsp/lpc55/family.cmake
2025-10-15refactor spresense into cxd56. there is no orphan board in bsp.hathach
2025-10-15refactor all nuc to familyhathach
2025-10-15update nuc121/125hathach
2025-10-15merge samd2x and saml2x bsp, add OPT_MCU_SAML2X to replace OPT_MCU_SAML21 & ↵hathach
OPT_MCU_SAML22
2025-10-13get cmake build with 54h20 not tested on actual hw, probably not runninghathach
2025-10-10try to enable ohci for lpc55 but not working, probably clock issuehathach
2025-09-17use existing overloadable Pico SDK section macro instead of creating a ↵Peter Lawrence
custom one
2025-09-16Add ESP32-H4 as a supported MCU in TinyUSB and wire it into build/runtime:igor.masar
- tusb_option.h: define OPT_MCU_ESP32H4 - tusb_mcu.h: enable DWC2 USBIP for H4 - dcd_dwc2.c: add H4 USB_WRAP field aliases (wrap_* → legacy names) - dwc2_esp32.h: add H4 controller entry (FS base/IRQ, ep caps) - family.c: include H4 in USB init/PHY setup
2025-09-10Initial STM32WBARI eval supportDalton Caron
Clean up includes definitions Remove wait that is not required Remove redundant settings Clean up clock configuration to look like other modules Remove MSP_Init that is not required Clean up driver code dhcp: Fix DHCP_OFFER/DHCP_ACK destinaton. In RFC 2131, the destination of DHCP OFFER/ACK is defined in Section 4.1. Fix the destination error by following the rule of RFC 2131. TODO: We implement all rule but the last one. ARP table is required to associate client's macaddr. Currently, fallback to broadcast. Signed-off-by: Elwin Huang <[email protected]> Fix compile error. Fix goto indentation Co-authored-by: Copilot <[email protected]> Fix osal_spin_unlock for mynewt Mynewt version for osal_spin_unlock() called OS_ENTER_CRITICAL instead of OS_EXIT_CRITICAL. Signed-off-by: Jerzy Kasenberg <[email protected]> Add ESP32-C5 and ESP32-C61 definitions fix(dcd/dwc2): Fix reset procedure for versions >=4.20a Fix STM32L4 GPIOD clock enable for variants without GPIOD Add weact blackpill support Add to boards.rst file Fix file Small cleanups. Insert small delay for LowSpeed device Improve retry operation at NAK response. Remove dynamic memory allocation use tusb_time_millis_api() instead of board_millis() make loopdelay() always inline update at32f405 dwc2 info and phy width selection add at32f415 dwc2 info add some consumer page configs remove duplicated enum Initial plan Fix obsolete cnt assignment in _tu_fifo_peek() overflow check Co-authored-by: hathach <[email protected]> Initial plan Update STM32 CMSIS dependencies to fix HSITRIM register bug Co-authored-by: hathach <[email protected]> Remove accidentally committed dependency directories Co-authored-by: hathach <[email protected]> Update all STM32 HAL driver dependencies to latest versions Co-authored-by: hathach <[email protected]> fix linker h745 issue with clang fix linker h745 issue with clang Update all STM32 CMSIS device dependencies to latest versions Co-authored-by: hathach <[email protected]> update pio-usb Create comprehensive GitHub Copilot instructions and fix pre-commit configuration for TinyUSB (#3234) * Initial plan * Create comprehensive GitHub Copilot instructions for TinyUSB Co-authored-by: hathach <[email protected]> * Remove accidentally committed dependencies, use tools/get_deps.py instead Co-authored-by: hathach <[email protected]> * Fix .gitignore: ignore vendor/ directory not ceedling script Co-authored-by: hathach <[email protected]> * Revert .gitignore changes and add README_processed.rst Co-authored-by: hathach <[email protected]> * Remove README_processed.rst and revert ceedling file permissions Co-authored-by: hathach <[email protected]> * Changes before error encountered Co-authored-by: hathach <[email protected]> * Remove redundant manual validation step, keep only pre-commit and build validation Co-authored-by: hathach <[email protected]> * fix pre-commit --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hathach <[email protected]> modified the bsp files of at32 to make them work better the family name error of at32 has been corrected fix pre-commit STM32N6570-DK board is added. Build with DEBUG=1 (make BOARD=stm32n6570dk DEBUG=1 all), otherwise it does not work for now. Tested with examples/device/cdc_dual_ports
2025-08-15Add ESP32-C5 and ESP32-C61 definitionsScott Shawcroft
2025-08-05Fix AT32F405xx missing USB HS definitionpeppapighs