| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-07-29 | also added rp2usb_deinit() call to hcd_deinit() | Geurt Vos | |
| 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-05-15 | rp2040: fix host SET_REPORT (and any OUT-data control xfer) sending DATA0 ↵ | Boris Dolgov | |
| instead of DATA1 hcd_edpt_xfer() previously reset ep->next_pid to 1 only when the control endpoint direction changed between stages. That handled IN-data control transfers (e.g. GET_REPORT, GET_DESCRIPTOR) where SETUP is OUT and DATA is IN, but not OUT-data class requests like SET_REPORT, where SETUP and DATA are both OUT and the direction-change check is false. ep->next_pid was left at 0 from hcd_edpt_open(), so the DATA stage went on the wire as DATA0 when the device expected DATA1. Strict devices (observed: Elgato Stream Deck) treat this as a protocol violation and disconnect. Key off "endpoint 0" instead of "direction changed", restoring the previous behavior. Interrupt/bulk endpoints take the ep->interrupt_num > 0 branch above and never reach this code, so they are unaffected. | |||
| 2026-04-01 | reduce code size, use state to replace active + pending | hathach | |
| 2026-03-31 | finally get rp2040 host epx working with 2-sof solution for switching | hathach | |
| 2026-03-30 | hcd rp2 add double buffered for control endpoint transfers. | hathach | |
| 2026-03-28 | rp2 common refactor | hathach | |
| 2026-03-28 | host epx clean up | hathach | |
| 2026-03-27 | refactor | hathach | |
| 2026-03-27 | rename and clean up | hathach | |
| 2026-03-26 | implement ping-pong double buffered for both tx and rx | hathach | |
| 2026-03-25 | update hcd to handle interrupt per buf | hathach | |
| 2026-03-23 | add rp2040 sof + stop_trans on nak. increase nak_poll fs/ls delay to 300 us ↵ | hathach | |
| to prevent xfer is ack while stopping. | |||
| 2026-03-20 | clean up | hathach | |
| 2026-03-20 | Add support for EPX preemption on RP2350 during NAK conditions | hathach | |
| 2026-03-19 | Add EPX transfer scheduling when hcd_edpt_xfer() is called while epx is busy | hathach | |
| 2026-01-16 | revert back to shared hw_endpoint_t | hathach | |
| 2026-01-16 | rename | hathach | |
| 2026-01-16 | rename | hathach | |
| 2026-01-16 | implement hcd_device_close() | hathach | |
| 2026-01-16 | refactor hcd, get both control and interrupt endpoint working | hathach | |
| 2026-01-15 | draft: hcd control work | hathach | |
| 2026-01-09 | enable dedicated hwfifo for rp2 | hathach | |
| 2026-01-09 | clean up | hathach | |
| 2026-01-09 | only apply errata E5 and E15 for rp2040. rp2350 already fixes these | hathach | |
| 2026-01-08 | fix hcd force_single mistake by refactor | hathach | |
| 2026-01-08 | minor clean up | hathach | |
| 2026-01-08 | change signature for hwep_buf_ctrl_* to take pointer to buf control instead ↵ | hathach | |
| of hwep | |||
| 2026-01-07 | remove hw_endpoint_t rx, rename/change signature of helper functions | hathach | |
| 2026-01-07 | refactor remove endpoint_control/buffer_control from hw_endpoint_t | hathach | |
| 2025-03-26 | added hcd_edpt_close() stub for other ports | hathach | |
| 2025-02-28 | fix(hcd_rp2040) assert/panic endpoint already active: when a device reset ↵ | hathach | |
| while having on-going control transfer | |||
| 2024-10-14 | change the tusb_rhport_init_t struct, exclude the rhport to make API more ↵ | hathach | |
| consistent | |||
| 2024-10-11 | hcd_init() take init struct | hathach | |
| 2024-04-08 | add class driver deinit | hathach | |
| 2024-04-08 | Implements tuh_deinit() and tud_deinit() to uninitialize host/device mode. | Felix "xq" Queißner | |
| 2024-03-29 | fix rp2 debug build with level 3 | hathach | |
| 2023-12-26 | allow rp2040 to use max3421e as host controller | hathach | |
| - fix warnings build hcd max3421 with rp2040 - add tinyusb_host_max3421 target for rp2040 cmake, -DMAX3421_HOST=1 will enable this - add max3421 driver implementation for rp2040 family - update tusb_config for host to allow easy enable host selection for rp2040 (default/pio-usb/max3421) | |||
| 2023-09-27 | change hcd_int_handler(rhport, in_isr) signature: add in_isr | hathach | |
| change tuh_int_handler() to take in_isr as optional parameter (default = true) | |||
| 2023-08-04 | Merge branch 'master' into master | Ha Thach | |
| 2023-07-26 | correct hcd_edpt_clear_stall() API signature | hathach | |
| 2023-07-21 | add stub hcd_edpt_abort_xfer() for all ports | hathach | |
| 2023-07-02 | made line ends consistent. | Lars Pötter | |
| 2023-04-20 | [rp2040] Make writes to SIE_CTRL aware of concurrent access | Jacek Fedorynski | |
| This commit makes it so that when setting the START_TRANS bit in the SIE_CTRL register, along with some other bits, we first set all the other bits, then wait some cycles, and then set the START_TRANS bit. Doing so protects against a situation where the USB controller is reading the register at the same time and gets an incorrect value. This mirrors the procedure already applied to buffer control registers. | |||
| 2023-03-17 | Merge branch 'master' into portability | hathach | |
| 2023-01-23 | rp2040: export hw_endpoint_start_next_buffer() and hw_endpoint_lock_update() | Jonathan Bell | |
| The next change to the driver requires the export of these functions. Leave the lock unimplemented for now. Also move hw_set and hw_clear aliases into the top-level header file. | |||
| 2022-11-30 | white spaces | hathach | |
| 2022-11-04 | fix -wconversion-int and add minor comment | hathach | |
| 2022-11-04 | Merge branch 'master' into rp2040-hcd-bulk | Ha Thach | |
| 2022-09-13 | Remove unreachable code | Ben Avison | |
| IAR generates warning Pe111 'statement is unreachable'. In a couple of cases, replace return statements with TU_ATTR_FALLTHROUGH; because some compilers apparently can't figure out that the return statements are unreachable but do whinge about an imagined fall-through without them! | |||
