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: USB downstream port occasionally DP/DM crossover

Part Number: TUSB4041I

Hello, we have some problems using the chip TUSB4041:  

1.TUSB4041 chip's USB downlink port will occasionally have DP/DM crossover, with a probability of 50%. How can this happen?  

2.The CPU fails to identify the TUSB4041 chip ID

  • Hello Tian Zhang,

    Please describe the failure when the DP/DM crossover happens?  The only way to change the polarity on a downstream port is by writing the registers of the hub through EEPROM or SMBUS/I2C host over SDA/SCL.

    Regards,

    JMMN

  • Hello,thanks for your reply,

    1.In 50% of all products, DP/DM crossover occurs when they are powered on for the first time

    And another question like this

    2.The CPU fails to identify the TUSB4041 chip ID

  • Please share a schematic.  How is "DP/DM crossover" determined?

  • It can be seen from the schematic diagram that we did not connect EPROM or SMBUS/I2C host over SDA/SCL, but when we actually used it, we found that if the downstream end cannot be used, it can be used by crossing DP/DM. Caused by?

  • Hello,

    Can you confirm my understanding?

    • EEPROM / SMBUS is not normally used.
    • 50% of the time on power up the CPU cannot find the hub.
    • Crossing DP/DM fixes the issue when the CPU cannot find the hub.

    What registers are you writing when crossing DP/DM?

    Does this problem only occur on the upstream port?

    Can the ARM be crossing DP/DM?

    Regards,

    JMMN

  • Hello,

    1、EEPROM / SMBUS is indeed not connected;

    2、The CPU always can find the hub,but 50% of the time on power up the hub downstream port occasionally DP/DM crossover;

    3、Crossing DP/DM fixes the issue when the the hub downstream port DP/DM crossover;

    4、I did not write any value to the register when the the hub downstream port  DP/DM crossover;

    5、This problem only occur on the downstream port;

    6、The ARM's DP/DM has never crossed DP/DM.

    Thank you for your reply!

  • Can you explain how "Crossing DP/DM fixes the issue when the the hub downstream port DP/DM crossover;" - how is DP/DM being crossed to fix the issue?

  • I stripped the cable of the mouse and exposed the DP/DM. When the mouse couldn't be used, I connected the DP of the mouse to the hub downstream port DM, and the DM to the hub downstream port DP, and found that the mouse can be used.

  • Hi,

    That is very strange, without changing the register setting of the hub, it is not possible for DP/DM to swap.

    Are you able to see this behavior with anything other than that mouse?

    Can you share a DP/DM scope capture?

    Regards,

    JMMN

  • Hello,

    1.Can you provide a way to test the register value of the hub? Let's confirm whether it is the default value.

    2.U disk will also have this abnormal phenomenon.

    3.Do you need DP/DM waveforms?

  • Hi,

    You can read back the registers of the hub using an I2C host or SMBUS host, it cannot be done over USB.

    Please provide the DP/DM waveforms, that would be very helpful.

    Regards,

    JMMN

  • Hi,

    We had read back the registers of the hub using an I2C host or SMBUS host, but nothing.I can try again.

    The waveform is as shown below:

  • There is a question about the above waveform, why does it enumerate twice when the USB host enumerates the TUSB4041?

  • Hi Tian,

    So for reading back the registers, you can connect the hub as usual with SMBUSz set high and no EEPROM attached, then once the hub is active, you can use a SMBUS or I2C host to read back the registers at this address:

    The waveforms you shared look correct.  The 2nd reset is typically caused by the software.  The host might enumerate a port, then do a soft reset to it which will cause a 2nd enumeration.

    Regards,

    JMMN