| Age | Commit message (Collapse) | Author |
|
stm32 fsdev: fix ISTR and CTR_RX/TX race conditions
|
|
|
|
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.
|
|
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.
|
|
Add dcd_edpt_close() to synopsys
|
|
skip ci build for example that need more ROM/RAM could fit into SAMD11
|
|
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.
|
|
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.
|
|
|
|
|
|
ESP32-S2: Handle the fact that available EP IN FIFOs are less than the number of available EP INs
|
|
|
|
|
|
reproduced with Adafruit_TinyUSB_ArduinoCore port commit 11d669b4d2a40eb2fc5e51b2a9707a6de9d42363 and SAMD BSP 1.6.1
|
|
|
|
|
|
|
|
ESP32-S2: Detect EP IN Xfer Timeout
|
|
update readme, boards.md to add link to new stm boards
|
|
Add stm hs
|
|
Add "REDUCE_SPEED=1" to the compile options.
|
|
|
|
|
|
In some rare ocasions (bad cable, noise, etc.) data transfer might timeout and hang the endpoint, unless the interrupt flag is cleared.
This pull request targets to solve that case.
|
|
- although it is define in CFLAGS, it is worth to correct to be
consistent with other build
- extract set_speed()
|
|
- f769disco default port is highspeed port1
- remove PORT0 on stlink since the board only populated HS connector
|
|
|
|
|
|
While the ST code has a 2 ms stabilization delay for the USBC PHY PLL,
running without this delay showed no problem for at leat 10 USB un/replug
cycles. Observe for problems!
|
|
|
|
help to run with low speed mcu
|
|
|
|
|
|
number of available EP INs
ESP32-S2 has only 5 available endpoint-in FIFOs (including EP0) but 7 available EP IN numbers. This change decouples the fifo number from the endpoint number, providing FIFO numbers until they reach the limit, at which point it will return false and assert an error that too many endpoints were allocated.
|
|
|
|
|
|
|
|
FIXME: Allow run-time selection to allow to handle both HS and FS with
one file
F746 HS port enumerates with error
config 1 interface 2 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 64
|
|
|