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 ?
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.
Adeneo Embedded Support teamContact us at firstname.lastname@example.org
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?
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:
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.
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=0xeeUSB Connection for Host SideCHub::HubStatusChangeThread - device attached on port 1CSR0 RxStall ErrorSET FEATURE USB_FEATURE_B_HNP_ENABLE is Failed USBDAttachProc with address 1m_deviceInfo =>dwCount = 0x20USB_DEVICE_DESCRIPTOR:bLength = 0x12bDescriptorType = 0x1bcdUSB = 0x200bDeviceClass = 0x0bDeviceSubClass = 0x0bDeviceProtocol = 0x0bMaxPacketSize0 = 0x8idVendor = 0x192fidProduct = 0x916bcdDevice = 0x200iManufacturer = 0x0iProduct = 0x2iSerialNumber = 0x0bNumConfigurations = 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:
AbortQueueCalling 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
Hi ,Adeneo Embedded support team engineer
I remember there is a limitation on USB otg that:
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?
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 )?
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..
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.