diff options
Diffstat (limited to 'common/usb_pd_policy.c')
-rw-r--r-- | common/usb_pd_policy.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c index 28d3d4f5d3..98299968f7 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -1240,4 +1240,29 @@ static int command_mfallow(int argc, const char **argv) DECLARE_CONSOLE_COMMAND(mfallow, command_mfallow, "port [true | false]", "Controls Multifunction choice during DP Altmode."); #endif /* CONFIG_CMD_MFALLOW */ + +#ifdef CONFIG_COMMON_RUNTIME +static enum ec_status hc_remote_pd_dev_info(struct host_cmd_handler_args *args) +{ + const struct ec_params_usb_pd_info_request *p = args->params; + struct ec_params_usb_pd_rw_hash_entry *r = args->response; + uint16_t dev_id; + uint32_t current_image; + + if (p->port >= board_get_usb_pd_port_count()) + return EC_RES_INVALID_PARAM; + + pd_dev_get_rw_hash(p->port, &dev_id, r->dev_rw_hash, ¤t_image); + + r->dev_id = dev_id; + r->current_image = current_image; + + args->response_size = sizeof(*r); + + return EC_RES_SUCCESS; +} +DECLARE_HOST_COMMAND(EC_CMD_USB_PD_DEV_INFO, hc_remote_pd_dev_info, + EC_VER_MASK(0)); +#endif /* CONFIG_COMMON_RUNTIME */ + #endif /* CONFIG_USB_PD_ALT_MODE_DFP */ |