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
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
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.
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.
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..
Hi Yan Liu,
I would suggest checking to make sure that the TPS65920 USB transceiver is being reset correctly when the mouse is removed. The reason we suggested testing with a USB Hub is when the mouse is disconnected from the HUB this will not require the transceiver to be reset. You should be able to connect/disconnect the mouse from the HUB with out any problem. If you then disconnect the HUB and see the AboardQueue message we would expect there is something wrong with the handling of the TPS65920 USB transceiver.
I think the biggest problem is that the EVM (35XX) uses a dedicated external PHY (ISP1507) on the USB OTG port instead of utilizing the TPS659XX part. This was a poor design decision as most (if not all) designs that use the TPS659XX part would use the PHY on the chip. It is too bad the BSP was not thoroughly tested with both combinations as they would have found out the 1.2.x or 2.x.x BSP’s OTG port does not work very well in host only mode. It does not work on Gumstix or BeagleBoard platforms both of which use the TSP65950’s PYH. Again, it use to work on early BSP releases. My understanding is the same Mentor Graphics USB OTG IP is used on newer platforms based on the AM335x and AM387X for all the host ports but I do not know if they are using the TPS659X and its PHY on these development platforms. I would be interested in knowing if anyone has any experience using host only mode on these.
Hi Adeneo support team,
After the test, whatever using USB 2.0 hub or not, the USB thumb driver mass storage can not been indentified, so could please have a check of TPS65920 usb otg phy driver with the WinCE BSP version of WinCE6 R3 SDK Patch ?
Many of our customer want to use TPS65920 usb otg phy for the purpose of cost down and board size limited .
Hi Jian Zhou,
We are unfortunately unable to test this custom HW configuration as it is not available on the EVM.
Can you please explain step by step exactly what test was performed? Based on your description we can not tell if a hub was used before or after the first insert of the USB thumb drive or if the device was power cycled after the failure.
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.