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 port only charge (can't recognize phone) after used

Part Number: TUSB4041I
Other Parts Discussed in Thread: TPS2561

Hi all,

I am facing a problem with TUSB4041I, after used about 2 weeks, some USB ports of HUB cannot recognize phone when plugged (not found by lsusb, or tail in ubuntu). It only charge on Samsung phone, even not charge or recognize on iPhone.

I connect over current pin of HUB to protect IC TPS2561DRCR

This is my configuration: 

Reg05: fullPwrMgmtz = 1 (Port power switching status reporting is disabled)

Reg06: batEn[3:0] = 0x0F (enabled for battery charging support features)

Reg0A: HiCurAcpModeEn = 1 (High-current divider mode enabled)

             cpdEN = 1 (Device attach detect is enabled in auto mode)

RegF8 = 1 (active config)

Please give me some advice.

Best Regards.

  • Hello,
    Are you using an TI's evaluation board? If not, can you share your schematics?
    Can you provide a linux log?
    You said "...some of the ports...", does that mean other downstream ports are working properly? That will indicate more like a hardware issue.
    Can you probe VBUS and the current consumption on the failing ports?
    Can you test a phone other than an iphone or samsung?
    Regards
  • Hello Phien,

    Can you provide the schematic as Elias requested? If battery charging is enabled, then I would expect port power switching to be enabled (full power management mode). Also, active configuration should only be high while the SMBUS is actively configuring the device. If i2C is used, this bit is not used.

    Regards,
    JMMN
  • Hello Phien,

    Is there any update on this issue?

    Regards,
    JMMN
  • Hello Phien,

    I will be closing this thread for now. If you have an update to share, please post it to reopen the thread.

    Thanks!
    JMMN
  • Hi JMMN,

    Sorry for late response, I move to a urgent project and now i back to this.

    I send you schematic of TUSB4041I.

    At current version, i connect FAULT pin of protect IC to Hub. I think it's the reason make USB port at downstream can't recognize phone, don't you think?

    Thank you,

    Phien

  • Hi Phien,

    When the TUSB4041 has charging enabled on a port, it must control the USB power switch for that port using the associated PWRCTLx/BATENx signal.  This enables the TUSB4041 to force the attached device (phone or tablet) to disconnect and reconnect by forcing VBUS low, when the attached device needs to swap between CDP and DCP mode or DCP mode and divider mode.

    Regards,

    JMMN

  • Hi JMMN,

    "when the attached device needs to swap between CDP and DCP mode or DCP mode and divider mode"

    => It mean: when a device attached i have to change config of HUB. But i already config auto mode when device attached.

    Could you give value of registers i have to change to fix this?

    Thank you,

    Phien Nguyen 

  • Hi Phien,

    The TUSB4041 will automatically change between CDP, DCP mode and Divider mode if automode and battery charging mode are enabled, no register settings need to be changed after power on reset. The TUSB4041 can only be configured at power on reset, it cannot be dynamically changed.

    What is meant is that the hub toggles VBUS low to high when it changes from CDP mode to divider mode and then the hub toggles VBUS low to high when it changes from divider mode to DCP mode, and again the hub toggles VBUS low to high when it changes from DCP mode to CDP mode. This VBUS toggle is required for the downstream device to complete the handshake to enter the correct charging mode.

    Regards,
    JMMN
  • Hi JMMN,

    When device can't recognize, I try to re-power USB port (toggles VBUS low to high) but It still can't detect device and i found that from linux debug:

    Aug 15 11:20:07 VM60 kernel: [14224.545088] usb 1-1.3.2.3: device descriptor read/64, error -71
    Aug 15 11:20:07 VM60 kernel: [14224.733010] usb 1-1.3.2.3: device descriptor read/64, error -71
    Aug 15 11:20:07 VM60 kernel: [14224.908963] usb 1-1.3.2.3: new high-speed USB device number 111 using ehci-pci
    Aug 15 11:20:07 VM60 kernel: [14224.992913] usb 1-1.3.2.3: device descriptor read/64, error -71
    Aug 15 11:20:08 VM60 kernel: [14225.180850] usb 1-1.3.2.3: device descriptor read/64, error -71
    Aug 15 11:20:08 VM60 kernel: [14225.356783] usb 1-1.3.2.3: new high-speed USB device number 112 using ehci-pci
    Aug 15 11:20:08 VM60 kernel: [14225.772528] usb 1-1.3.2.3: device not accepting address 112, error -71
    Aug 15 11:20:08 VM60 kernel: [14225.844614] usb 1-1.3.2.3: new high-speed USB device number 113 using ehci-pci
    Aug 15 11:20:09 VM60 kernel: [14226.260329] usb 1-1.3.2.3: device not accepting address 113, error -71
    Aug 15 11:20:09 VM60 kernel: [14226.260465] hub 1-1.3.2:1.0: unable to enumerate USB device on port 3

    I found a topic about it:

    and SMBUSZ pin is pulled low right now because i config by MCU. How can i fix that? Please give me some advice.

    (If i use MCU but config by I2C, do i need config SMBUSZ is high?1 HUB has 4 port but only one of them failed)

    Thank you,

    Phien Nguyen

  • Hello,
    Can you change the USB failing device to another downstream port?
    Can you share the Register values you are writing via SMBUS?
    How are you toggling VBUS? This should be done by the Hub.
    Regards
  • Hi Elias Villegas M.

    Can you change the USB failing device to another downstream port?
    => Only one downstream port of HUB failed. the others is good.
    Can you share the Register values you are writing via SMBUS?
    => I shared my config in the first post of this topic.
    How are you toggling VBUS? This should be done by the Hub.
    => i control it by control EN pin of TPS2561 (i removed AND gate from the schematic above, only connect EN pin of TPS2561 to MCU)

    Thank you.
  • Hi all,

    I update my topic: At downstream port can't recognize device it only can't detect high speed USB device, a full speed USB device work fine at this one.

    Thank you.

  • Hi Phien,

    Can you confirm which port is failing? If it is port 1, can you try disabling automode via the registers and seeing if the problem is improved?

    Regards,
    JMMN