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: Requested Schematic review: PWRON1/2/3/4 won't go high

Part Number: TUSB4041I

I am having trouble bringing up the TUSB4041I on our custom board.  I've made a few mods already and the hub enumerates on the ARM side however none of the USB ports are getting 5V on VUSB.  PWRON is low for all ports.

List of mods:

  • USB2: Remove R127 from 1.1V regulator. Should have been a cap but can be left no popped
  • USB2: Connect R113 USB2_DRVVBUS to D12 (USB_5V), cut trace to ARM
  • USB2: Increase GRSTz cap to 10uF
    Our VDD1.1 comes up after VDD3.3 so increased GRSTz cap to ensure reset happens after.  With 10uF, reset comes up >130ms after 1.1V goes stable.

TUSB4041.pdf

  • Hi Jonathan,

    It doesn't look like my earlier answer posted.

    Do you see the host load a hub driver / enumerate the hub as a hub?  The hub will not power on its downstream ports until it receives the command to do so from the host.  Can you check the level on the PWRCTL_POL pin?  Also, can you try adding a 10K pullup to one of the downstream PWRCTL outputs?  This will enable downstream port battery charging, so when there is no upstream host connected and USB_VBUS is low, the hub will power on the downstream port.  This is for test only to make sure the hub is driving the PWRCTL outputs as expected.

    Regards,

    JMMN

  • root@mitysom-am57x:~# lsusb
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 0451:80ff Texas Instruments, Inc.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    root@mitysom-am57x:~# lsusb -t
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
        |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M


    [   10.267525] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   10.273492] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [   10.283080] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [   10.293140] xhci-hcd xhci-hcd.0.auto: irq 196, io mem 0x488d0000
    [   10.299985] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [   10.308544] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   10.315797] usb usb1: Product: xHCI Host Controller
    [   10.321154] usb usb1: Manufacturer: Linux 4.19.79-00321-g29f24c68c0de-dirty xhci-hcd
    [   10.329473] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   10.339202] hub 1-0:1.0: USB hub found
    [   10.342993] hub 1-0:1.0: 1 port detected
    [   10.348933] prueth pruss2_eth: port 1: using random MAC addr: 02:fd:5a:51:87:ef
    [   10.356504] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   10.363506] prueth pruss2_eth: port 1: using random MAC addr: d6:fe:1a:b1:62:92
    [   10.370898] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [   10.378616] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [   10.385234] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   10.393490] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
    [   10.401826] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   10.409099] usb usb2: Product: xHCI Host Controller
    [   10.413996] usb usb2: Manufacturer: Linux 4.19.79-00321-g29f24c68c0de-dirty xhci-hcd
    [   10.421785] usb usb2: SerialNumber: xhci-hcd.0.auto
    [   10.427727] hub 2-0:1.0: USB hub found
    [   10.431520] hub 2-0:1.0: 1 port detected
    [   10.436209] prueth pruss2_eth: port 1: using random MAC addr: 3e:16:5e:03:3d:f8
    [   10.445060] prueth pruss2_eth: port 1: using random MAC addr: 82:23:eb:db:c1:e2
    [   10.716743] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   10.908012] usb 1-1: New USB device found, idVendor=0451, idProduct=80ff, bcdDevice= 1.01
    [   10.916231] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    

    Here is the usb output, looks like its not getting enumerated as a hub.  Any idea why.

  • Hi Jonathan,

    The hub is reporting as a programming endpoint.  Please make sure that SMBUSz = 1, and that there is not a blank EEPROM attached to the hub.  Also, make sure none of the downstream DP/DM pairs are being forced into the SE1 state.

    Regards,

    JMMN

  • > Can you check the level on the PWRCTL_POL pin?

    It reads 3.3V

    > Also, can you try adding a 10K pullup to one of the downstream PWRCTL outputs?

    I'll check with our hardware wizards.  These pins are too small for me :D

  • > The hub is reporting as a programming endpoint.  Please make sure that SMBUSz = 1,

    It reads 3.3V

    > and that there is not a blank EEPROM attached to the hub. 

    There is a blank eeprom on this i2c bus.  It was added just to have an eeprom on the baseboard, not to configure the hub...  Is there something I can write to the eeprom to make it non-blank that will cause the hub to ignore it?

    > Also, make sure none of the downstream DP/DM pairs are being forced into the SE1 state.

    What am I looking for here?  A certain voltage?

  • Success.  I had the i2c bus cut so those pins are floating and the hub enumerated and I can successfully plug in devices into the usb ports.

    Does everything else look alright.  Is this an appropriate mod?

  • Cutting the traces is fine, the hub does not need the EEPROM to work. It can be pin configured.  Everything else looks ok.

    Let me know if you have any other issues.

    Regards,

    JMMN