How to read CC1 and CC2 logic level of CCG3

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
malic_4023071
Level 1
Level 1

How ist it possible to read the logic level on the configuration channel pins CC1 and CC2 of the CCG3 PSoC in PSoC Creator?

In the Pins view it looks like the pins CC1 and CC2 can't be configured like other GPIOs:

pastedImage_0.png

I am using the CYPD3125 in a one chip solution, where I need to control a USB C MUX dependant on the USB C connector rotation. As this is my first project with USB and PSoC, I don't have any previous knowledge in this area.

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

Hi ,

If you are going to use I2C controlled MUX, the CYPD3125 example code file datamux_ctrl.c is the source file containing the data MUX (PS8740) control functions for the CCG firmware application. You could refer it directly.

Of course, if you just want to know how to get the CC1 is used as CC or CC2 is used as CC, below function can be used.

/**

* @brief Get the CC polarity of the Type-C connection.

* @param port Port index.

* @return Returns 0 if CC1 is used, and 1 if CC2 is used.

*/

uint8_t dpm_get_polarity(uint8_t port);

Best Regards,

Lisa

View solution in original post

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

Hi ,

If you are going to use I2C controlled MUX, the CYPD3125 example code file datamux_ctrl.c is the source file containing the data MUX (PS8740) control functions for the CCG firmware application. You could refer it directly.

Of course, if you just want to know how to get the CC1 is used as CC or CC2 is used as CC, below function can be used.

/**

* @brief Get the CC polarity of the Type-C connection.

* @param port Port index.

* @return Returns 0 if CC1 is used, and 1 if CC2 is used.

*/

uint8_t dpm_get_polarity(uint8_t port);

Best Regards,

Lisa

Hi Lisa

Thank you, it works now.

Regards

Mario

0 Likes