PD Soft Reset doesn't work
Hello,
I have developed an application which can dynamically detect source capabilities by reading the capabilities soon after a PD charger is plugged in. In order to renegotiate with the new PDO, I currently must issue a reset by writing to the RESET_CTRL register. Unfortunately, this approach causes VBUS to be lost momentarily, an undesirable side-effect.
From browsing ST's example application source code, I noticed the use of "PdMessage_SoftReset", a way to soft reset the PD negotiation using the PD protocol. Seems simple enough: write the soft reset message 0x0D to the TX_header register at address 0x51, then write the send PD message command 0x26 to the address 0x1A.
Unfortunately, I've had absolutely zero luck with this approach. I have tried with multiple different PD compliant chargers, neither of them renegotiate after issuing the soft reset message. I have also tried two separate STUSB4500 chips. I have tried writing the soft reset message as a single byte 0x0D, as well as writing it as a 2 bytes, 0x000D. I have only been successful using the register reset approach.
What could I be missing here?
Best,
Jeff
