| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-07-29 | rp2xxx: added rp2usb_deinit() to fix 'No spinlocks are available' | Geurt Vos | |
| 2026-07-09 | dcd(rp2040): re-issue in-flight transfer on clear-halt toggle reset | hathach | |
| Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg | |||
| 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-04-02 | Apply suggestion from @Copilot | Ha Thach | |
| Co-authored-by: Copilot <[email protected]> | |||
| 2026-04-02 | rp2040: fix RP2350 hard fault in unaligned_memcpy to USB DPRAM | hathach | |
| Use volatile byte accesses to prevent the compiler from widening the byte-by-byte copy loop into 16/32-bit accesses, which cause a hard fault on RP2350 when targeting USB DPRAM (device memory). Closes #3554 | |||
| 2026-04-01 | fix issue caused by merging active + pending state | hathach | |
| 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-31 | host abort transfer on short packet in double buffer. | 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 | rename and clean up | hathach | |
| 2026-03-27 | clean up hw_endpoint_open(), still has issue with E15 and ping-pong (slow read). | hathach | |
| 2026-03-26 | implement ping-pong double buffered for both tx and rx | hathach | |
| 2026-03-25 | fix e4 incorrect buf with incorrect buf_id = 1 | hathach | |
| 2026-03-25 | update hcd to handle interrupt per buf | hathach | |
| 2026-03-24 | handle buf_status in per buffer basic (INTERRUPT_PER_BUFFER), this allows us ↵ | hathach | |
| to sync/move half data payload instead of waiting for pair complete. Refactor endpoint control and buffer handling functions for clarity and efficiency. | |||
| 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-19 | Add EPX transfer scheduling when hcd_edpt_xfer() is called while epx is busy | hathach | |
| 2026-03-19 | Merge branch 'refs/heads/master' into rp2040-hcd-epx | hathach | |
| 2026-03-19 | rp2 disable hwfifo | hathach | |
| 2026-01-16 | rename | hathach | |
| 2026-01-16 | refactor hcd, get both control and interrupt endpoint working | hathach | |
| 2026-01-10 | remove transfer_type from hw_endpoint | hathach | |
| 2026-01-09 | enable dedicated hwfifo for rp2 | 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-02-28 | fix(hcd_rp2040) assert/panic endpoint already active: when a device reset ↵ | hathach | |
| while having on-going control transfer | |||
| 2024-07-17 | RP2040: no need to clear usb_hw (usb registers) as they are reset to default ↵ | Liam Fraser | |
| state by a hardware reset | |||
| 2024-07-17 | RP2040: Use our own unaligned memcpy to avoid alignment faults with some ↵ | Liam Fraser | |
| memcpy implementations | |||
| 2024-03-13 | - only abort ep0 if it is active | hathach | |
| - rename reset_ep0_pid() to reset_ep0() - minor update log message | |||
| 2024-03-11 | reformat code | hathach | |
| 2023-07-02 | also fixed pico_trac() log messages. | Lars Pötter | |
| 2023-07-02 | made line ends consistent. | Lars Pötter | |
| 2023-06-26 | fix warnings when enable rtt with rp2040 | hathach | |
| 2023-03-17 | Merge branch 'master' into portability | hathach | |
| 2023-01-31 | fix typos | hathach | |
| 2023-01-31 | move errata to end of c file | hathach | |
| 2023-01-31 | add e15 prefix or walkaround related functions, also minor refactor | hathach | |
| 2023-01-31 | minor clean up | hathach | |
| 2023-01-24 | rp2040: avoid device-mode state machine hang | Jonathan Bell | |
| Don't mark IN buffers as available during the last 200us of a full-speed frame. This avoids a situation seen with the USB2.0 hub on a Raspberry Pi 4 where a late IN token before the next full-speed SOF can cause port babble and a corrupt ACK packet. The nature of the data corruption has a chance to cause device lockup. Use the next SOF to mark delayed buffers as available. This reduces available Bulk IN bandwidth by approximately 20%, and requires that the SOF interrupt is enabled while these transfers are ongoing. Inherit the top-level enable from the corresponding Pico-SDK flag. Applications that will not use the device in a situation where it could be plugged into a Pi 4 or Pi 400 (for example, when directly connected to a commodity hub or other host) can turn off the flag in the SDK. v2: use a field in hw_endpoint to mark pending. v3: Partial rewrite following review comments - Stub functions out if the workaround is not required - Only force-enable SOF while any vulnerable endpoints are active - Respect dcd_sof_enable() functionality - Get rid of all but necessary ifdef hackery - Fix a bug where the "endpoint lock" was used with an uninitialised pointer. | |||
| 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-23 | Fix RP2040 Issue 1721 | rppicomidi | |
| 2022-09-13 | [rp2040] Wrap GCC pragmas in #ifdef __GNUC__ | Ben Avison | |
| IAR generates warning Pe161 'unrecognized #pragma'. | |||
