diff options
-rw-r--r-- | driver/mcdp28x0.c | 38 | ||||
-rw-r--r-- | include/config.h | 1 |
2 files changed, 33 insertions, 6 deletions
diff --git a/driver/mcdp28x0.c b/driver/mcdp28x0.c index a3a2043619..ded08975fb 100644 --- a/driver/mcdp28x0.c +++ b/driver/mcdp28x0.c @@ -158,11 +158,37 @@ int mcdp_get_info(struct mcdp_info *info) memcpy(info, &inbuf[2], MCDP_LEN_GETINFO); -#ifdef MCDP_DEBUG - CPRINTF("family:%04x chipid:%04x irom:%d.%d.%d fw:%d.%d.%d\n", - MCDP_FAMILY(info->family), MCDP_CHIPID(info->chipid), - info->irom.major, info->irom.minor, info->irom.build, - info->fw.major, info->fw.minor, info->fw.build); -#endif return EC_SUCCESS; } + +#ifdef CONFIG_CMD_MCDP +int command_mcdp(int argc, char **argv) +{ + int rv = EC_SUCCESS; + if (argc < 2) + return EC_ERROR_PARAM_COUNT; + + mcdp_enable(); + if (!strncasecmp(argv[1], "info", 4)) { + struct mcdp_info info; + rv = mcdp_get_info(&info); + if (!rv) + ccprintf("family:%04x chipid:%04x irom:%d.%d.%d " + "fw:%d.%d.%d\n", + MCDP_FAMILY(info.family), + MCDP_CHIPID(info.chipid), + info.irom.major, info.irom.minor, + info.irom.build, + info.fw.major, info.fw.minor, info.fw.build); + } else { + rv = EC_ERROR_PARAM1; + } + + mcdp_disable(); + return rv; +} +DECLARE_CONSOLE_COMMAND(mcdp, command_mcdp, + "info", + "USB PD", + NULL); +#endif /* CONFIG_CMD_MCDP */ diff --git a/include/config.h b/include/config.h index 5acc7d57ea..a824744896 100644 --- a/include/config.h +++ b/include/config.h @@ -374,6 +374,7 @@ #define CONFIG_CMD_IDLE_STATS #undef CONFIG_CMD_ILIM #undef CONFIG_CMD_JUMPTAGS +#undef CONFIG_CMD_MCDP #define CONFIG_CMD_PD #undef CONFIG_CMD_PD_DEV_DUMP_INFO #undef CONFIG_CMD_PD_FLASH |