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.

TUSB8044A: PARK mode and Port configuration

Part Number: TUSB8044A


Dear team, 

My customer are using TUSB8044A at their application. there are 2 question on this device. 

1. What is PARK mode? 

- If the Host disable PARKMODE(Host operation: all SS BUS instances in park mode are disabled), How will it affect TUSB8044A operation? 

2. We can see port configuration examples(Table 7) at datasheet. The customer would like to switch port configuration between USB3.0 to USB2.0 at same port during operation due to thermal issue. 

- Portx indicate DNx. is it right? then, What is port 5 and port 6? please let me know. 

- Can the customer set up anything other than the table 7 configuration? 

- If the customer want to change port configuration (USED[3:0], RMBL[3:0], USB2_ONLY [3:0] ), Can we change this configuration during operation?

- If the customer change the register value, does this setting apply directly? or the customer have to reset or do other action to operate with changed register value? 

Please let me know your opinion regarding above request. 

Thank you. 

  • Hello:

    for 1: where do you find PARK mode?

    2: a: port 5 is HID port and port 6 is billboard port, these are internal port.

       b: you can setup anything other than table 7.

      c: it can be changed either by EERPOM or SMBusz. So if you use SMBusz,  you can change during operation.

      d: after changing configuration, hub still need GRStz rest.

    Best

    Brian

  • Hello Brian, 

    Thank you for your reply. 

    for 1: where do you find PARK mode?

    I heard that from Host controller(i.MX8MP) not TUSB8044A like below. but I can't not  detail function so I requested your help. please let me know your opinion. 

    d: after changing configuration, hub still need GRStz rest.

    After changing register 0x07, 0x08, 0x26 to set port configuration, If GRSTz is asserted, Does this reset bring all of the TUSB8044A internal registers to their default states? please let me know your opinion again. 

    Thank you. 

  • 1: looks PARK mode is just debug mode for their device, 

    2: sorry, EEPROM need reset SMBusz don't need reset, hub upstream will not enumerate until the SMBus host indicates configuration is complete by clearing the CFG_ACTIVE bit.

    Best

    Brian

  • Hello Brian, 

    Thank you for your reply. 

    1: looks PARK mode is just debug mode for their device, 

    I got it. 

    2: sorry, EEPROM need reset SMBusz don't need reset, hub upstream will not enumerate until the SMBus host indicates configuration is complete by clearing the CFG_ACTIVE bit.

    I don't understand yet. The customer are using I2C interface to configure internal EEPROM, but after port configuration, If GRSTz is asserted, the value of TUSB8044A internal registers turn to their default states. please review it again and let me know your opinion. 

    And There are issue on port configuration. Please review below issue and let me know your opinion. 

    1. The customer can't change value for used[3:0] register. 

    - Write 0x07h : 8Fh , customRmbl bit is set  => Read 0x07h : 8Fh

    - Write 0x08h : 00h, All port disable  => Read 0x08h : 0Fh 

    Although the customRmbl bit is set to 1, we can't change used[3:0] value

    Please check this phenomenon and let me know your opinion. 

    2. The customer would like to set specific port as USB2.0 configuration although inserted USB3.0 storage device due to thermal issue but there is fail issue. 

    - Write 0x07h : 8Fh , customRmbl bit is set  => Read 0x07h : 8Fh

    - Write 0x08h : 0Fh, All port disable  => Read 0x08h : 0Fh 

    - Write 0x26h : 3Fh, All port is set for USB2.0 operation. => Read 0x26h : 3Fh

    Under above configuration,If the customer connect USB3.0 storage device, but there is fail.When the customer connect USB2.0 storage, there is no fail issue.

    If the customer set specific port of TUSB8044A to USB2.0 only port, TUSB8044A can't recognize USB3.0 device? Is it normal operation of TUSB8044A? please let me know your opinion. 

    3. Is there any way to operate as USB2.0 although connected USB3.0 device? 

    Thank you. 

  • after you changed EEPROM, it will not go back to default setting after GRSTz reset. It will keep the new updated state.

  • Hello Brian, 

    Thank  you for your comment. 

    As your recommendation, 

    1. Write EEPROM by I2C 

    - Write 0x07h : 8Fh , customRmbl bit is set  => Read 0x07h : 8Fh

    - Write 0x08h : 0Fh, All port disable  => Read 0x08h : 0Fh 

    - Write 0x26h : 38h, All port is set for USB2.0 operation. => Read 0x26h : 38h 

    Please refer to the below value (red box)

    2. GRSTz signal High(default) => Low => High 

    - Read 0x07h : 0Fh

    - Read 0x08h : 0Fh 

    - Read 0x26h : 30h 

    => EEPROM value turned to default value after reset and TUSB8044A can operate with default EEPROM value  

    Port 4 recognize also usb3.0 device as USB3.0device not USB2.0 device 

    Please refer to the below value (red box)

    Please review Previous phenomenon again and let me know your opinion.  

    Thank you. 

  • Hi,

    Brian is referring to an external EEPROM. When you are change the content of the external EEPROM, you would need to reset the TUSB8044A so TUSB8044A can read the new configuration from the external EEPROM.

    Thanks

    David

  • Hello David, 

    Thank you for your comment. I am sorry for confusing.  Below step is port configuration as changing internal register using I2C line. 

    There are issue on port configuration. Please review below issue and let me know your opinion. 

    1. The customer can't change value for used[3:0] register. 

    - Write 0x07h : 8Fh , customRmbl bit is set  => Read 0x07h : 8Fh

    - Write 0x08h : 00h, All port disable  => Read 0x08h : 0Fh 

    Although the customRmbl bit is set to 1, we can't change used[3:0] value

    Please check this phenomenon and let me know your opinion. 

    2. The customer would like to set specific port as USB2.0 configuration although inserted USB3.0 storage device due to thermal issue but there is fail issue. 

    - Write 0x07h : 8Fh , customRmbl bit is set  => Read 0x07h : 8Fh

    - Write 0x08h : 0Fh, All port disable  => Read 0x08h : 0Fh 

    - Write 0x26h : 3Fh, All port is set for USB2.0 operation. => Read 0x26h : 3Fh

    Under above configuration,If the customer connect USB3.0 storage device, but there is fail.When the customer connect USB2.0 storage, there is no fail issue.

    If the customer set specific port of TUSB8044A to USB2.0 only port, TUSB8044A can't recognize USB3.0 device? Is it normal operation of TUSB8044A? please let me know your opinion. 

    3. Is there any way to operate as USB2.0 although connected USB3.0 device? 

    Thank you. 

  • Hi,

    You can not change the internal register using I2C since TUSB8044A will act as an I2C controller. There are two options on changing TUSB8044A internal registers.

    • TUSB8044A in SMBUS mode, in this case TUSB8044A will act as a SMBUS target
    • TUSB8044A in I2C mode, in this case TUSB8044A will act as an I2C controller, updating its internal register by reading an external EEPROM. The external EEPROM will contain the TUSB8044A internal registers configuration value

    The USB2.0 and USB3.x are two separate buses. If TUSB8044A only has its USB2.0 (DP and DM) connected to a USB connector, then the USB3 device will always enumerate at USB2.0 as well.

    Thanks

    David

  • Hello David, 

    Thank you for your kind comment. 

    For double confirm, There is below comment at datasheet 3page. Due to below comment(RED), I thought the TUSB8044A would work as an I2C slave. 

    The TUSB8044A provides pin strap configuration for some features including battery charging support, and also provides customization though OTP ROM, I 2C EEPROM, or via an I2C/SMBus slave interface for PID, VID, and custom port and phy configurations. Custom string support is also available when using an I2C EEPROM or the I2C/SMBus slave interface.

    Do you mean the customer can't change the internal register using I2C interface of Host MCU? Is it right? 

    but we found than we can change the internal register value like 0x25h bit4(USB2.0_only) and operate well via I2C. How can I understand this operation? 

    Are specific register values not changing via I2C? please let me know your opinion one more. 

    Thank you. 

  • It's I2C master for EEPROM, but slave for SMBus.

    Regards

    Brian

  • Hello Brian, 

    I understand TUSB8044A I2C master for EEPROM, but slave for SMBus. 

    but we found than we can change the internal register value like 0x25h bit4(USB2.0_only) and operate well via I2C. How can I understand this operation? 

    Are specific register values not changing via I2C? The customer want to know why we can change specific register and operate well. Please let me know your opinion one more. 

    Thank you. 

  • For real time I2C, it's similar to SMBus, so you can not reset.

    For EEPROM,I2C is master. Hub will read EEPROM configuration  every time powerup.

    Do you want to change ports configuration even for production device with i2C?

    Regards

    brian

  • Hello David and Brian, 

    Thank you for your strong support. 

    Once the customer use SMBus to change internal register, Above issue is cleared. 

    Thank you.