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.

TPS25750: GPIO event for when specific sink PDO negotiated

Part Number: TPS25750
Other Parts Discussed in Thread: TPS25751

Tool/software:

Hi! As the title describes, I'm wondering if it's possible to configure a GPIO event such that the pin is asserted high while a specific sink PDO is negotiated. The purpose of this is to only enable a downstream regulator when a required voltage has been met. 

The TPS negotiator will only be configured with 2 PDOs, one the required basic 5v PDO and a high voltage 20V@3A PDO. To avoid the XY problem fallacy, the final objective is to ensure the aforementioned regulator is disabled while the negotiated voltage is below 20V, whether by means of disabling the sink path entirely if possible, or to de-assert a GPIO connected to its enable pin. Either of these solutions are satisfactory tome, so feel free to suggest either alternative if one isn't feasible.

I haven't figured out how to do either, since it seems like there isn't a GPIO event specific to when a high-voltage sink contract has been negotiated, only for source contracts. It also doesn't seem to disable the sink path while the low voltage PDO is active.

  • Hi Vincent, 

    The TPS negotiator will only be configured with 2 PDOs, one the required basic 5v PDO and a high voltage 20V@3A PDO. To avoid the XY problem fallacy, the final objective is to ensure the aforementioned regulator is disabled while the negotiated voltage is below 20V, whether by means of disabling the sink path entirely if possible, or to de-assert a GPIO connected to its enable pin. Either of these solutions are satisfactory tome, so feel free to suggest either alternative if one isn't feasible.

    For this application I recommend using TPS25751 instead. Not only is this device pin to pin compatible with TPS25750 for easy drop-in, TPS25751 also has the capability to disable its sink path if the negotiated PDO does not meet a configured minimum requirement. In register 0x37 of TPS25751 is the Autonegotiate Sink register there are several configurable fields you can utilize to set so that TPS25751 does not enable the sink path unless 20V/3A PDO is negotiated. Below are some screenshots of relevant fields for setting this configuration (from TPS25751 Technical Reference Manual): 

    There are also example configuration provided in the manual as well to get a better understanding of how the fields work together. For more information on Autonegotiate Sink please refer to the TPS25751 Technical Reference Manual linked here: https://www.ti.com/lit/ug/slvucr8a/slvucr8a.pdf?ts=1717089837552&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTPS25751 

    For more information on the difference between TPS25750 and TPS25751 please refer to this FAQ page: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1346998/faq-tps25751-migrating-from-the-tps25750-to-the-tps25751 

    Thanks and Regards,

    Raymond Lin

  • Thanks for the super-detailed reply! Currently I already have an evaluation prototype using the TPS25750 unfortunately (due to stocking issues with the newer TPS25751), is there any solution to the issue for TPS25750 specifically?

  • Hi Vincent, 

    The only other method with TPS25750 is to used an EC to poll the interrupt for NewContractAsCons (see screenshot below) and read the ACTIVE_CONTRACT_PDO (register 0x34) and ACTIVE_CONTRACT_RDO (register 0x35) to determine the PD contract negotiated and de-asserting the GPIO pin to the DCDC. 

    My recommendation is to still use TPS25751 for this feature if possible, as mentioned before TPS25751 is exactly pin to pin with TPS25750 and is easy to drop in and replace. 

    Let me know if you have any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin

  • Thanks for the suggestion. The board we manufactured does not contain a programmable microcontroller attached to the I2C bus of the TPS. So, it seems like I am out of luck? Can I remove all but one sink PDO to force negotiation to fail if the source doesn't support 20V? In the configuration GUI it doesn't appear to be possible to edit the voltage of the first PDO to anything other than 5V.

    I will definitely keep the TPS25751 in mind for future revisions of the board.

  • Another idea: Since the current (only) of the first PDO is configurable, will setting the required current to something silly like 10A prevent that PDO from ever being successfully negotiated? This way I can effectively force only the second high voltage PDO to be used.

     

  • Hi Vincent, 

    The first Source and Sink PDOs for all compliant PD devices (across all manufacturers) will always be 5V, this is to ensure any connection can start at a safe 5V before negotiating any higher voltage contract if applicable. 

    Setting 10A for source PDO1 might not have any effect, while no source devices out there will be capable of supplying said contract TPS25750 will always request for the highest power available from the source, even if it's only 5V (if that is the highest capability the source can provide). The current limit is determined by the source depending on their capabilities. 

    It might  be possible to do some discrete circuit logic to only enable the DCDC EN pin if VBUS is at 20V and using GPIO event "AttachedAsSink", however the best method would still be to use TPS25751 with the Capability Mismatch feature to allow the PD to automatically disable the power path if the configured minimum power requirement is not met. 

    Thanks and Regards,

    Raymond Lin