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.

TUSB322I: UFP mode with UFP accessory support enabled

Part Number: TUSB322I
Other Parts Discussed in Thread: TPD6S300

For bus-powered application using TPD6S300 & TUSB322I, a customer wanted to configure their application as UFP-only with UFP accessory support disabled.

But they set MODE_SELECT to 01(UFP mode) and did not set DISABLE_UFP_ACCESSORY to 1(UFP accessory support disabled). So the application was configured as UFP with UFP accessory support enabled.

In this case, do you think that any problem will happen?

Their application is bus-powered with TPD6S300 which supports dead battery, so I think that it surely behaves as UFP. What do you think?

Regards

Masumi Saito

  • Hi,

    TPD6S300 does present Rd and Vbus is not present in a bus powered application. When you device is plugged into a DFP port Vbus will be present and TPD6S300 Rd will no longer be present instead TUSB322I will present Rp on the CC Line. This will be due to the Accessory mode being enabled. Your device will then be recognized as a UFP accessory device and not a UFP only device. This is not the intend operation correct? 

  • It's not the intended operation. If TUSB322I is configured as a UFP only device, the accessory mode should be disabled. 

    Thanks.

    Regards

    Masumi Saito

  • Please let me ask one more question. For a bus-powered application and UFP-only device, I want to disable "UFP accessory support" before TUSB322I starts to present Rp on CC. Could you let me know the register access for TUSB322I not to present Rp?

    Regards

    Masumi Saito 

  • Hi,

    I believe that the correct procedure is as follows;

    1. Write a 1'b1 to DISABLE_TERM register (address 0x0A bit 0).
    2. Write a 2'b01 to MODE_SELECT register (address 0x0A bits 5:4)
       Write a 1'b01 to DISABLE_UFP_ACCESSORY (address 0x09 bit 0)
    3. Write a 1'b0 to DISABLE_TERM register (address 0x0A bit 0)

  • In the past discussion, I remember that DISABLE_TERM register should not be disabled and enabled. Because, for bus-powered applications, when the TERM is disabled, VBUS from the DFP could be turned off and the bus-powered product would lose power. The following procedure should be better.

       Write a 2'b01 to MODE_SELECT register (address 0x0A bits 5:4)
       Write a 1'b01 to DISABLE_UFP_ACCESSORY (address 0x09 bit 0)

    But if the register access is late, CC toggle will start due to UFP_ACCESSORY enabled.

    I need to know the register access timing limitation not to toggle CC.

    Regards

    Masumi Saito

  • HI Saito-san,

    The above may also work. TUSB322I does have a wait time before I2C can be accessed as described in the datasheet. this wait time is from both power on and EN_N pin goes low. This spec is called t_I2C_EN located in section 6.7 of the datasheet. Hows does customer control EN pin?

  • Malik-san,

    EN_N pin is connected to GND. Max t_I2C_IN is 100ms. So they need to wait for 100ms and start I2C access.

    Is it possible to set the register before TUSB322I presents Rp on CC?

    If it presents Rp on CC, is there a possibility for DFP to turn off the VBUS?

    Regards

    msmn

  • Malik-san,

    Could you help?

    I need to know the time until TUSB322I presents Rp on CC after I2C access is available.

    Regards

    msmn

  • Hi,

    TUSB322I will debounce the CC pins and wait for VBUS detection before successfully attaching (present Rp). This decoune time is configurable by DEBOUNCE bits and Vbus detection takes about 2 ms after Vbus threshold is meet. In all, it is possible to access TUSB322I before Rp is present but there is very little time for the I2C transactions to occur. 

    Another possibility is that in your application TUSB322I maybe being back powered through the non-fail safe pins causing the device to be stuck in a incorrect state.

    TUSB322I non-failsafe pins (VBUS_DET, ADDR, PORT, ID, OUT[3:1] pins) could back-drive the TUSB322I device if not handled properly. When necessary to pull these pins up, it is recommended to pullup PORT, ADDR, INT_N/OUT3, and ID to the device VDD supply. The VBUS_DET must be pulled up to VBUS through a 900-kΩ resistor. When using the 3.3 V supply for I 2C, the end user must ensure that the VDD is 3 V and above. Otherwise the I 2C may back power the device.

    Could you look into the following questions:

    • When does TUSB322I EN_N pin go low? Is this pin held high at least for 50 ms after VDD has reached its valid voltage level. Does VDD must ramp within 25 ms or less (This is probably the case but I would like to confirm)?
    • Is it possible to power the TUSB322I externally (non-Vbus power) and see if the same issues are experienced? 
  • > When does TUSB322I EN_N pin go low? Is this pin held high at least for 50 ms
    > after VDD has reached its valid voltage level.

    EN_N pin is connected to GND. So EN_N is low when VDD has reached its valid level.

    > Does VDD must ramp within 25 ms or less (This is probably the case but I would like to confirm)?

    Yes.

    > Is it possible to power the TUSB322I externally (non-Vbus power) and see if the same issues are experienced?

    Actually, this issue is because UFP accessory support is enabled. This issues would be experienced if externally powered.

    Therefore the UFP accessory support should be disabled.  According to your answer,  I understand that TUSB322I does not present Rp on CC if I disabled the UFP accessory support bit  from 100ms(Max t_I2C_IN) to 168ms (CC debounce time) since VDD has reached valid. Correct?

    Regards

    msmn

  • Hi,

    This is correct. As I mentioned before care must be taken to ensure the device is not back-powered. If this is the case then the timing will not follow the above since the part will be in an unknown state.