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,
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.
Thanks for the reply.
From below screenshot from code it is obvious that Vconn_is_present( ) returns true all the time .
And, dpm_status ra_present and emca_present variables return 0 always.
and Events in app.c app_event_handler() are :
Thanks and regards,
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.
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)
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).