summaryrefslogtreecommitdiff
path: root/src/common/tusb_types.h
AgeCommit message (Collapse)Author
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-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-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-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-17fix some Wconversion warningshathach
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-03-12refactor(config): separate endpoint buffer sizes into RX and TX definitions ↵hathach
for clarity and flexibility
2026-03-09refactor: add desc_device_noheader_t to simplify get device descriptor localhathach
2026-01-12Fix compiler warningGabriel Chouinard
2025-11-27change tud_vendor_rx_cb() behavior, buffer and bufsize only available when ↵hathach
CFG_TUD_VENDOR_RX_BUFSIZE = 0 update vendor device to omit ep buf when dedicated hwfifo is supported
2025-11-07Prevent tu_edpt_number() from returning an invalid endpoint numberLwazi Dube
2025-11-04Fixed more alert found by PVS-Studiohathach
2025-11-03fixing alert by scanning toolhathach
2025-11-03fix #2942, include stdio if CFG_TUSB_DEBUG > 0 and CFG_TUSB_DEBUG_PRINTF is ↵hathach
not defined
2025-10-28fix descriptor warning when shifting zerohathach
2025-10-24fix more warningshathach
2025-10-16fix some warnings detected by pvs-studiohathach
2025-08-02use tu_desc_in_bounds() for descriptor loophathach
2025-07-05Use DMA enable for DCache conditionHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-07-03Merge branch 'master' into fork/HiFiPhile/stm32_cachehathach
2025-06-20usbh make TU_API_SYNC() public, to implement sync() API, change return of ↵hathach
sync API from uint8_t to tusb_xfer_result_t
2025-06-18usbh: add new API tuh_descriptor_get_device_local()hathach
cdc host: remove the local desc_dev and the get_device descriptor call for ftdi and pl2303
2025-06-13Add cache line size alignment to buffer macroHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-05-16follow up to pr3118, interface also end with IAD. Add more checkshathach
2025-03-05Merge branch 'master' into fork/atoktoto/midihosthathach
# Conflicts: # src/host/usbh.c
2025-03-03- add tuh_descriptor_get_string_langid() APIhathach
- host enumeration always get language id, manufacturer, product and serial string. Which is required by some device such as 8bitdo
2025-02-24add tuh_midi_descriptor_cb()hathach
2025-02-17usbh always retry control transfer (max 3) in case of XFER_RESULT_FAILED.hathach
added tuh_connected()
2024-11-27Fix missing protoype warning, change TUD_EPBUF_TYPE_DEF order (#2889)Ha Thach
* change TUD_EPBUF_TYPE_DEF order * add and fix -Wmissing-prototypes warnings for cmake (skip make)
2024-11-26msc host work ok with p4 dmahathach
2024-11-25change dcd_dcache_*() API return type from void to boolhathach
2024-11-22TUD_EPBUF_TYPE_DEF ncm_devicehathach
2024-11-22apply TUD_EPBUF_DEF for device: bth, dfu, hid, mschathach
2024-11-21use TUD_EPBUF_DEF to declare buffer memory for midihathach
2024-11-04add tusb_time_millis_api() and default/weak tusb_time_delay_ms_api(). Which ↵hathach
is required for host and some device without RTOS.
2024-10-29update handle in/out, separate allocated and xfer result to make it easier ↵hathach
to manage. Fix channel disable/deallocated.
2024-10-25more progress on dwc2 hcd, initial code for edpt xferhathach
2024-10-18testing hcd with f723 due to h743eval issue with mfx vbus drive.hathach
2024-10-14change the tusb_rhport_init_t struct, exclude the rhport to make API more ↵hathach
consistent
2024-10-11change tusb_init(), tusb_rhport_init() to use init struct for expandabilityhathach
2024-10-10add new tusb_int_handler(rhport, in_isr) as common irq handlerhathach
update tusb_init() to take rhport and role, defined as macro with optional argument for backward compatible
2024-07-12simplify dwc2 test modehathach
- all dwc2 ip seems to support test mode in both fs/hs -> remove TUP_USBIP_DWC2_TEST_MODE - remove dcd_check_test_mode_support(), all should be supported - move enum tusb_feature_test_mode_t to tusb_types.h
2024-04-10remove the usage of TU_BIT() and TU_GENMASK() from tusb_types.hhathach
2024-01-26rename and add more video descriptorshathach
use struct to define uvc descriptor for video_capture since uvc is rather too complicated to use macro templates
2024-01-25minor update to video capture examplehathach
2023-06-12ad pd_types.hhathach
2023-06-12response with request safe5v, get passed PS_READYhathach