The Source Policy Management (SPM) on the TPS65988 PD controller operates on the below criteria:
- The SPM is enabled by setting
MultiPortSourcePolicy = 1.
- The SPM works only when there is an explicit PD
contract or a disconnect on one port while the adjacent port is already in an
explicit contract.
- The SPM may affect either port, regardless of the
port which triggered a negotiation of PDOs or a disconnect.
- The SPM allows any one port to have
a high current contract. It may be triggered by the current port or the adjacent
port. The adjacent port would be in a default USB current contract (900
mA).
- The SPM feature is available only for Ice Lake
processors, meaning, the TBTControllerType setting should be 0x03.
It is not available for other platforms.
SPM Behavior:
As mentioned previously, the SPM feature works only on Ice Lake settings and with the adjacent port already in an explicit PD contract. The behavior is as described below:
- If SPM is triggered by a PDO negotiation on a
port:
- If the present port
receives a Request Data Object (RDO) with an operating current above the
default USB current (900 mA), the adjacent port's active contract
current is lowered to the default USB current and a renegotiation of an
explict contract occurs on the Adjacent port.
- If the RDO current of the
present port is already at the default USB current or lesser (based on
the Sink's request) or if a GPIO mapped to Prevent High Current
Contract Event (#80) is HIGH, the adjacent port's
advertised current is restored as per the TX Source Capabilities
Register (0x32) settings and a renegotiation of an explict
contract occurs on the Adjacent port if SPM had previously restricted
its advertisement.
- If a port gets disconnected then SPM will restore
the advertised current in adjacent port's TX SourceCapability register and force
adjacent port to renegotiate if needed.