summaryrefslogtreecommitdiff
path: root/src/portable/raspberrypi
AgeCommit message (Collapse)Author
2023-11-03fix race condition when dev0 is removed while enumeratinghathach
2023-09-27change hcd_int_handler(rhport, in_isr) signature: add in_isrhathach
change tuh_int_handler() to take in_isr as optional parameter (default = true)
2023-08-07code formathathach
2023-08-04Merge branch 'master' into masterHa Thach
2023-07-26correct hcd_edpt_clear_stall() API signaturehathach
2023-07-24add hcd abort xfer for rp2040 pio usbhathach
2023-07-21add stub hcd_edpt_abort_xfer() for all portshathach
2023-07-02also fixed pico_trac() log messages.Lars Pötter
2023-07-02made line ends consistent.Lars Pötter
2023-06-29add hcd_frame_number() for pio-usb hosthathach
2023-06-26fix warnings when enable rtt with rp2040hathach
2023-04-20[rp2040] Make writes to SIE_CTRL aware of concurrent accessJacek 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-20more compatible with IARhathach
2023-03-18more clean uphathach
2023-03-17Merge branch 'master' into portabilityhathach
2023-03-17fix trailing space and new linehathach
temporarily disable codespell
2023-03-15fix PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY not defined in old pico-sdkhathach
2023-03-10rp2040: include hardware/sync.h explicitlyDan Halbert
2023-03-02rp2040: Fixup lib and example compile for LLVM Embedded Toolchain for ARMgraham sanderson
2023-01-31fix typoshathach
2023-01-31move errata to end of c filehathach
2023-01-31add e15 prefix or walkaround related functions, also minor refactorhathach
2023-01-31minor clean uphathach
2023-01-24rp2040: shuffle hw_endpoint membersJonathan Bell
Ordering by element size prevents alignment holes, and as a consequence the host mode version of the struct is the same size as device, as pad bytes at the end are used instead.
2023-01-24rp2040: avoid device-mode state machine hangJonathan 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-23rp2040: 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-30more clean uphathach
2022-11-30white spaceshathach
2022-11-23Fix RP2040 Issue 1721rppicomidi
2022-11-04fix -wconversion-int and add minor commenthathach
2022-11-04Merge branch 'master' into rp2040-hcd-bulkHa Thach
2022-10-05Fix typo for log in dcd_rp2040.cmingpepe
2022-09-13[rp2040] Wrap GCC pragmas in #ifdef __GNUC__Ben Avison
IAR generates warning Pe161 'unrecognized #pragma'.
2022-09-13Don't assume ints automatically convert to enumsBen Avison
IAR generates warning Pe188 'enumerated type mixed with another type'.
2022-09-13Remove unreachable codeBen 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!
2022-09-12[rp2040] Explicit cast value of `hw_set_alias`Ben Avison
Some compilers don't support the GNU extension `typeof` so their definitions of `hw_set_alias` can't inherit their type from their argument, and the best we can do is have `hw_set_alias` act the same as `hw_set_alias_untyped`. This requires an explicit cast when the macro is used instead, otherwise IAR generates error Pe132 'expression must have pointer-to-struct-or-union type but it has type "void *"'. The same goes for `hw_clear_alias`.
2022-09-12[rp2040] Remove non-portable return statementsBen Avison
IAR generates error Pe118 'a void function may not return a value'.
2022-09-07Fix bug #1628 by preventing shared irq slots for filling upjmark1m
2022-07-12RP@040: rework CMake for compiler warningsgraham sanderson
2022-06-30rp2040 enable SOF as resumed signal when remote wakeuphathach
2022-06-27use forloop to avoid -Warray-bounds with host setup packethathach
2022-06-27fix all warnings with host rp2040hathach
2022-06-21Merge pull request #1509 from liamfraser/rp2040_hcd_improvementsHa Thach
RP2040 HCD Improvements (Hub + Keyboard + Mouse working)
2022-06-18Merge pull request #1518 from mingpepe/masterHa Thach
Fix typo for log format
2022-06-17rp2040: use shared IRQ handlers, so user can also hook the USB IRQgraham sanderson
2022-06-17Fix typo for log formatmingpepe
2022-06-16rp2040: make moving 1K of code into RAM optional - and off by defaultgraham sanderson
2022-06-13hcd_rp2040 improvements:Liam Fraser
- Stall now has priority over other interrupt responses - Delete eunused hcd_edpt_busy - Assert !ep->active when trying to start a new xfer - Assert !ep->active when handling buff_status bits - Set ep->xferred_len to 8 once a setup packet is finished so the data structure is accurate
2022-06-08make all hcd/dcd function used in isr into ram with ↵hathach
__no_inline_not_in_flash_func() for faster irq handling result is 1KB of code moved from rom -> ram
2022-06-08add tuh_configure() for port/dynamic host behavior confighathach