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.

OMAP-L138 USB2.0 PHY not sensing voltage on VBUS line

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

We have a customized board using OMAP-L138 processor. A usb board is connected to the OMAP board through VBUS, DRVBUS, PM, PD and ID lines. The USB ID pin is grounded so that the USB will be put into HOST mode. The usb board is powered by an external 5v power pump which is controlled by DRVUSB line from the OMAP, An external 20MHz clock is used. The usb board worked in the past in both u-boot mode and kernel mode. Then we built a new usb board which has the 20MHz clock on it. We tested our OMAP board with the new usb board. The new usb board  failed. Then we went back to test the old usb board. The old usb board also failed.  I did the test in both u-boot mode and kernel mode. usb interrupt register showed VBUS_ERROR .  I printed out the register values in u-boot mode and saw the USB0VBUSSENSE bit never got set during 100ms VBUS detection period. The USB device register showed the USB went into A  device, but it couldn't go to HOST mode.  VBUS valid bits are not set.

The oscilloscope showed the VBUS line did rise to 5v on the OMAP side in 4ms after DRVBUS line went high. Why couldn't  the PHY detect voltage on VBUS line?  The following output showed register values in the while loop of checking whether the USB goes to HOST mode. It seems the USB voltage comparator doesn't work at all because USB0VBUSSENSE bit in devctrl register is always zero.  What could be the problem? Could the new usb board cause any damage to the OMAP board? or something else?

Devctl: 0x81, cfgchip2:0x20972, B device

PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x81, cfgchip2:0x20972, B device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x81, cfgchip2:0x20972, B device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x81, cfgchip2:0x20972, B device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x81, cfgchip2:0x20972, B device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x1, cfgchip2:0x20972, A device
PHY is not sensing voltage presence on the VBUS pin
Devctl: 0x80, cfgchip2:0x20972, B device
PHY is not sensing voltage presence on the VBUS pin

Session is cleared

Thanks 

