diff options
Diffstat (limited to 'common/usbc/usb_pd_host.c')
-rw-r--r-- | common/usbc/usb_pd_host.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/common/usbc/usb_pd_host.c b/common/usbc/usb_pd_host.c index d254e9827b..d6bd61057f 100644 --- a/common/usbc/usb_pd_host.c +++ b/common/usbc/usb_pd_host.c @@ -126,6 +126,15 @@ static enum ec_status hc_typec_control(struct host_cmd_handler_args *args) return pd_request_enter_mode(p->port, p->mode_to_enter); case TYPEC_CONTROL_COMMAND_TBT_UFP_REPLY: return board_set_tbt_ufp_reply(p->port, p->tbt_ufp_reply); + case TYPEC_CONTROL_COMMAND_USB_MUX_SET: + if (!IS_ENABLED(CONFIG_USB_MUX_AP_CONTROL)) + return EC_RES_INVALID_PARAM; + /* TODO: Check if AP wants to set usb mode or polarity */ + usb_mux_set_single(p->port, p->mux_params.mux_index, + p->mux_params.mux_flags, + USB_SWITCH_CONNECT, + polarity_rm_dts(pd_get_polarity(p->port))); + return EC_RES_SUCCESS; default: return EC_RES_INVALID_PARAM; } |