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.

AM3357 Usb hangs when hot plug

Genius 3475 points
Other Parts Discussed in Thread: TPS2051, AM3357

Hi

My customer is designing with AM3357, there is a load switch TPS2051 for his USB port.

When there is a hot plug of a USB device, there is a transient voltage drop of  and a current surge of 375mA, this is acceptable to the load switch.

In essence, during a hot plug, the USB module in the AM3357 hangs up, the only way to recover the USB port is by resetting the system.

Like to check if; Without changing the hardware, is there a way to disable and enable the USB module via software?

  • The USB specification requires a USB host to have a VBUS capacitor greater than 120uF so the voltage does not drop too low when a USB peripheral, which is required to have less than 10uF of capacitance on VBUS, is hot plugged.

    Make sure their USB host port has a 120uF - 150uF capacitor connected to VBUS between the load switch and USB connector.  Also verify the USB peripheral being hot plugged does not exceed the USB specification for inrush current, equivalent to 10uF in parallel with 44 ohm load.

    Regards,
    Paul

  • Hi Paul

    Will check on the cap on the Vbus, which should be the long term solution

    For short term, is it possible to reset the USB module via software?

    Ivan

  • If they do not have this capacitor, ask them to add a temporary capacitor to their board as a short term test.

    The USB sub-system can be reset, but not sure how this is supported by high level OS.  I think your question needs to be answered from a software perspective. 

    I'm not  able to answer software questions.

    Hopefully someone from the software team will answer this post within a couple of days.  If not, reply again and I will try to get their attention when I return to the office later this week.

    Regards,
    Paul

  • If you use Linux TI PSP kernel 3.2, please try command 'echo F > /proc/driver/musb_hdrc.X', here X is 0 or 1 depending on which USB port you use. This command tries to re-enable SESSION to work in host mode.

    But you probably still have to add the >120uF capacitor as Paul mentioned, or VBUS will droop again once SESSION is set.