AM3715 USB OTG

Hello,

My customer use AM3715 USB OTG with TPS65920 USB PHY, the WinCE version is BSP_WINCE_ARM_A8_01_02_00. The USB device mode is work, but the USB host mode can not work, do we need to modify some USB otg driver code for that ?

15 Replies

  • Hi,

    You should not need to modify the USB OTG driver.  After the BSP is adapted to the TPS65920 (Pins are Muxed, ect)  you'll should just need to enable the TPS659XX OTG Driver.  Both the OTG Function and Host catalog items are enabled by default.  The base OS Design also has MSFT USB Host Support and a number of HID items enabled by default as well.

    It might be worth checking the USB detect line, if that line is pulled to Host mode in hardware USB Device mode would not work.

    Regards,

    Adeneo Embedded Support team
    Contact us at sales@adeneo-embedded.com

  • In reply to Adeneo Embedded support team:

    thanks a lot for your support!

    The USB otg phy ID line have pull down to indicate the USB Host mode, but the VBUS pull up to external +5V, is it correct design for TPS65920 USB otg phy?

  • In reply to Adeneo Embedded support team:

    Hi,

         I did this follow the step as you said ,but the USB OTG still can't recognize the Hard Disk when I pull the ID to ground. if there is something wrong with this?

     

    thanks a lot

  • In reply to yan liu1:

    Hi Yan,

    Are you plugging in a USB Thumb drive or a full HD?  If it's a full USB Harddrive can you try with a normal Thumb drive?  If your using a full USB Harddrive it would be worth checking the USB Harddrive with a powered HUB, it might require more power to work correctly than the board can proved.

    Because we are talking about USB OTG Host mode, does a simple mouse or keyboard work correctly for you?

    Another thing to check is to make sure that USB Storage Class Driver is selected in the OS Design.

    Regards,

    Adeneo Embedded Support team
    Contact us at sales@adeneo-embedded.com

  • In reply to Adeneo Embedded support team:

    Hi,

          Thanks a lot  for your reply . When I plug in a simple mouse in the USB port (as metioned above,the USB port is USB0,and the USB phy is through  TPS65920,and the ID is pull to ground,  the VBUS is drived from outside ). this mouse only work correctly from the system power on . but when I remove the mouse and plug in again ,this mouse can't work anymore,and the information I get as follows:

    +TWL_FUNC_CTRL=0x41
    +TWL_IFC_CTRL=0x18
    +TWL_OTG_CTRL=0x6
    +TWL_OTHER_FUNC_CTRL=0x0
    +TWL_OTHER_INT_STS=0x2
    +TWL_PHY_PWR_CTRL=0x0
    +TWL_PHY_CLK_CTRL=0x2
    +TWL_VUSB3V1_REMAP=0xee
    +TWL_VUSB1V5_REMAP=0xee
    +TWL_VUSB1V8_REMAP=0xee
    USB Connection for Host Side
    CHub::HubStatusChangeThread - device attached on port 1
    CSR0 RxStall Error
    SET FEATURE USB_FEATURE_B_HNP_ENABLE is Failed
    USBDAttachProc with address 1
    m_deviceInfo =>
    dwCount = 0x20
    USB_DEVICE_DESCRIPTOR:
    bLength = 0x12
    bDescriptorType = 0x1
    bcdUSB = 0x200
    bDeviceClass = 0x0
    bDeviceSubClass = 0x0
    bDeviceProtocol = 0x0
    bMaxPacketSize0 = 0x8
    idVendor = 0x192f
    idProduct = 0x916
    bcdDevice = 0x200
    iManufacturer = 0x0
    iProduct = 0x2
    iSerialNumber = 0x0
    bNumConfigurations = 0x1

    ............................................................................

    above information is captured when the system is power on and the mouse is plugged before the system initialized. and when I remove the mouse ,the information as follow:

    AbortQueue
    Calling Session Request3118

    when I plug the mouse again ,it can't work.

    more over ,when I plug a USB hard disk or USB HUB , neither when the system initialize nor  when the system is on ,they can't work .

     

    Thanks  a lot , hope for your reply....

     

    Liuyan   From company  NovaStar-Led

     

  • In reply to yan liu1:

    Hi ,Adeneo Embedded support team engineer

    I remember there is a limitation on USB otg that:

    Limitations

    The Mentor USB 2.0 OTG controller used in host mode does not support peripherals that do not comply with the USB 2.0 High Speed specification. In order to have such peripherals working on this OTG controller, one requires plugging it through a HUB that will perform the speed adaptation. Most regular USB 2.0 High Speed compliant HUBs should work.

     

    And the USB mouse is usually USB1.1 specification, so I think from Yan's test we can judge that USB otg Host is not 2.0 with TPS65920 otg phy.

      

  • In reply to Jian Zhou:

    The work around for the USB Host Port 1 and 2 is attaching a USB 2.0 HUB to the port and then the USB1.1 device like a Mouse to the Hub.  I would try the same on the OTG port.  One thing to note when you attach a USB1.1 device to Port 1 or 2 without a HUB the port was just plugged into will not work until the next power up.

    Things I think we should test out:  USB1.1 vs. USB2.0 device behavior and Device vs. HUB detach behavior.

    1) Boot the device into the main OS and then plug in a USB2.0 thumb drive does the device work?  If you unplug the device what is the debug output?  If you plug the thumb drive back in does the device work correctly?

    2)  Boot the device into the main OS and then plug in a Mouse does the device work?  If you unplug the device what is the debug output?  If you plug the device mouse back in does the device work correctly?

    3) Boot the device into the main OS, plug in a USB 2.0 HUB and then plug in a Mouse does the mouse work?  If you unplug the mouse, what does the debug output look like?  Then plug the mouse back in, does the device work correctly?  Finally unplug the HUB from the board, what does the debug output look like?  If you plug the HUB back in does the HUB/Mouse work correctly?

    Regards,

    Adeneo Embedded Support team
    Contact us at sales@adeneo-embedded.com

  • In reply to yan liu1:

    I get the same symptoms when using a hub on the OTG port (OMAP3530). This use to work very well on early BSP releases (6.13 I believe) but is broken or something in the setup changed. I also reported this sometime back but never did get a satifactory answer. I had an old fulll speed hub that would kind of work ...never did get a high speed hud to work if I remember correctly.  

  • In reply to DavidVescovi:

    Hi ,DavidVescovi and all the others:

     

           Thanks for your reply, and do you still have the early BSP(6.13 )?

     

    best regards

     

  • In reply to yan liu1:

    Ment to say i had an old High speed hub that use to work on old versions but does not work with latest BSP (2.30 or any 1.2.x or 2.x.x version).

    The old versions are still archived on the TI site ...you just have to poke around..