Jie

  • What changes have you been made on new USB board ?
    Any difference on clock related ie external or internal ?

    If any clock related changes presents on new USB board then you may need to modify the CFGCHIP2 register.
  • The new usb board has 20MHz clock on it. That's the only difference from the old usb board.  CFGCHIP2 register is configured to use 20MHz clock. We measured the usb clock using the scope. The lock is good.  As you can see from the output, the CFGCHIP2 register is configured to OTG mode and 20MHz clock, but the read only USB0VBUSSENSE bit has never been set during the driver's polling period. I also tried to set  USB0OTGMODE bit to 1 (force host operation). But it also failed (read only HOSTMODE bit in DEVCTL register was not set to 1). It seems if USB0VBUSSENSE is not set, the USB PHY won't go to the host mode. What prevents USB0VBUSSENSE from being set? The scope shows VBUS line has 5.0V voltage. What piece of hardware on the OMAP side got damaged by the new usb board? Could I use TESTMODE register to go around this problem? 

  • Hello Jie,

    Could you please check for any short or assembly issues in the new USB board without connecting it to the OMAP board?

    If you have another OMAP board, please try to connect the old USB board and try to reproduce the issue. If it works well, there must be an issue in the new USB board design.

    Regards,
    Senthil
  • We have tried other three OMAP boards with the old usb board. The second one worked with the old usb board. But right after it failed with the new USB board, it couldn't work with the old usb board too just like the very first OMAP board. We couldn't get the third and the fourth OMAP boards working with the old usb board at all. Disregarding the new usb board, I am trying to get the old usb board working with the OMAP board since the old usb board worked with the OMAP boards before. Is there a way to force the OMAP board to go to the host mode without checking VBUS voltage level? How to use TESTMODE register to debug the hardware issues?

    Thanks
  • Jie

    Is it possible that you can share with us the schematic for the customized OMAPL138 board, and new/old USB board? When you saw VBUS goes up to 5V, does it stay at 5V or eventually go back to 0V? When VBUS goes to 5V, does DP go high to 3.3V? The TESTMODE register still requires 5V to be present on VBUS.

    Thanks

    David 

  • David,

    I saw VBUS stay at 5V for about 100ms, then went back to 0v. When VBUS went to 5v, DP also went to 3.3V.  I did another test on other three OMAP boards which don't have USB lines wired.  I provided 5V power to the vbus pin on those three OMAP boards (no wiring, use hands) , the OMAP detected the voltage because it set the USB0VBUSSENSE bit in CFGCHIP2 register to 1 until I removed the power line.  But the same test failed on the OMAP boards with usb lines wired. They couldn't detect the voltage on the VBUS line. Is that possible the soldering damaged the vbus pin? What other tests would you recommend me to try?

    Thanks

    Jie

    Attached are three files:

    -          USB AUX Board old – the original USB auxiliary board

    -          UAB Aux board connections which show how we connect the host board to the Aux board

     -          OMAPL38 Host Board which shows our connections to the OMAP

    /cfs-file/__key/communityserver-discussions-components-files/791/7801.USB-AUX-Board-_2D00_-old.pdf

  • Jie

    It appears VBUS does not stay at 5V after 100ms. Can we do the following experiment?

    With a standalone aux board, no OMAPL138 board connected, if you manually make the EN pin of the 5V charge pump go high, do you see VBUS stays at 5V? This will tell us whether there is an issue with the aux board.

    With a multimeter across R11 on the aux board, can we measure the current consumption between the old and new aux board, I want to make sure there is no excessive current on VBUS that is pulling VBUS down to 0V.

    When bit 0 of DEVCTL registe is set, do you see DRVVBUS pin go high and stay high? When VBUS gets pulled from 5V to 0V, does bit 0 of DEVCTL register get cleared?

    If you remove D1 LED on VBUS, does it help?

    Thanks

    David

  • David,
    I measured DRVBUS line, it went from high to low after 100ms. If I removed DRVBUS line, the VBUS line stayed 5v all the time. When bit 0 of DEVCTL registe is set, the DRVVBUS pin does go low. When VBUS gets pulled from 5V to 0V, bit 0 of DEVCTL register does get cleared. If I manually set the bit 0 of DEVCTL register to 1 (start a session) in u-boot command line, I can see LED on the USB board getting lit up for about 100ms and then turned off. There is no excessive current on VBUS that is pulling VBUS down to 0V. Have you seen anything wrong in the schematics?

    Thanks
  • Jie

    When you say new and old USB board, you are referring to the AUX board, not the OMAPL138 board, is this correct? If you are referring to the aux board, what are the changes being made between the two boards?

    On the OMAPL138 board, the USB interface signals go to test point, do they go anywhere else?

    On the AUX board, I am concerned about the VBUS being shared in multiple places. We have two LEDs (D1 and D3) that will draw current. For upstream facing port bypass capacitance on VBUS, the max capacitance per the spec is 10uF. Having 100uF (C6) and 47uF (C7) capacitors on VBUS is out of spec.

    If you don't connect the aux board to the OMAPL138 board and manually pulled DRVVBUS pin high, do you see VBUS stay at 5V all the times?

    Can you please also check R12? It is better to reflow the solder of R12 to make sure the soldering is ok.

    Thanks

    David

  • JieDo you have any status update on this issue?ThanksDavid
  • David,
    I checked the resistance between VBUS pin and the ground without power. On the OMAP boards with USB pins wired (soldering), the resistance are infinite or 30Ω. On the OMAP boards without USB pins wired, the resistance is 95Ω which is close to what the OMAP EVM board has. So I guess either the soldering or the new USB board damaged the VBUS pin. Neither the old usb board nor the new usb board has a capacitor on it. Is it possible that the inrush current from the new USB board damaged the VBUS pin of the OMAP board? We will try wiring the old USB board onto another OMAP board which has good resistance on VBUS pin next week. The old usb board now has a capacitor on it. Do you have any suggestions for our next test?
    Thanks

    Jie
  • Jie
    When you say the old usb board now has a capacitor, Is this a capacitor you are going to put on VBUS to damp the inrush current? What is the capacitance for this capacitor? Is this capacitance presented on the new USB board?
    I would suggest connecting the old USB board onto the OMAP board without capacitor first and see if it works. If it does, then I would put capacitor on the old USB board and connect to the OMAP board next.
    ThanksDavid