- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there,
I just used 4236 to design type-c port test box like dock.
there have one thing i must accomplish are auto swap port0 cc1/cc2 Rd (cc1 switch to Rd and cc2 floating).
Is SDK API can do it? if not, how can i design my hardware to accomplish this (etc mcu control switch to pull Rd down for cc1).
thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Faco_Lu,
You can use pd_typec_dis_rd to control Rd of CC pin, but CYP4236 do not support individual control of Rd on CC1 & CC2. You can control Rp individually on each CC pin.
Regards,
Eddie.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Yes, it's accomplished by CCGX HOST SDK API. You can refer to 6.13 app/swap.h File Reference of CCGX_FW_API_GUIDE:
Regards,
Eddie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi EddieZ_31, I did not find the CC Pin related API in the app/swap.h The API here is only PR_swap, DR_swap and Vconn_swap. Regards, Manu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Manu,
Rp/Rd defines the role of the device as source/sink. The swap of role is accomplished by the functions I mentioned above.
Regards,
Eddie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Eddie,
I connect the CCG4-4236 to laptop use type c cable, which cable is special cable (have cc1/cc2 both).
And verify cc1/cc2 automatic switching using the following combination. When i swap to port0 cc1, it can work but i swap to cc2, it's not work.
// disable/enable ccx
pd_typec_dis_rd();
pd_typec_en_rd();
// cc communication status machine
dpm_init();
dpm_start();
dpm_stop();
// port disable/enable
dp_typec_init();
dp_typec_start();
dp_typec_stop();
thanks
Faco_Lu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Faco_Lu,
You can use pd_typec_dis_rd to control Rd of CC pin, but CYP4236 do not support individual control of Rd on CC1 & CC2. You can control Rp individually on each CC pin.
Regards,
Eddie.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Eddie,
thank for report.
If API is not support individual control of Rd on CC1 & CC2. how could i design hardware to achieve automatic swap?
eg. using MCU gpio to control switch port0 cc1/cc2 to Rd
Faco_Lu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Faco_Lu,
CCG4 do not support this kind of control. There is no solution for now. Thank you for understanding.
Regards,
Eddie