It is possible to change PDO dynamically by issuing GPIO interrupt.
dpm_update_src_cap() will be helpful for you.
I will put an example to carry out such a behavior as follows. This snippet can apply to main.c with some changes.
An example for changing PDO dynamically on the CCG3PA Firmware.
if ( //read pin status register somewhat way == false)
SRC_PDO.val = 0x0001912C; //5V 3A (This value can check on xml file created by EZ-PD Configuration Utility)
SRC_PDO.val = 0x0002D0D2; //9V 2.1A
SRC_PDO.val = 0x0004B12C; //15V 3A
SRC_PDO.val = 0x0006412C; //20V 3A
dpm_update_src_cap(0, 4, SRC_PDO);
dpm_update_src_cap_mask (0, 0x0F);
dpm_pd_command (0, DPM_CMD_SRC_CAP_CHNG, NULL,NULL); //Send PD command about the changes in source capabilities
//clear any active interrupts on corresponds pin for interrupt
Also, hopefully, "EZ-PD CCGx Power SDK User Guide.pdf" on EZ-PD CCGx Power Software Development Kit page will help you.
This is very helpful , thank you so much..
We will try it ASAP
Sent from Rads iPhone