CYPD3171 detect presence of connected device (Rd on CC pin) when port is disabled

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
phock
Level 3
Level 3
10 replies posted 25 sign-ins 5 questions asked

When I call dpm_get_info or dpm_get_status, I see that the boolean ra_present is true when I have an active cable attached, and false when it is not attached. This seems to work whether the port is enabled or disabled (disabled by calling app_disable_pd_port). However, in my application, there will be no active cable. I would like to have the ports disabled, and be able to detect when a device is connected (Rd pulling down on one of the CC pins, no Ra). I notice in the dpm_status_t, the cc_status shows when Rd is connected but only when the port is enabled. The cc_rd_status doesn't seem to reflect the state of Rd at all (0x4 for both cc lines regardless of physical state), with the port enabled or disabled. Is there a way I could read the state of Rd with the port disabled / without powering the device connected? Also, is there any preference between calling dpm_get_info and dpm_get_status? They seem to provide the same info. Thanks.

0 Likes
1 Solution
HmdRahmathulla
Moderator
Moderator
Moderator
100 solutions authored 250 sign-ins 25 likes received

Hi @phock ,

 Both CC lines has internal comparator, if you enable that comparator you can get the CC line status. but enabling comparator during PD stack and port disabled time is not recommended from infineon.  

if this requirement for power saving, i would recommended you to use the default firmware, the device will enter into deepsleep mode if the no device is connected.

 

Thanks & Regards,

Mohamed Rahmathulla

View solution in original post

0 Likes
3 Replies
HmdRahmathulla
Moderator
Moderator
Moderator
100 solutions authored 250 sign-ins 25 likes received

Hi @phock ,

Thank you for posting in infineon community.

we cant able to get the port data in firmware and there is no callback will occur for any interrupt regarding the Port states if we disabled the port. so the PD stacks updated data will not available in the respective structure.

Could you please let me know the functionality that you are planning to implement with this approach.

i will help with alter solution if possible.

 

Best Regards,
Mohamed Rahmathulla

0 Likes

Thanks for the reply. I am trying to make it so that the Cypress chip is controlled by an external controller. It will disable all the USB ports by default but hopefully have the ability to ask the Cypress which ports have something attached so that those ports can be enabled one at a time.

0 Likes
HmdRahmathulla
Moderator
Moderator
Moderator
100 solutions authored 250 sign-ins 25 likes received

Hi @phock ,

 Both CC lines has internal comparator, if you enable that comparator you can get the CC line status. but enabling comparator during PD stack and port disabled time is not recommended from infineon.  

if this requirement for power saving, i would recommended you to use the default firmware, the device will enter into deepsleep mode if the no device is connected.

 

Thanks & Regards,

Mohamed Rahmathulla

0 Likes