I would like to implement a USB Type-C DRP UFP-data power-source device. This device has access to current so I would like it to behave as a power sourcing device.
An example would be a USB ('slave') storage dongle that you would plug in a phone. The phone via its type-C connector would recognize the data dongle (UFP-data). As the dongle has 5V 3A power, it would charge the phone.
This case is possible according to the USB type-C specifications. This TI document says on page 3:
A dual-role power (DRP) port can operate as either a sink or source, and may alternate between these two states. When a DRP initially operates as a source, the port takes the data role of a DFP. Alternatively, when a DRP initially operates as a sink, the port takes the data role of a UFP. Using USB PD power-role swap can dynamically change the DRP’s power role, however. For example, a laptop may include a DRP port that can receive power to charge the laptop’s battery, but it can also deliver power to charge external accessories. Additionally, there are two special subclasses of a DRP:
– A sourcing device is capable of supplying power, but not capable of acting as a DFP. One example of this subclass is a USB Type-C and USB PD-compatible monitor that receives data from a laptop’s DFP, but also charges the laptop.
This webpage lists the resistors in UFP-data source/sink:
I have tried to put a 10Kohm resistor between CC and VBUS but the device is not charging the phone though the phone still recognizes the data device.
I have also a board that uses OnSemi FUSB303B. Pin 3 is floating (DRP), pin 5 is high (I2C) at boot time:
Case A: If the device has 5V power at boot and I plug it into a phone, it charges the phone but the device is not recognized as UFP.
Case B: If the device does NOT have 5V power at boot and I plug it into a phone, the device is recognized as a UFP data device (power comes from the type-C).
Case B': After case B has occured, if I plug the 5V power and if I send the I2C command 0x20 to register 0x9 (manual), the device stays in UFP mode but it still doesn't charge the phone.
QUESTION: Is it possible to do DRP UFP-data in power sourcing with a CC controller or some resistors only? Or do I need a PD controller? (what would be the simplest choice to support this case only)?