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.

We'd like to know how TUSB8041 works in SMBus mode to check schematic design and FW code implementation.

Other Parts Discussed in Thread: TUSB8041, TUSB8042, TUSB8042A, TUSB8044AEVM

Hi,


Q1:

Let SMBUSz = 0, how to check if TUSB8041 enter SMBus mode?

Q2:

When SMBUSz = 0, the functions, pin 40 and 42, are assigned to SMBA1 and SMBA2, and we can use these two pins to assign different SMBus address, right?

Q3.

We'd like to know if the register (8h, bit 3:0) is used to enable/disable USB port of TUSB8041

The register 8h can be controlled by SMBus host, not OTP ROM, right?

Q4.

How to let USB HUB to work normally by BIOS FW, can you provide the detailed procedures and steps?

  • Hi Kevin,

    Q1:

    Let SMBUSz = 0, how to check if TUSB8041 enter SMBus mode?

    A1: The hub will always enter SMBUS mode when it sees SMBUSz=0 as it exits reset.  The hub will remain in programming mode until the SMBUS host sets the cfgactive bit in the hub register.

    Q2:

    When SMBUSz = 0, the functions, pin 40 and 42, are assigned to SMBA1 and SMBA2, and we can use these two pins to assign different SMBus address, right?

    A2. Yes, this is correct.

    Q3.

    We'd like to know if the register (8h, bit 3:0) is used to enable/disable USB port of TUSB8041

    The register 8h can be controlled by SMBus host, not OTP ROM, right?

    A3. Yes, this is correct, but please be aware that this cannot be actively changed during hub operation.  It should be set after the hub exits reset and then not changed.

    Q4.

    How to let USB HUB to work normally by BIOS FW, can you provide the detailed procedures and steps?

    A4. Set SMBUS = 1, and do not connect any I2C EEPROM and the hub will work in default mode.  I am not sure what you mean by "work normally by BIOS FW", let me know if this does not answer your question.

    Regards,

    JMMN 

  • Hi JMMN,

    Q1.

    In SMBus mode, we don't set cfgacitve=1, TUSB8041 is workable in windows

    This behavior is not expected, can you help to clarify it?

    Q4.

    Refer to 9.4.3, that mention that will not connect on the upstream before SMBus host configuration is completed.

    When there are two USB ports are used to internal application and devices are always connected to USB HUB,

    can you help check if the application will affect SMBus mode application?

    We'd lik to know how to implement schematic design and initial USB HUB in SMBus through BIOS FW 

    Q5.

    We can't disable USB HUB port 1 and 3 through the register 8h, invite TI comment on how to solve this issue.

  • Hi Kevin,

    In the TUSB8041, if SMBUSz = 0, but SDA/SCL are not pulled high, then the hub will enter the default pin configured mode instead of SMBUS programming mode.  This is not a common implementation so it is not mentioned in the datasheet.

    In later versions of the hub TUSB8042/A, 43/A, 44/A if SMBUSz is low, the hub will enter SMBUS programming mode regardless of the SDA/SCL settings.

    Having downstream devices connected will not impact hub entry to SMBUS programming mode.

    The issue with Port 1 and Port 3 programming is fixed in the TUSB8042A: https://www.ti.com/lit/an/slla445/slla445.pdf

    Regards,

    JMMN

  • Q4

    When customer disable USB in BIOS setup menu, BIOS need to issue command for every power cycle and the process is below

    1) After USB HUB reset is deasserted, change cfgactive to 1

    2) Change the setting of 8h to disable specified USB ports execpt port 1 and 3.

    Please help confirm if my understand is correct

    Q6

    TUSB8042A and TUSB8041 are pin to pin compatible, right?

    Q7

    What do we pay attention to TUSB8042A design?

  • A4. If SMBUSz is low, the hub registers should be set to the correct values after reset and then cfgactive is set / cleared for the hub to start normal operation.

    Register 7h - set customRmbl bit 

    Register 8h - set used bits as need

    A6, Yes, but TEST pin should be pulled down

    A7:
    www.ti.com/.../slla377.pdf
    www.ti.com/.../slla445.pdf

  • Hi,

    Can you provide reference schematic of TUSB8042A for reference?

  • Hi Kevin,

    The TUSB8044AEVM design can be used as a reference.  Please note that the PCB stackup is not ideal, but layout is valid.

    Regards,

    JMMN

  • Hi,

    We will confirm initial step again, please let me know if my understanding is correct.

    1) Exit reset

    2) USB Hub enters SMBus mode due to SMBUSz=0.

    3) BIOS configures USB Hub via SMBUS to enable all USB ports.

    4) BIOS sets/clears cfgactive to effect settings, USB Hub exits SMBus mode and goes into normal operation.

    5) BIOS checks USB ports via USB protocol to detect any devices connected.

    If USB function operation normally, BIOS can't change the setting of USB HUB, rihgt?

  • That is correct, the BIOS should not change the settings of the hub after it has gone into normal operation.

    Regards,

    JMMN

  • Hi,

    If USB HUB has gone into normal operation and we'd like to enable/disable USB ports in SMBus mode, we need to reset USB HUB through GRSTz pin again and follow initial process to disable/enable USB ports, is correct?

  • Hi,

    Sorry, add a question following the question above, when USB HUB has gone into normal operation, is there any other methods to enable/disable USB ports?

  • HI Kevin,

    The SMBUS registers for the hub are not intended to be actively changed during normal operation.  The expectation is that they are set after a reset, and once the hub is in normal mode they are not changed again.  

    Regards,

    JMMN

  • Hi,

    SMBus host can detect two USB HUB address to ensure USB HUB goes into SMBus mode.

    And then we didn't change any setting and set/clear CFG_ACTIVE bit through SMBus host,but USB HUB still has gone normal opeation, the symptom is expected? (USB device can be detected and transfer data)

    Checked out datasheet, cfgactive bit is changed to 0 from 1 after reset.

    You mentioned that host need to set/clear cfgactive bit to get USB HUB out of programming mode. 

    I has a little confuse, can you explian the behavior of cfgactive?

  • Hi Kevin,

    SMBus host can detect two USB HUB address to ensure USB HUB goes into SMBus mode.

    Do you mean that there are two USB hubs on the SMBUS?

    And then we didn't change any setting and set/clear CFG_ACTIVE bit through SMBus host,but USB HUB still has gone normal opeation, the symptom is expected? (USB device can be detected and transfer data)

    Checked out datasheet, cfgactive bit is changed to 0 from 1 after reset.

    The cfgactive bit is set to "1" to clear it, see below.  Once that happens, the hub is back in active normal mode.

    Regards,

    JMMN