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.

TPS65987D: I2C commands to TUSB1146 when not externally powered.

Part Number: TPS65987D
Other Parts Discussed in Thread: TUSB1146

I have an issue with the TPS65987D setting up the TUSB1146 before it has power.

 I have a custom system that uses the TUSB1146 in conjunction with TPS65987D. There are two power supplies, USB-C via the TPS65987D, and a wall supply. TPS65987D I2C communication with TUSB1146 works great except for one detail... the TUSB1146 is powered by downstream power supplies (that are turned on via a mechanical switch) while the TPS65987D is powered by its own 3V3 LDO. Basically, TUSB1146 gets set up properly when plugging USB C device if I'm using wall power and the system is already on. But if I'm powering with USB C, then the TPS65987D issues the I2C commands as soon as the TPS65987D detects the cable insertion. But the TUSB1146 isn't on yet as it is still waiting for the downstream 3V3 rail to come up.

I'm trying to find a way to input the downstream 3V3 to a GPIO input to trigger I2C events again. Something like using a GPIO to perform a power on reset but there isn't that input for GPIO. There doesn't quite seem to be the right combination between the GPIO mapped events and I2C trigger events. But maybe I'm not thinking creatively enough. FYI I'm not using any alt modes and currently use the "Cable Attach CC_x PD" trigger events to send I2C commands.

Any suggestions?

  • Hi Merlyn, 

    I don't see an obvious solution here either initially. Let me consult with my team for a potential solution and get back to you.

    Best,

    Alex

  • Hi Merlyn,

    There is no solution for a power on reset using an event. 

    However, you have two options for configuring the TUSB correctly in dead battery mode when the system is not on yet.

    1.) You can use GPIO to configure the TUSB device. Its datasheet states that it can be configured using GPIO or I2C. This would eliminate you needing to use I2C event to send I2C commands.

    2.) You can use the ADCIN1 resistor divider to change the boot mode configuration for dead battery. See below.

    BP_NoResponse would be what you are looking for so that the PD controller would not boot up in dead battery until your 3.3V rail is up and VIN_3V3 is present. The PD can then send the I2C command you need after cable attach like you are doing now.



    See Table 8-7 in the datasheet for device configuration descriptions.

    Best,

    Alex