summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)Author
2026-07-19Merge pull request #3757 from rhgndf/at32f403a_larger_pmaZixun LI
Larger at32f403a PMA area
2026-07-19add py32f0 supportJie Feng
2026-07-09dcd: route samd/rusb2/ip3511/nrf5x through iso alloc/activatehathach
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
2026-07-06Set larger AT32 FSDEV PMA areaJie Feng
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-24typec: add stm32u5 supportHiFiPhile
Signed-off-by: HiFiPhile <[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-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-06-11Merge remote-tracking branch 'origin/master' into stm32c5hathach
# Conflicts: # README.rst
2026-05-29Merge branch 'master' into usbh-add-control-queuehathach
2026-05-29Implement asynchronous control transfer queuing for USB host stackhathach
- 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-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-05-04refactor: replace `tu_edpt_state_t` struct with `uint8_t` and update all ↵hathach
endpoint state handling methods and accesses
2026-04-25Merge branch 'master' into musb-followup-3594hathach
# Conflicts: # src/common/tusb_types.h # src/portable/mentor/musb/dcd_musb.c
2026-04-25clean uphathach
2026-04-24Merge pull request #3597 from canokeys/big-endian-for-setup-packetsZixun LI
fix #3596: big-endian host support for SETUP packet handling
2026-04-23Merge pull request #3601 from hathach/fix-conversion-warningsHa Thach
Fix some -Wconversion warnings
2026-04-22Add ESP32-S31 as a supported MCU in TinyUSBigor.masar
2026-04-21optimize pipe_state_t sram for port with CFG_TUD_ENDPOINT_ONE_DIRECTION_ONLY.hathach
separate process_edpt_n() to process_epin() and process_epout()
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-17remove duplicated tu_le16toh since we have converted the endian when setup.Fan DANG
2026-04-17fix some Wconversion warningshathach
2026-04-14Merge branch 'hathach:master' into big-endian-for-setup-packetsDang Fan
2026-04-13introduce two more macros to follow tinyusb's styleFan DANG
2026-04-13fix(device): big-endian host support for SETUP packet handlingFan DANG
1. Add TU_LITTLE_ENDIAN_BITFIELD / TU_BIG_ENDIAN_BITFIELD macros in tusb_compiler.h (GCC and IAR), following Linux kernel style. 2. Update bmAttributes (tusb_desc_endpoint_t) and bmRequestType_bit (tusb_control_request_t) in tusb_types.h to use these macros with explicit #error fallback if undefined. 3. Add tu_le16toh() conversion in dcd_event_setup_received() for wValue/wIndex/wLength. Tested on CIU98320B (big-endian ARM Cortex-M, full-speed HID keyboard).
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-13remove TUSB_MCU_VENDOR_ESPRESSIF, use ESP_PLATFORM for Espressifhathach
2026-03-12refactor(config): separate endpoint buffer sizes into RX and TX definitions ↵hathach
for clarity and flexibility
2026-03-11rename .rx_multiple_packet_transfer to .rx_need_zlphathach
2026-03-11Merge branch 'master' into zlp-hs-on-fshathach
2026-03-11Merge pull request #3545 from hathach/remove-div-tusb-fifoHa Thach
remove expensive div in HWFIFO_ADDR_NEXT_N()
2026-03-10Merge pull request #3530 from hathach/hcd_ip3516Ha Thach
Add IP3516 HCD support
2026-03-10remove expensive div in HWFIFO_ADDR_NEXT_N()hathach
2026-03-09refactor: add desc_device_noheader_t to simplify get device descriptor localhathach
2026-03-09usbh device descriptor validation, also check ep size > 0hathach
2026-03-08tinyusb: fix hwfifo PMA pointer advance on ring buffer wrapSiddharth Chandrasekaran
In hwff_push_n() and hwff_pull_n(), the HWFIFO_ADDR_NEXT_N call after processing the linear part of a wrap-around read/write used the data byte count (lin_even) as the address stride increment. On STM32 FSDEV PMA, data_stride=2 and addr_stride=4, so the pointer must advance by (lin_even / data_stride) * addr_stride bytes, not lin_even bytes. Fixes: 74e59e433 ("fix hwfifo pull/push n with address stride > 0") Signed-off-by: Siddharth Chandrasekaran <[email protected]>
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-03-06Merge remote-tracking branch 'tinyusb/master' into samx7x_updateHiFiPhile
2026-03-05add IAR warning flags to cmake build and fix themhathach
2026-03-04Merge branch 'master' into dwc2_deinithathach
2026-02-28replace board_millis() with tusb_time_millis_api()hathach
2026-02-27add osal_time_millis() to osal requirementhathach
implement tusb_time_millis_api() with osal_time_millis() when OS is not NONE