• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » OMAP™ Processors » OMAP35x Processors Forum » USB OTG Host and TPS65950
Share
OMAP™ Processors
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Resources
  • OMAP-L1x DSP+ARM9™-based Processors Product Folder
  • OMAP3525/30 DSP+ARM Cortex™-A8-based SOCs Product Folder

  • Top OMAPL Wiki Links
  • OMAPL3x Schematic Review Checklist
  • OMAPL13x Boot resources

  • OMAPL Document Resources
  • OMAPL137 Technical reference manual
  • OMAPL138 Technical reference manual
  • OMAPL Boot loader App Notes
  • Forums

    USB OTG Host and TPS65950

    This question is not answered
    Andrew Poole
    Posted by Andrew Poole
    on Jul 14 2011 07:54 AM
    Intellectual570 points

    Hi,

    I am having problems getting USB to work in u-boot with the OMAP3530 and TPS65950. We are using the OTG in 'host' mode to use a USB flash storage device for running Linux. We are finding that the VBUS signal is only reaching a level of 1.5V - no where near the required 5V for USB. Does anyone have any ideas as to why this may be?

    We have noticed that the OMAO3530 EVM uses an external OTG transceiver, instead of the one as part of the TPS65950 device. I can confirm that USB works using the EVM running the same u-boot software. Is there a particular reason why the TPS65950 is not used as an OTG transceiver?

    Thanks

     

    Andy

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • peaves
      Posted by peaves
      on Jul 14 2011 08:37 AM
      Genius12795 points

      I do not think the issue you are having with VBUS is directly related to the transceiver differences.  VBUS on the OMAP3EVM OTG port is sourced from a high current 5.0 volt supply and controlled by a TPS2042 power switch which will limit the VBUS current source to a minimum current of 500mA.

       

      Check the VBUS power source on your hardware platform and confirm it is able to source the current required by the attached device.

       

      Regards,

      Paul     

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andrew Poole
      Posted by Andrew Poole
      on Jul 14 2011 10:11 AM
      Intellectual570 points

      Hi Paul,

      Thanks for your reply. The VBUS power source comes directly from the TPS65950 power chip, which I am lead to believe that it will output the necessary 5V. from looking at the datasheet, this 5V is sourced from the USB charge pump, which has an input of 3.6V. I have measured the voltage of the VBUS to be 1.5-2V when there is no USB connected to draw any current.  The datasheet also does say that the current is 100mA... would this be too low for a USB flash stick?

      Thanks again,

       

      Andy

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • peaves
      Posted by peaves
      on Jul 14 2011 11:43 AM
      Genius12795 points

      I do not know if your USB Flash is a high power device that requires more than 100mA.  The USB specification requires all devices to enumerate with a current consumption less than 100mA.  If it requires more than 100ma, it must request permission from the host and only increase the current consumption after the host grants permission.

       

      If you limit your host port to 100mA you will never be able to support high power USB devices.

       

      The original TPS659xx silicon had some issues with USB so an alternate transceiver was used on the EVM.  The EVM can be configured to support the on-board TPS659xx device, but the board assembly was never changed after the TPS659xx USB issues were resolved

       

      The ID pin of the transceiver should be connected to ground to tell the OTG controller to operate in host mode.  Is the ID pin connected to ground?

       

      The connection of two OTG devices is normally initiated by the user by pressing a menu button. So the standard Linux kernel may be waiting for a command to initiate the connection.

       

      Try to enter the following command at the Linux console prompt to initiate a USB session.

       

      $ echo “F” > /proc/driver/musb_hdrc

       

      Regards,

      Paul

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andrew Poole
      Posted by Andrew Poole
      on Jul 15 2011 03:14 AM
      Intellectual570 points

      Hi Paul,

      We only intend to use the USB host for a flash drive, so it is not a problem only supporting low power USB devices. The EVM we are using is a revision D board, which seems to use a TWL4030 device but as I understand, this is essentially the same device. I can also confirm that the ID pin of the OTG transceiver is grounded.

      As I mentioned in my first post, I am trying this in u-boot, entering the 'usb reset' command to initiate the USB connection. The intention is to boot Linux from the USB device and so, with the current problems I am experiencing, I am unable to test the USB host in Linux.

      It is interesting that the original TPS659xx silicon had some issues, I am assuming that configuring an older Rev D EVM to support the on-board TPS659xx device would experience some of the same issues?

      Thanks,

       

      Andy

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andrew Poole
      Posted by Andrew Poole
      on Jul 27 2011 06:51 AM
      Intellectual570 points

      As an update my current situation, have confirmed the following:

      • The USB OTG Host mode works in Linux, proving that the layout and hardware is correct
      • Supplying an external 5V to the OTG connector allows u-boot to 'see' the USB stick
      • U-boot does not appear to correctly set up the TPS65950 to output 5V on the VBUS
      • Using the latest u-boot, the beagleboard does not output 5V on the VBUS.
      • USB in u-boot works fine on the Mistral EVM (rev D), however this is not using the TWL4030 USB PHY

      Has anyone been able to successfully get u-boot to read a USB stick using the OMAP3530 and TPS65950 devices?

      Can anyone help?

       

      Andy 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajay
      Posted by Ajay
      on Jul 27 2011 08:25 AM
      Genius9470 points

      Andy,

      Please check if twl4030_usb_ulpi_init() is getting called from drivers/usb/musb/omap3.c file. This function does the necessary TPS65950 PHY clock and power init.

      Regards,
      Ajay

      If my reply answers your question then please click on the green button "Verify Answer"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andrew Poole
      Posted by Andrew Poole
      on Jul 27 2011 09:48 AM
      Intellectual570 points

      Hi Ajay,

      Thank you for your reply. I can confirm that the twl4030_usb_ulpi_init() is being called.  The output I receive is:

      > usb reset
         (Re)start USB...
         USB:

                ****** at this point there is a long delay (over 30 seconds)******

                scanning bus for devices... No USB Device found
                scanning bus for storage devices... 0 Storage Device(s) found

      Is there any additional power set-up I need to do in the board file or x-loader? The problem just seems to be that the charge pump is not outputting 5V. As I mentioned in my previous post, the USB worked when connecting the VBUS to an external 5V.

       

      Thanks,
      Andy

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajay
      Posted by Ajay
      on Jul 27 2011 10:21 AM
      Genius9470 points

      Andy,

      Have you connected the msc device to board using mini-A plug or made sure ID pin is grounded?

      Ajay

      If my reply answers your question then please click on the green button "Verify Answer"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andrew Poole
      Posted by Andrew Poole
      on Jul 27 2011 11:10 AM
      Intellectual570 points

      Hi Ajay,

      The ID pin is definitely grounded. This is also proven by the fact that the USB memory stick works in Linux.

       

      Andy

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Rodolfo Solera
      Posted by Rodolfo Solera
      on Mar 02 2012 20:48 PM
      Prodigy110 points

      Hi

      I'm having the same problem with a AM37x EVM. Anybody figured this out? I'm trying to run the itbok otg tests and I'm encountering the same problems.

      Rodolfo

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Benoit Parrot
      Posted by Benoit Parrot
      on Mar 05 2012 16:08 PM
      Intellectual1400 points

      Rodolfo,

      Can you describe your issue a little more?
      I have not tried to run the itbok test suite, but perhaps we can start by just having u-boot interact wit a USB Memory stick.

      On the 37xEvm if you connect a Mini-A to A adapter and connect a memory stick to it from u-boot you should be able to display the usb stick's content as follows:

      OMAP3_EVM # usb reset
      OMAP3_EVM # fatls usb 0:1

      The Mini-A to A adapter ensure that the ID pin is grounded to let the MUSB OTG subsystem act as a USB Host.

      Regards,
      Benoit

      If my reply answers your question then please click on the "Verify Answer" button.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Rodolfo Solera
      Posted by Rodolfo Solera
      on Mar 05 2012 16:17 PM
      Prodigy110 points

      Hi

      The issue that I was having was actually that the IDpin was not grounded. That automagically fixed the issue.

      Thank you much for your help.

      Rodolfo

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • H���kan Brolin
      Posted by H���kan Brolin
      on Jul 30 2012 04:52 AM
      Prodigy20 points

      Hi,

      I am also having problems that look like the issues above.
      Trying to use the OTG as host. 

      My situation is:

      * Beagleboard (rev.B7) using TWL4030 OTG port.
      * OTG-port is connected to a mini-A connector (yes, ID pin is grounded!!!!).
      * OTG-port --> mini-A --> mini-B --> USB self powered Hub.
      * VBAT = 4.2 V 

      * USB-OTG (host) works in Linux (2.6.33).  Self powered Hub is detected.
      * USB-OTG (host) DON'T work in U-Boot (usb reset time out). Self powered Hub is NOT detected.

      I have noticed the following in U-Boot:

      * VBUS is only driven to 4.2 V when bit DRVVBUS is activated.
      * As soon as session is started (DEVCTL.SESSION=1) VBUS falls down to 0 V.
      * DEVCTL.HOSTMODE is never set, leading to timeout for command 'usb reset'.
      * Experimented with register TESTMODE (bit FORCE_HOST) with no luck. 

      I have noticed the following in Linux:

      * VBUS is driven to 5.1 V.

      Why is VBUS never near 5 V in U-Boot but 4.2V (which seems to be same level as VBAT)?
      The Linux kernel have no problems with the same hardware and cable configuration. 

      I've instrumented the code in U-Boot and tried to follow the sequence and function twl4030_usb_ulpi_init() is getting called.
      I've also tried to compare the U-Boot code with kernel code and it looks like the init-sequence is the same. But I'am missing something.

      Any hints would be appreciated.


       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    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.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use