CCG3 - Firmware/Configuration for use as a USB-C Sink?

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
KyTr_1955226
Level 6
Level 6
250 sign-ins 10 likes given 50 solutions authored

Hello!

I have a project I described a few weeks ago here:

Can the CY4531 Evaluation Kit be used as a Client as opposed to a Host?

The idea is to use have CCG3 based clients, taking in up to 25W of power (@12V) each as well as USB data and Displayport:

pastedImage_1.png

In the thread linked above I learned that for the CCG3 EVK we would need to replace the standard CCG3 EVK mux with a Bi-Directional mux to support using the CCG3 EVK as a client rather than a host.

My question is on the firmware side of things for this change:

What are the firmware support options for a project of this kind?  Do any of the firmware projects included with the CCGx Host SDK support this functionality as-is?  Or will I have to be doing substantial modifications?

We are also looking to potentially use a TI TUSB1044 Bi-Directional USB-C mux rather than the Parade PS8742B in our design.  This is mostly due to part availability, we had a bit of a tough time getting our hands on the PS8742B, so we want to look into other options.  If I want to modify the firmware stack for the use of a new mux, where would I look to do so?  It looks like it should be mostly a modification of GPIO control and I2C commands, which hopefully shouldn't be too much of a problem, but I was hoping to get some additional opinions on considerations that need to be made when modifying for a different mux.

Thoughts/Opinions are welcomed!

Thanks in advance!

0 Likes
1 Solution
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hi ,

1. The example firmware project included with the CCGx Host SDK supports Dual Role Power and DisplayPort Source whatever it is for CCG3 or CCG4.

2. If you are going to configure CCG3 as Dual Role Power and DisplayPort Sink, you need change the Marco Define from DP_DFP_SUPP to DP_UFP_SUPP. 

>> Disable DP_DFP_SUPP and enable DP_UFP_SUPP.

And adding the DP pin assignment support via Ez-PD configuration Utility.

3. If you want to change the MUX from PS8740 to TUSB1044, you need update the registers operation in the datamux_ctrl.c and datamux_ctrl.c as per datasheet/register of TUSB1044.

Best Regards,

Lisa

View solution in original post

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

Hi ,

1. The example firmware project included with the CCGx Host SDK supports Dual Role Power and DisplayPort Source whatever it is for CCG3 or CCG4.

2. If you are going to configure CCG3 as Dual Role Power and DisplayPort Sink, you need change the Marco Define from DP_DFP_SUPP to DP_UFP_SUPP. 

>> Disable DP_DFP_SUPP and enable DP_UFP_SUPP.

And adding the DP pin assignment support via Ez-PD configuration Utility.

3. If you want to change the MUX from PS8740 to TUSB1044, you need update the registers operation in the datamux_ctrl.c and datamux_ctrl.c as per datasheet/register of TUSB1044.

Best Regards,

Lisa

0 Likes

Hi Lisa,

Thanks for the reply!

I have some questions about the EVK/SDK Firmware:

- Is the firmware included in the CCGx Host SDK the same as what ships on the associated EVK kits?

- What's the situation with the bootloader associated with these firmwares?  The bootloadable component points to a <Chip_Name>dummy_boot.hex.  Is this bootloader compatible with the standard Cypress Bootloader Host (I.E. the one that is included in creator, or built with the bootloader_utils library) or is this only loadable via I2C with the EZ-PD Config Tool?

- I noticed the CCG4 EVK uses a CYPD4225, but the firmware appears to be only for CYPD4126/4226.  Is using the CYPD4226 project for the CCG4 EVK is fine?

Appreciate the help!

0 Likes

Hi ,

The CCGx Host SDK is not same as what ships on the CY4541 EVK kits, since the CY4541 kit is assembling CYPD4225 on the board, but the CCGx Host SDK is example with CYPD4226 (CY4226 is supporting PD3.0).

If you are convenience to  replace the CYPD4225 with CYPD4226, you can use CCGx Host SDK example firmware directly. Since CYPD4226 is pin to pin compatible with CYPD4225.

If you have to use CYPD4225, the firmware what ships on the EVK kits could get it from the link: CCGx SDK v302 (https://www.cypress.com/documentation/software-and-drivers/ez-pd-sdk-v302-ccg2-all-applications-ccg3... ), Please kindly notice that this example firmware need PSoC Creator3.3 for firmware re-build.

Best Regards,

Lisa

0 Likes

Hi Lisa,

Thanks for the info, we will bear that in mind for our CCG4 host design.

Is the CCG3 EVK firmware the same as what is included in the SDK (one is targeted for the CYPD3125, which is what is used on the CCG3 Kit)?  Or is it similar to the CCG4 where the EVK firmware is in a different package?

Thanks again for putting up with our many questions!

0 Likes

Hi ,

As per the block diagram you have been shared in this threads, you are going to design CCG3 as Power sink, DP sink and Data sink. The CY4531 board cannot evaluate the DP sink and USB sink, since CY4531 using PS8740B which is fixed direction data transmit. The CCG3 CYPD3125 do not have limits on working as Power sink, DP sink and Data sink, you need change the MUX to PS8742B to support DP sink and Data sink and update the firmware from source to sink.

Best Regards,

Lisa

0 Likes

Yes we have the PS4782B currently on order to make that modification to the CCG3 Kit, and I have (I believe) tweaked the firmware and configuration to act as a sink rather than a source.

I just want to make sure that the CCG3 firmware that I'm using from the SDK that I am modifying for sink operation is the firmware that came on the EVK out of the box.

0 Likes

If so, your understand is correct. You can use the SDK directly.

The Kit may ship with firmware build version 905 and currently CCGx Host SDK is build version 2010. Both of them is based on CY431 and working well on CY4531 board.

Best Regards,

Lisa

0 Likes