| Age | Commit message (Collapse) | Author |
|
ISO endpoints were not covered so far by the driver code.
This adds support for ISO IN and OUT endpoint handling.
Registers for ISO IN(OUT) endpoints are placed just after normal IN(OUT)
so in some cases common code could be used for handling all type of
transfers.
Generally code synchronizes ISO endpoint handling to SOF interrupt.
This code does not change the way of how non-ISO endpoints are treated.
Code uses strategy outlined in nRF52840 Produce Specification v1.0
sections 6.35.11.1 and 6.35.11.2.
|
|
msp stores max packet size.
For ISO endpoints 8 bits is not enough so it's changed to 16 bits.
|
|
Closing endpoints can be important when there are alternate
instances. This adds functionality of closing endpoints
similar to what exists in other drivers.
|
|
Currently number of endpoints was hard coded to 8.
NRF52 has 9 IN and 9 OUT endpoints.
ISO endpoints are 0x08 and 0x88 and without this change those
two ISO endpoint could not be used.
|
|
Operator < used in while condition was obviously incorrect.
Loop starts with checking if unsigned variable is less then 0.
This condition is always false.
This reverses condition to follow intention of of the code.
|
|
Fix edpt xfer race condition
|
|
|
|
- add pre-check to reduce mutex lock in usbd_edpt_claim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gain exclusive access to usbd_edpt_xfer
|
|
|
|
|
|
|
|
|
|
define __USE_CMSIS instead of __USE_LPCOPEN will have startup enable FPU
on startup properly. Although it is only relevant to lpx43/40 series,
change all to __USE_CMSIS for consistency
|
|
tested host with lpc4357, don't use fpu with lpc m4 since it seems to
cause hardfault (stack does not make use of fpu anyway).
|
|
|
|
|
|
- fix #436 tud_midi_rx_cb() not invoked
- fix xfer_cb() not handle ep in
- add ZLP if needed
|
|
Add dcd_edpt_close() to synopsys
|
|
skip ci build for example that need more ROM/RAM could fit into SAMD11
|
|
Add TX callback to CDC device
|
|
|
|
|
|
Endpoint close was implemented only in one driver so far.
This function is needed for interfaces with several alternate settings.
The way FIFO is allocated in dcd_edpt_open() allows to correctly close
only one IN endpoint (the one that was opened last).
|
|
Wrong FIFO was flushed in dcd_edpt_stall().
(epnum - 1) should only be used when accessing DIEPTXF registers.
For DIEPCTL and GRSTCTL epnum is correct index.
|
|
|
|
|
|
- position application driver before built-in
- remove dcd.h from public include.
|
|
|
|
Fix synopsys odd/even frame bit for IN ISO endpoints
|
|
For ISO endpoint driver has to specify when data
is to be transmitted (odd or even frame).
Currently code was not updating this bit resulting in
data being sent every other frame.
If interval was 1ms full data packed was sent every 2ms, and
ZLP was sent in between.
|
|
|
|
Move pull-up enabling to dcd_init() instead of usbd
|
|
fix msp430 gcc 9.2.0 warning
|
|
|
|
correct isr context for nrf DCD_EVENT_UNPLUGGED
|
|
also rename debug lookup to prevent conflict
|
|
Constraint was incorrect for ISO endpoint as stated in TODO.
|
|
|
|
|
|
suppress cast-align warnings for net device driver
|
|
ESP32-S2: Handle the fact that available EP IN FIFOs are less than the number of available EP INs
|
|
|