This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HSUSB port support Low speed and full speed device?

I try to connect a Low speed and/or Full speed device to HSUSB Host port of the AM/DM37x EVM, but it always reports "hub 1-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?" Then I try to attached the devics through a High speed USB hub, it can detect them without problem.

Is this a hardware issue because of using SMSC USB3320 physical? Or the HSUSB driver has problem to support Full and Low speed device? Or there is a update of the linux kernel SDK that has solved this problem?

Regards,

Colman

 

  • This is a limitation of the universal serial bus (USB) host subsystem in the AM37x device.  The USB host subsystem supports up to three USB ports, each one of which can owned by one of two controllers:

     

    • The EHCI controller, based on the Enhanced Host Controller Interface (EHCI) specification for USB Release 1.0, is in charge of high-speed traffic (480M bit/s) over a UTMI low-pin interface (ULPI) port.

     

    • The OHCI controller, based on the Open Host Controller Interface (OHCI) specification for USB Release 1.0a, is in charge of full-speed/low-speed traffic (12/1.5M bit/s, respectively) over a serial interface.

     

    Each of the three USB ports is owned by exactly one of the controllers at any time.  So if you have a ULPI PHY attached to one of the three ports the OHCI controller which supports low speed and full speed USB can not be used with this port.  The workaround is to add a high speed USB hub with a transaction translator that creates split tokens to communicate with down stream low speed or high speed USB devices.

     

    Regards,

    Paul

  • Then, how about the OTG port, does it support all three speeds?

     

    Regards,

    Colman

     

  • Yes, it does not have this limitation.

     

    Regards,

    Paul