SLVAFS8 July 2025 TPS55288 , TUSB1044
For the TPS55288, the goal is to program the converter output behavior based on PD negotiations, and to maintain safe defaults at power-up and disconnect. The TPS65992S event table (indices 0–8 allocated to TPS55288) is set up accordingly. Key register settings on the TPS55288 are derived from the data sheet:
Using these registers, the TPS65992S I2C event sequences are configured as follows:
Power-On Initialization
On a Power-On Reset (PoR) of the PD controller, we initialize the TPS55288 to a known safe state so that the PD controller is ready to supply 5V by default (the standard USB-C default voltage) once the port is active. The TPS65992S firmware triggers several I2C writes to the TPS55288 immediately after PD controller reset:
These three writes (to 0x00, 0x04, 0x06) are done in sequence during the PD controller initialization. By configuring the power converter at PoR, the design maintains that even before any USB-C connection is made, the TPS55288 comes up in a default 5V standby output state (or ready to provide 5V when enabled). This is important for compliance with the USB-C standard which requires 5V present on VBUS initially for attachment. In our case, the actual enabling of VBUS to the connector is controlled by the PD controller power-path switch, but the TPS55288 output is set to the correct level and turned on internally.
(The exact numeric values chosen – 0xD2, 0x03, 0xA0 – correspond to the desired start-up configuration as derived from the TPS55288 data sheet. 0xD2 (210 decimal) for REF LSB is the code for about 5V as explained, 0x03 for VOUT_FS selects internal feedback with 0.0564 ratio, and 0xA0 enables output. Designers can refer to the TPS55288 Register Maps in the data sheet for detailed bit definitions.)
Dynamic PDO Voltage Adjustment (Source PDO Negotiation)
With the converter initialized, the PD controller next needs to adjust the TPS55288 output each time a new PD contract is negotiated. The TPS65992S is configured to issue I2C writes to the REF register whenever a Source PDO is selected by the connected device (for example, whenever the PD source voltage changes). In our example, suppose the system offers four fixed PDOs at 5V, 9V, 15V, and 20V. We define four event triggers in the TPS65992S firmware. (For example, SRC_PDO1_NEGOTIATED, SRC_PDO2_NEGOTIATED, and so on), each mapped to writing the appropriate value to the TPS55288 REF registers.
Each of these writes targets the TPS55288 REF registers to dynamically change VOUT on the fly. The PD controller issues the appropriate command immediately after the PD contract is established. This way, as soon as a sink requests a higher voltage (for example, 15V), the TPS65992S writes the new REF value and the TPS55288 slews the output to the requested level. The slew rate of the output can be controlled by the TPS55288 VOUT_SR register (0x03) if needed, but in our design we rely on the converter default slew, which is typically configured to meet PD timing requirements.
Detach and Reset Behavior
When the USB-C cable is unplugged or the sink device is detached, return the power supply to a safe state. Write 0xD2 0x00 to registers 0x00 (LSB) and 0x01 (MSB). This two-byte write fully resets the reference voltage to the desired 5V default setting, eliminating the possibility of residual high-voltage conditions. Regardless, the outcome is that the TPS55288 output drops to a safe level (approximately 5V or below) when a disconnect occurs. This prevents any residual high voltage on VBUS after the cable is removed.
By setting up these I2C command events for the TPS55288, all power supply adjustments are automated by the TPS65992S firmware without the need for any external MCU intervention. The PD controller monitors the USB-C state and PD messages and triggers the appropriate pre-programmed I2C writes. This maintains that as PD contracts change, the converter seamlessly provides the requested voltage, and when no contract is active (detach or idle), the converter is in a known default state.
Figure 3-1 Power-On Reset Event On
Register 0x00
Figure 3-2 Power-On Reset Event On
Register 0x04
Figure 3-3 Power-On Reset Event On
Register 0x06.
Figure 3-4 SRC PDO1 Negotiated Event On
Register 0x00
Figure 3-5 SRC PDO2 Negotiated Event On
Register 0x00
Figure 3-6 SRC PDO3 Negotiated Event On
Register 0x00
Figure 3-7 SRC PDO4 Negotiated Event On
Register 0x00
Figure 3-8 Detach Event On Register
0x00