This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS65988: Practical examples for Data Role Swap

Part Number: TPS65988
Other Parts Discussed in Thread: TIDA-01243, TUSB8041

Hello, I am confused about the implementation of Data Role Swaps in USB PD systems.  I want to bring up the example of TIDA-01243 to illustrate my question https://www.ti.com/lit/df/tidrn40/tidrn40.pdf?ts=168003614037

We can assume a laptop would plug into the Full Featured DRP on the Mini Dock EVM.  The Mini Dock EVM (Source) should charge the laptop (Sink).  The laptop should be able to communicate with the PCM2707 in the dock to support an external speaker or headphones.  The PCM2707 only acts as a USB Device, so would mean the laptop has to end up as the Host (DFP).

By default the dock will want to prefer the DFP role, because by default that lets the dock provide power to the laptop.  So when the laptop is plugged into the dock, initially the dock is DFP and laptop is UFP.  Then, the laptop should request a Data Role Swap so that the laptop can become a DFP Sink and the dock a UFP Source.

My question is why is the DR Swap necessary?  The laptop's D+/D- signals will be connected via the TUSB8041's Upstream port.  It's not possible to reverse the Device/Host roles of the TUSB8041 USB Hub in response to a Data Role Swap is it?  Regardless of whether the Data Role Swap is attempted or successful, the USB connection can only work if the Laptop is the Host for the USB Hub, right?

So a successful Data Role Swap would have no effect on the USB Devices in the docking station right?  Maybe it would just inform the laptop that the docking station has USB Devices that the Laptop should try to connect to? 

If software on the laptop could cause the laptop to always act as a USB Host, regardless of the result of the PD role negotiation, wouldn't that solution achieve the same result without the extra step of trying a Data Role Swap?

I hope that question is clear but please let me know if I need to elaborate.

Thanks,

Arthur