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.

TUSB4041I: YOCTO-Linux Not detecting 4-port USB

Part Number: TUSB4041I

hello TI!

I have a TUS4041 in my design and I can get it to be detected by my OS.

Here is an extract of the schematics:

The rails are up, and the PU/PD are active. GRSTz reads 3.3V.

Here is the output from the SOC console:

  Thank you in advance!

  • Hi,

    Can you confirm that there is no pulldown installed on SMBUS?

    Other items to check:

    • Thermal pad is connected to ground under the device.
    • Power on reset timing is met, GRSTz should be valid for 3 ms after the power rails are on.
    • USB_VBUS is around 500 mV
    • TEST pin is low.
    • Check line states of upstream DM and DP.  DP should go to 3.3V after the hub is on and connected.

    Regards,

    JMMN

  • Thanks JMMN for your quick response.

    Here are the answers to your questions:

    • Thermal pad is connected to ground under the device. Checked SM opening and Paste are correct for the landing of the device. Visual inspection, did not notice anything, device is seated correctly.
    • Power on reset timing is met, GRSTz should be valid for 3 ms after the power rails are on. Tried 1uF and 10uF, on GRSTZ, we left the 10 uF 
    • USB_VBUS is around 500 mV Yes checked with multimeter
    • TEST pin is low. Yes checked with multimeter
    • Check line states of upstream DM and DP.  DP should go to 3.3V after the hub is on and connected. Only DP1 (pin 21 is high) pins 33 and 41 (DP2,DP3) are low.
    • SMBUSz pin reads 3.3V

     

  • Is anything connected on the downstream ports?  DP will only be high if the port is populated.  Are you able to see any signaling on the upstream DM line?  Also, the hub may go to sleep (L2) if nothing is connected downstream.

    Regards,

    JMMN

  • Hi,

    There are no devices hooked up to the USB connectors. When we try to connect a device, nothing happens.

    We are going to try and use the oscilloscope on the DP/DM and try to see if there is any activity.

    Still puzzled by why the device is not even recognized by the OS. Any thoughts?

    Thanks!

     

  • I don't see anything obvious from the schematic.  Do you see the clock start up?  It may just start and stop if the hub doesn't see any signaling from the host.

    Have you tried toggling GRSTz high - low - high after the system is running to see if the hub gets recognized?

    Regards,

    JMMN

  • Hi,

    Thanks for your suggestions. We were trying to toggle the reset when we noticed that the device is hot to the touch.

    We are thinking that the device was damaged during our debug, is that possible? We are preparing a second test board.

    Thank you!

  • It does sound like the device is not installed correctly or damaged.   When assembling the 2nd board please ensure that the thermal pad has adequate solder paste coverage.

    Regards,

    JMMN

  • Hi,

    After debug TUSB is visible, but one buggy behavior persists.  If _no_ USB peripherals are connected to the TUSB4041, and you plug in a peripheral, you must manually reset GRSTZ to detect the USB device.  This means the “wake” detect of the TUSB is not fully functioning, as it should detect a hot-plug in USB event normally.  However, if two peripherals are plugged into ports on the TUSB, and one is removed and reinserted, the plug in event is automatically detected without having to reset GRSTZ.  So as long as one peripheral is live, it behaves as expected.

    Is there a setting we are missing for auto detection?  

    Thanks!

  • Hi,

    This sounds like an issue on the host / driver side.  Whenever there are no downstream devices connected to a hub, it is normal for a host to put the hub in suspend (low power) mode.  Before it does this, however, it should configure the hub to enable remote wake.  We have validated that the remote wake function works well on the hub over various operating systems, but it is possible that the Linux build is not enabling remote wake on the hub so when the connect event happen, the remote wake is not sent.  Do you have any ability to configure the driver?

    Regards,

    JMMN