aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb-synopsys-otg/src
Commit message (Collapse)AuthorAgeFilesLines
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-061-12/+4
|
* Edition 2024.Dario Nieuwenhuis2025-10-061-0/+1
|
* otg: Use chunks_exact for more efficient rx copyMatt Johnston2025-09-051-2/+8
|
* otg: Simplify chunks_exact for txMatt Johnston2025-09-051-12/+8
| | | | | The last chunk doesn't need to be created first, instead borrow the iterator so it can be used later for the remainder.
* Merge pull request #4397 from korbin/allocate-numbered-endpointsDario Nieuwenhuis2025-07-151-12/+31
|\ | | | | | | Make USB endpoint allocator methods accept an optional `EndpointAddress`
| * make usb endpoint allocator methods accept an optional EndpointAddresskorbin2025-07-131-12/+31
| |
* | otg: Improve IN write performanceMatt Johnston2025-07-151-3/+16
|/ | | | | | | | | | | | | | chunks_exact() can be handled by the compiler more efficiently. Previous code was making a memcpy call for each 4 byte chunk slice. Hoisting the fifo out of the loop avoids recalculating the pointer each time. In my benchmark I see a jump from ~13 megabyte/sec to ~25MB/sec after this change (opt-level=3). opt-level = "z" goes 9MB/s to 18MB/s. The benchmark was on a stm32h7s3l8, 600mhz clock, 512 byte bulk writes, data in DTCM. The benchmark isn't just USB writes, also has some unrelated memcpys for packet construction.
* otg: Allow exact out buffer sizeMatt Johnston2025-02-171-1/+1
| | | | The existing check required N+1 buffer size.
* otg: use const blocks for init.Dario Nieuwenhuis2024-11-241-12/+9
|
* otg: fix corruption in CONTROL OUT transfers in stm32f4.Dario Nieuwenhuis2024-11-241-63/+50
| | | | | | | | | The RM says we have to process STUP (and therefore clear CNAK to start the data stage) in the DOEPINT STUP interrupt. Seems doing it in RXFLVL when we receive the data is too early. This makes it work consistently on all chips, so the quirk is no longer needed. Fixes #3493 Fixes #3459
* otg: improve trace logging, print bytes as hex.Dario Nieuwenhuis2024-11-241-4/+8
|
* otg: fix build with defmt enabled.Dario Nieuwenhuis2024-11-241-54/+54
|
* Add USBPHYC clock configuration for H7RS seriesKevin2024-09-221-11/+18
|
* Add OTG_HS support for STM32H7R/SKevin2024-09-222-0/+187
|
* feat(usb-otg): add support for ISO endpointselagil2024-09-052-8/+38
|
* Merge pull request #3281 from elagil/ulpi_add_fs_supportUlf Lilleengen2024-08-251-2/+5
|\ | | | | | | feat: Add support for a full-speed ULPI mode
| * feat: Add support for a full-speed ULPI modeelagil2024-08-241-2/+5
| |
* | Add OTG core DMA address registersferris2024-08-131-0/+12
| |
* | usb-synopsys-otg: ensure ep alloc fails when endpoint_count < MAX_EP_COUNT.Dario Nieuwenhuis2024-08-031-2/+2
|/ | | | | | Before, it would alloc the endpoint fine and then panic later due to out of range. This ensures it falis at ep alloc time, and with a panic message that says what's the actual problem: "no free endpoints available".
* Reduced define for 'unreachable!' to a single macro ruleTarun Singh2024-07-171-10/+6
|
* Add collapse_debuginfo to fmt.rs macros.Dario Nieuwenhuis2024-06-171-0/+17
| | | | | | This makes location info in defmt logs point to the code calling the macro, instead of always to fmt.rs as before. Fix works with nightlies starting with today's, and stable 1.81+.
* usb: add transceiver delay optionMatt Ickstadt2024-05-211-1/+15
|
* embassy-usb-synopsys-otg: impl Sync for EpStateMatt Ickstadt2024-05-201-1/+7
| | | | | | This restores the Send/Sync impls for EpState, which were incidentally removed in #2881. This allows the Endpoints to be send to tasks, e.g. as part of a custom class implementation.
* embassy-usb-synopsys-otg: default vbus_detect to false.Dario Nieuwenhuis2024-05-131-1/+1
|
* Configure MAX_EP_COUNT via const genericsDániel Buga2024-04-271-20/+18
|
* Only access the necessary parts of StateDániel Buga2024-04-271-27/+33
|
* Group endpoint states into a per-endpoint structDániel Buga2024-04-271-30/+40
|
* Reduce use of the full `futures` crate.Dario Nieuwenhuis2024-04-261-1/+1
|
* Hide the Dir traitDániel Buga2024-04-261-6/+8
|
* Extract synopsys otg driverDániel Buga2024-04-263-0/+6039