Hi,
I'm getting bad performance with an FTDI serial to USB device, due to the fact that I'm only getting one bulk IN request scheduled per (micro) frame, with back-to-back calls to USBHCDPipeRead.
Bulk in auto request
Section 16.3.8.2.2.1.1 in the AM335x TRM says to use USB_0_AUTO_REQ instead of USB_RXCSRH1_AUTORQ when using DMA (which I am).
Setting USB_0_AUTO_REQ inside USBHostEndpointConfig for the endpoint in question doesn't make any difference though. I suspect things may need to be done differently in USBHCDPipeRead too, regarding the sequence of enable/disable DMA and sending the IN token.
Any ideas?
DMA
Is it possible to have a static schedule of several linked DMA descriptors instead of having them consumed after being completed?
Failing that, is it possible to "restart" bulk traffic processing inside a frame? I.e., do software intervention after each transaction to set up the next, but at least being able to submit more than one IN request in a frame.
Thanks,
Orjan