SPMU379A April   2026  – July 2026 TPS25751A

 

  1.   1
  2.   Read This First
    1.     Notational Conventions
    2.     Glossary
    3.     Related Documents
    4.     Support Resources
    5.     Trademarks
  3. 1Introduction
    1. 1.1 Purpose and Scope
  4. 2PD Controller Host Interface Description
    1. 2.1 Overview
    2. 2.2 Register and Field Notation
  5. 3Unique Address Interface
    1. 3.1 Unique Address Interface Protocol
  6. 4PD Controller Policy Modes
    1. 4.1 Overview
    2. 4.2 Source Policy Mode
    3. 4.3 Sink Policy Mode
  7. 5Register Overview
    1. 5.1 TPS25751A Registers
  8. 64CC Task Detailed Descriptions
    1. 6.1 Overview
    2. 6.2 CPU Control Tasks
      1. 6.2.1 'Gaid' - Return to Normal Operation
      2. 6.2.2 'GAID' - Cold Reset Request
    3. 6.3 PD Message Tasks
      1. 6.3.1 'SWSk' - PD PR_Swap to Sink
      2. 6.3.2 'SWSr' - PD PR_Swap to Source
      3. 6.3.3 'SWDF' - PD DR_Swap to DFP
      4. 6.3.4 'SWUF' - PD DR_Swap to UFP
      5. 6.3.5 'GSkC' - PD Get Sink Capabilities
      6. 6.3.6 'GSrC' - PD Get Source Capabilities
      7. 6.3.7 'SSrC' - PD Send Source Capabilities
      8. 6.3.8 'GPPI' - PD Get Port Partner Information
      9. 6.3.9 'MBRd' - Message Buffer Read
    4. 6.4 Power Switch Tasks
      1. 6.4.1 'SRDY' - System Ready to Sink Power
      2. 6.4.2 'SRYR' - SRDY reset
    5. 6.5 Patch Bundle Update Tasks
      1. 6.5.1 'PBMs' - Start Patch Burst Mode Download Sequence
      2. 6.5.2 'PBMc' - Patch Burst Mode Download Complete
      3. 6.5.3 'PBMe' - End Patch Burst Mode Download Sequence
      4. 6.5.4 'GO2P' - Go to Patch Mode
      5. 6.5.5 'FLrd' - Flash Memory Read
      6. 6.5.6 'FLad' - Flash Memory Write Start Address
      7. 6.5.7 'FLwd' - Flash Memory Write
      8. 6.5.8 'FLvy' - Flash Memory Verify
    6. 6.6 System Tasks
      1. 6.6.1 'ANeg' - Auto Negotiate Sink Update
      2. 6.6.2 'DBfg' - Clear Dead Battery Flag
      3. 6.6.3 'I2Cr' - I2C Read Transaction
      4. 6.6.4 'I2Cw' - I2C Write Transaction
      5. 6.6.5 'GPsh' - set GPIO high
      6. 6.6.6 'GPsl' - set GPIO low
  9. 7User Reference
    1. 7.1 PD Controller Application Customization
    2. 7.2 Loading a Patch Bundle
    3. 7.3 AUTO_NEGOTIATE_SINK Register
      1. 7.3.1 AUTO_NEGOTIATE_SINK Usage Example 1
      2. 7.3.2 AUTO_NEGOTIATE_SINK Usage Example 2
      3. 7.3.3 AUTO_NEGOTIATE_SINK Usage Example 3
      4. 7.3.4 AUTO_NEGOTIATE_SINK Usage Example 4
    4. 7.4 Liquid Detection Registers
    5. 7.5 GPIO Events
  10. 8Revision History

AUTO_NEGOTIATE_SINK Register

In general, writing to AUTO_NEGOTIATE_SINK register while a sink contract is in place does not cause an automatic renegotiation, and changes take effect the next time a contract is negotiated. The ANeg command forces a re-evaluation of this register and a new Request message is issued if appropriate.

However, if a Sink PPS Explicit Contract is already in place there are some fields that do cause the PD controller to automatically reevaluate the register and send a new Request message if appropriate:

  • PPSOutputVoltage
  • PPSOperatingCurrent
  • PPSEnableSinkMode
  • PPSRequestInterval
  • RequireFullVoltageRange
  • PPSSourceMode

If PPSEnableSinkMode is changed while a Sink PPS Explicit Contract is not already in place the PD controller also automatically re-evaluates the register and sends a new Request message if appropriate.

If the first four bytes of this register are written as zero, then the PD controller always requests a 5V Fixed Suppy contract at 100mA; unless PPSEnableSinkMode is asserted in which case an APDO can be selected.

To implement Sink PPS features in this register, the host shall provide an APDO in the TX_SINK_CAPS register. If the PD controller is evaluating a PPS supply type, the controller only uses the first APDO in the TX_SINK_CAPS register to determine when to assert the Capability Mismatch bit. Therefore, it is recommended that the host only have one APDO in the TX_SINK_CAPS register. The source APDO advertised by the source must meet the following conditions to not assert the Capability Mismatch bit:

  • RX_SOURCE_CAPS.APDO.MinVoltage <= TX_SINK_CAPS.APDO.MinVoltage
  • RX_SOURCE_CAPS.APDO.MaxVoltage >= TX_SINK_CAPS.APDO.MaxVoltage
  • RX_SOURCE_CAPS.APDO.MaxCurrent >= TX_SINK_CAPS.APDO.MaxCurrent

If the source fails any of the conditions above, a sink PPS contract is still requested if one of the source APDOs meets these conditions:

  • RX_SOURCE_CAPS.APDO.MinVoltage <= AUTO_NEGOTIATE_SINK.PPSOutputVoltage
  • RX_SOURCE_CAPS.APDO.MinVoltage >= AUTO_NEGOTIATE_SINK.PPSOutputVoltage
  • RX_SOURCE_CAPS.APDO.MaxCurrent >= AUTO_NEGOTIATE_SINK.PPSOperatingCurrent

During PPS operation, if the host sets the PPSOutputVolage field to a value outside what the source APDO can deliver as reported in the RX_SOURCE_CAPS register, then a Fixed Supply PDO is selected and the sink path can be automatically disabled (see AUTO_NEGOTIATE_SINK.PPSDisableSinkUponNonAPDOContract).

If PPS is enabled, then an APDO that fulfills the requirements is given highest priority.

The following is a high-level summary of how this register drives the PDO selection when PPS is disabled or no matching APDO is found.

  • Parse the received PDOs in the register RX_SOURCE_CAPS. Discard any PDO whose voltage range is below ANMinVoltage or above ANMaxVoltage.
  • Calculate the PDO power for each received PDO (RX_SOURCE_CAPS.SourcePdoX). Rank all PDOs according to the PDO power.
    • PDO Power = Voltage × MaximumCurrent (Fixed Supply)
    • PDO Power = MinimumVoltage × MaximumCurrent (Variable Supply)
    • PDO Power = MaximumPower (Battery Supply)
  • The PDO with maximum PDO Power that also passes the voltage check is selected. In case there are multiple PDOs that pass the voltage check and have the same maximum PDO Power, tie breakers are applied as described below:
    • A Fixed supply type is preferred, and Variable supply type is preferred over Battery supply type.
    • If the PDOs being compared have the same supply type, then ANRDOPriority specifies how to break the tie.