Reading Vconn presence status

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
lock attach
Attachments are accessible only for community members.
PrRe_3492461
Level 4
Level 4
First like received 50 sign-ins 50 replies posted

Hello Community,

I'm using CCG3PA for my custom design, CCG3PA will be acting as a SINK only device forever.

Is there any API that I could use to verify whether VConn present or not after receiving a particular interrupt.

I used app_get_status(0)->is_vconn_on, Vconn_logical, ra_present, emca_present in dpm_status  structure, But I'm unable to read the Vconn presence.

I have also read attached KBA (002-31210_00_V.pdf ) and tried emulating same scenario with ccg3pa but still I'm not able to read Vconn presence status.

While I exploring I've gone through a function pd_vconn_is_present(), It says that "No Vconn Support for CCG3PA family as of now." Attached screenshot for reference - capture1.

I believe there shall be a way to achieve this requirement.

Please let me know how to achieve this.

Thanks in advance,

Regards,
pranay.

0 Likes
1 Solution
Abhilash_P
Moderator
Moderator
Moderator
50 likes received 500 replies posted 250 solutions authored

Hi,

    I would be updating this space based on our latest conversation,

As per the Type C spec, the VCONN line does not extend to the sink and do not run through the cable. The line terminates at the cable. So only the VCONN source can say whether the VCONN is supplied or not. But in this application as the CCG3PA is acting as a sink, it is not possible for it to detect its presence. Please refer to the following  images from the PD spec for additional information. Letting the other port partner see the VCONN line is a violation of Type-C specification and such cable will result in a random behavior.

2.PNG3.PNG4.PNG

As per the spec, only the VCONN source would know if the VCONN is present or not. If the sink or the port partner wishes to source VCONN, then a VCONN_SWAP request must be initiated.

The different responses can be interpreted as follows,

Not supported -> Port partner does not source Vconn, Reject-> port partner continues to be source, Accept -> can take Vconn source role
Wait -> cannot source vconn now, but request later.

Please refer the following link for the API to get the CC pin voltage. (Note it is not the solution for VCONN swap message. It can be used just as a reference)

https://community.cypress.com/t5/USB-EZ-PD-Type-C/CYPD3171-24LQXQ-pb-any-API-to-get-the-CC-pin-volta...

 

Regards,

Abhilash P

View solution in original post

0 Likes
5 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Pranay,

The KBA is mainly for enabling the VCONN when CCG3PA acts as a VCONN source. Could you please check using vconn_is_present() API when 5V is enabled for the EMCA? You could verify the sequence using the PD logs, please provide it as well for our reference. Please also let us know what is returned by the dpm_status ra_present and emca_present variables.

Best Regards,

Sananya

0 Likes

Hi Sananya,

Thanks for the reply.

From below screenshot from code it is obvious that Vconn_is_present( ) returns true all the time .PrRe_3492461_1-1614087460599.png

PrRe_3492461_0-1614087436013.png

And, dpm_status ra_present and emca_present variables return 0 always.

and Events in app.c app_event_handler() are :

PrRe_3492461_2-1614088334660.png

 

Thanks and regards,

pranay.

 

0 Likes

Hi @Sananya_14 ,

Any updated to this thread ? we're waiting for your response.

 

Thanks and regards,

Pranay.

0 Likes
Abhilash_P
Moderator
Moderator
Moderator
50 likes received 500 replies posted 250 solutions authored

Hi,

    I would be updating this space based on our latest conversation,

As per the Type C spec, the VCONN line does not extend to the sink and do not run through the cable. The line terminates at the cable. So only the VCONN source can say whether the VCONN is supplied or not. But in this application as the CCG3PA is acting as a sink, it is not possible for it to detect its presence. Please refer to the following  images from the PD spec for additional information. Letting the other port partner see the VCONN line is a violation of Type-C specification and such cable will result in a random behavior.

2.PNG3.PNG4.PNG

As per the spec, only the VCONN source would know if the VCONN is present or not. If the sink or the port partner wishes to source VCONN, then a VCONN_SWAP request must be initiated.

The different responses can be interpreted as follows,

Not supported -> Port partner does not source Vconn, Reject-> port partner continues to be source, Accept -> can take Vconn source role
Wait -> cannot source vconn now, but request later.

Please refer the following link for the API to get the CC pin voltage. (Note it is not the solution for VCONN swap message. It can be used just as a reference)

https://community.cypress.com/t5/USB-EZ-PD-Type-C/CYPD3171-24LQXQ-pb-any-API-to-get-the-CC-pin-volta...

 

Regards,

Abhilash P

0 Likes

Hi Abhilash,

FYI,

The setup assumes that user will be using E-marker cable. But we use Vconn pass through cable for our purpose and Vconn will be reflected to ccg3pa side aswell (unlike E-marker cable).

--Pranay.

0 Likes