Part Number: TPS65981
I have a device that's an accessory for a phone. It is only capable of acting as UFP for data, but it can be a power source when its external charger is plugged in. So my control configuration has these bits set:
- Process Swap to Source
- Process Swap to UFP
- Initiate Swap to UFP
If I set my system configuration to "Presents R_d on CC, supports data/power role swap", then it works as I want it to when the phone is powered. The data port connects as UFP, and when the charger is plugged in, the Barrel Jack Detect Event is triggered and the device becomes the power source for the phone.
With this configuration, when the phone power is off, it does not charge when the charger is plugged in. I understand that to do that, I would need to toggle the R_p/R_d so the phone can detect the connection and start charging. When I set the system configuration to "Toggles R_p/R_d on CC (no try.Src), supports data/power role swap", then the phone will start charging when its power is off. Unfortunately, with this configuration the phone seems to always connect as a UFP, so I can't communicate with it.
My application is like a dock with an optional power supply. I always want to be the UFP, and I want to be the power source whenever the charger is plugged in. How should I configure the PD controller to achieve this?