CCG4 FW sends incorrectly "Reject" on "Ping" PD-message

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!

In our CCG4 based dock we have a problem when connecting some 3rd party charge-through adapters when we want to supply them with power. Typically, when you connect the adapter they source 5V and when you connect a laptop to the adapter they request 20V instead.

Problem is that some of these (I guess based on some certain PD-controller chipset) send a "Ping" PD-command (incorrectly decoded as "Pint" in EZ-PD Analyzer btw) and then CCG4 responds with "Reject" on that message. This in turns somehow disrupts the function of the third-party adapters since they then stop acknowledges the "Accept" command. See trace below.

In CCG3 and other USB-C power supplies the "Ping" command just generates a GoodCRC and no "Reject" and then the products works. Also, reading the USB PD standard it looks like it is not correct behaviour to respond with "Reject" on this message (6.3.4, 6.3.5).

I know this is only partly the fault of Cypress, but it would be very good if it was possible to disable the "Reject"-message behaviour.

Cheers

Olof

analyzer.png

Capture.PNG

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

Hi olof_1999891,

Could you please kindly share firmware version of CCG3 and CCG4 firmware on your end? Please kindly open firmware project with PSoC Creator and open file ccgx_version.h under system header file and let me know the build number of CCG3 and CCG4 firmware? Since you said CCG3 is performance difference on your end.

/**

  @brief Major version of the firmware stack.

*/

#define FW_MAJOR_VERSION                                (3)

/**

  @brief Minor version of the firmware stack.

*/

#define FW_MINOR_VERSION                                (2)

/**

  @brief Patch version of the firmware stack.

*/

#define FW_PATCH_VERSION                                (1)

/**

  @brief Build number of the firmware stack.

*/

#define FW_BUILD_NUMBER                                (1652)

And from the CC log you have been shared, I could like to share below information I can see:

1. From PD SPEC, ping message is sent by Power Source, but I am not sure why the ping message was sent by power sink in this test case.

2. After PD request sent by Power sink, CCG4 have been Accept, but the power sink is not GOODCRC. I think this is additional issue need to look into it.

3. CCG4 shall be not Reject the message. So that we need details firmware build version on your end,

If the build version is not latest one (#1652), could you please kindly upgrade to the latest one and test it again?

Best Regards,

Lisa

View solution in original post

4 Replies
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hi olof_1999891,

Could you please kindly share firmware version of CCG3 and CCG4 firmware on your end? Please kindly open firmware project with PSoC Creator and open file ccgx_version.h under system header file and let me know the build number of CCG3 and CCG4 firmware? Since you said CCG3 is performance difference on your end.

/**

  @brief Major version of the firmware stack.

*/

#define FW_MAJOR_VERSION                                (3)

/**

  @brief Minor version of the firmware stack.

*/

#define FW_MINOR_VERSION                                (2)

/**

  @brief Patch version of the firmware stack.

*/

#define FW_PATCH_VERSION                                (1)

/**

  @brief Build number of the firmware stack.

*/

#define FW_BUILD_NUMBER                                (1652)

And from the CC log you have been shared, I could like to share below information I can see:

1. From PD SPEC, ping message is sent by Power Source, but I am not sure why the ping message was sent by power sink in this test case.

2. After PD request sent by Power sink, CCG4 have been Accept, but the power sink is not GOODCRC. I think this is additional issue need to look into it.

3. CCG4 shall be not Reject the message. So that we need details firmware build version on your end,

If the build version is not latest one (#1652), could you please kindly upgrade to the latest one and test it again?

Best Regards,

Lisa

Hi Lisz!

Wow, looks like we have never updated our base firmware image for project, we run with:

/**

@brief Major version of the firmware stack.

*/

#define FW_MAJOR_VERSION (3)

/**

@brief Minor version of the firmware stack.

*/

#define FW_MINOR_VERSION (0)

/**

@brief Patch version of the firmware stack.

*/

#define FW_PATCH_VERSION (2)

/**

@brief Build number of the firmware stack.

*/

#define FW_BUILD_NUMBER (905)

We will update to latest, it is ” CCGx Host SDK v3.2.1 (July 6, 2018) : CCG2, CCG3, CCG4, CCG5” right?

There will be some effort to merge our changes into this new version though.

I’ll get back with update after we have applied the latest build.

Cheers

Olof

0 Likes

Hi Olof,

May I understanding CCG3 on your end is build#905? Since you said CCG3 was not reject the Ping message.

Best Regards,

Lisa

0 Likes

Hi!

Finally got around to test this issue. With the latest 3.2.1 (b1658), the issue is solved. Now the Ping message is handled correctly.

Capture.PNG

Cheers

Olof

0 Likes