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.

VBUS not detected by 65950, but otherwise USB works - a mystery

Other Parts Discussed in Thread: OMAP3530

Hi,

 

I have a board that is very close in design to the Beagle Board and was designed to be as software compatible as possible.

I can run the Angstrom distribution with minimum changes to take care of some different GPIO pins used (for example for the

touch-screen that BB doesn't have).  I also use the exact same U-boot from the same SD card but it behaves differently.

The recent U-boot (2010.3-rc1) has USB enabled. If I boot my board with the cable plugged in, the device is recognized by

the host. So far so good. The problem is that is I boot with the cable disconnected and then plug it in, OMAP3530 never sees it

and doesn't pull-up the USB DP line. The Beagle Board running the same software correctly recognizes the event.

If I look at the OTG DEVCTL register while the session is active, it reads the reasonable 0x99 - "above VBus valid". If I unplug

the cable and plug it again, the value is 0x80, i.e. "below session end".

Clearly all 12 interface wires are OK if the USB works at all. So what could possibly be missing on my board?

  • Once disconnected you need to restart the session by writing into SESSION bit of DEvCTL register.

    Alternatively you can use sys fs entry for it,

    echo 1 > /syp/devices/platform/musb_hdrc/srp.

    Ajay

  • This entry doesn't exist in my /sys/devices/platform/musb_hdrc (kernel 2.6/29) but in any case

    the problem happens even before starting Linux - USB fails to detect the cable in U-boot unless

    the cable is plugged-in while it boots.


  • Have you enabled USB host in uboot ?  if so then you have to fo "usb start". You can refer below page on how to use USB host in uboot.

    http://ap-fpdsp-swapps.dal.design.ti.com/index.php/AM35x-OMAP35x-PSP_03.00.00.05_UserGuide#MUSB_Host_Support

    Regards,
    Ajay

  • Ajay,

     

    thanks for trying to help but either I didn't state my problem clearly or you are thinking of a different post.

    I don't have a USB *host*. I'm trying to use the device mode. Furthermore the exact same software works

    correctly on the Beagle Board but doesn't detect cable insertion on mine. So the question is:

    what conditions need to exist for the OMAP35xx to recognize the OTG USB  connection in client mode.

     

  • Alex,

    Your original post seem to indicate that you are using the usb port in host mode.

    Now that you have clarified that you are using the usb port in device mode, can you verify whether you have configured the kernel for a device mode operation?.  Pl. share the kernel bootup dmesg logs and the associated .config.

    regards

    swami

  • swami said:

    Your original post seem to indicate that you are using the usb port in host mode.

    Where? My original post says:

    "If I boot my board with the cable plugged in, the device is recognized by the host."

    My board is the *device*, the *host* is a PC running Linux.

     

    swami said:

    Now that you have clarified that you are using the usb port in device mode, can you verify whether you have configured the kernel for a device mode operation?.  Pl. share the kernel bootup dmesg logs and the associated .config.

    I can sure do that, but again as I stated in the first message the problem happens even *before* I start the kernel, still in U-boot.

    Once again, the exact same software works correctly on a Beagle Board, but fails on mine.