Dock reference design problem with DR/PR SWAP

Announcements

Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
OlEr_1999891
Level 5
Level 5
50 replies posted 25 replies posted 25 sign-ins

Hi!

We have been using the firmware from the CCG4 dock reference design for a while (with some changes). In that firmware, there is a solution where a power role swap and data role swap is initiated by the dock depending on which initial role the laptop will get to:

us_initiate_pr_swap(port);

us_initiate_dr_swap(port);

The design of this is that when the dock gets a PD Contract ready and the role should change, it schedules a request to change role which is then handled in the main loop at a later stage.

Problem is that in certain situations, the laptop will also trigger the power or data role swap between the point where the swap is scheduled in the  sln_pd_event_handler and when the actual role swap is sent out via

 dpm_pd_command (port, DPM_CMD_SEND_DR_SWAP, NULL, us_dr_swap_cb); 

dpm_pd_command (port, DPM_CMD_SEND_PR_SWAP, NULL, us_pr_swap_cb);

This will often result in a failure to correctly initiate alt-mode video by the laptop. This case is very timing based and laptop-model based so can be a bit hard to test if you don't have the specific device.

We have made some additional checks in the code to try to deal with this, but it there should be a more robust (better integrated with the main DPM state machine) and standardized way of handling these scenarios we believe. 

Is there a newer or different firmware targeting docks / UFP-devices? 

Important to note here is also that we need to have the dock configured as DRP and as default SINK to ensure robust docking for some other laptops models. Hence the need to have a robust solution for DR/PR swaps.

Cheers

Olof

0 Likes
1 Solution
OlEr_1999891
Level 5
Level 5
50 replies posted 25 replies posted 25 sign-ins

Hi!

But it is the same dock additions to the SDK 3.4 right? So even if you use TB alt-mode instead of DP alt-mode you would still get the same issues I believe. The problem happens at the power and data role swap phase.

Anyway, you might considering updating the dock additions for future releases. It was rather tricky to identify.

Cheers

Olof

View solution in original post

0 Likes
2 Replies
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hello Olof,

 

Currently, we do not have a newer firmware SDK for Dock reference design. 

If you are going to working on Intel TBT3/4 dock reference design, the firmware binaries will be refreshed. (https://www.cypress.com/documentation/reference-designs/cypress-usb-c-thunderbolt-reference-solution )

ShifangZ_26_0-1622511691826.png

 

Best Regards,

Lisa

0 Likes
OlEr_1999891
Level 5
Level 5
50 replies posted 25 replies posted 25 sign-ins

Hi!

But it is the same dock additions to the SDK 3.4 right? So even if you use TB alt-mode instead of DP alt-mode you would still get the same issues I believe. The problem happens at the power and data role swap phase.

Anyway, you might considering updating the dock additions for future releases. It was rather tricky to identify.

Cheers

Olof

0 Likes