void pd_new_contract(int port, int pr_role, int dr_role, int partner_pr_swap, int partner_dr_swap) { /* If UFP, try to switch to DFP */ if (partner_dr_swap && dr_role == PD_ROLE_UFP) pd_request_data_swap(port); }
void pd_check_dr_role(int port, int dr_role, int flags) { /* If Plankton is in USB hub mode, always act as UFP */ if (board_in_hub_mode() && dr_role == PD_ROLE_DFP && (flags & PD_FLAGS_PARTNER_DR_DATA)) pd_request_data_swap(port); }
void pd_check_dr_role(int port, int dr_role, int flags) { /* If UFP, try to switch to DFP */ if ((flags & PD_FLAGS_PARTNER_DR_DATA) && dr_role == PD_ROLE_UFP) pd_request_data_swap(port); }
void pd_check_dr_role(int port, int dr_role, int flags) { /* if the partner is a DRP (e.g. laptop), try to switch to UFP */ if ((flags & PD_FLAGS_PARTNER_DR_DATA) && dr_role == PD_ROLE_DFP) pd_request_data_swap(port); }