General Category > Discussion - Hardware

FT313H ASYNC List hang

(1/1)

t0nyl2:
I am working on an embedded system trying to use of the FT313H Hi-Speed USB Host Controller. The system uses an ARM based SoC runnning an RTOS and a USB Host Stack from Micro-Digital (smxUSBH). Previous versions of the system used an ISP1761 USB HC. But, I am trying to replace this part with multiple FT313H parts (currently only 1 device is installed). Micro-Digital has provided me with an EHCI compliant Host Controller Driver. However, it must be modified to work with the FT313H.

Currently I am perfectly able to  communicate with the FT313 registers and can successfully access its internal memory via the MEMADDR, DATAPORT and DATASESSION registers.
I can detect insertion of a peripheral device, reset the port, and determine the speed of the peripheral from the registers. But, I am having trouble performing the device enumeration operation when a device is connected.

The driver creates the QH and QTD structures to perform the "Get Device Descriptor" operation, sets the ASYNCADDR register to point to the QH Head and then enables the Async list execution by setting the ASCH_EN (bit 5) of the USBCMD register. But, the device does not seem to complete the operation.

The ASYNCADDR does change to point to the second (terminating) QH. But I cannot tell if it attempted to perform the transfers in the linked QTDs.

I have a Beagle 480 USB Analyzer connected to the port and can not see any valid transfers. I would expect to see a SETUP, IN and OUT packets.

I've tried to use the TESTMODE and TESTPMSET1 registers to send the SETUP packet but I cannot figure how to accomplish this.

I would really appreciate any technical help anyone can provide. I can provide register and memory dumps. I feel that if I can get the first USB operation to complete, I should be able to everything else working.

FTDI Community:
Hello,

All the information on the FT313H can be found on the product page:

https://www.ftdichip.com/Products/ICs/FT313H.html

The FT313H is quite an old product.
See the UMFT313EV which can be used for test, reference and evaluation.

There is only one FT313H Example.

The best USB Host solution we have is the FT90x.

Maybe other users in the community will be able to help with your issue.

Best Regards,
FTDI Community

Navigation

[0] Message Index

Go to full version