diff options
author | Jett Rink <jettrink@chromium.org> | 2018-04-11 16:37:12 -0600 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-04-12 18:03:07 -0700 |
commit | 4338ec527cc839958ca801d2919ab53250fe7913 (patch) | |
tree | 7071301aef6ad81c7fc63d992336d52aa59ed021 /common/cbi.c | |
parent | 69d3059d761f6e0e7be54b3797fab7949e995b9a (diff) | |
download | chrome-ec-4338ec527cc839958ca801d2919ab53250fe7913.tar.gz |
cbi: always refersh data for cbi ec commandstabilize-meowth-10574.B
Also updated the description of the cbi command in help
BRANCH=none
BUG=none
TEST=wrote directly to flash and verified the cbi command updated
Change-Id: I54b5d995a0f06b9566622a5079da11ce575fb309
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1008831
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'common/cbi.c')
-rw-r--r-- | common/cbi.c | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/common/cbi.c b/common/cbi.c index be22642497..c1063c6476 100644 --- a/common/cbi.c +++ b/common/cbi.c @@ -310,7 +310,7 @@ DECLARE_HOST_COMMAND(EC_CMD_SET_CROS_BOARD_INFO, hc_cbi_set, EC_VER_MASK(0)); -static void dump_cbi(void) +static void dump_flash(void) { uint8_t buf[16]; int i; @@ -326,32 +326,41 @@ static void dump_cbi(void) } } -static int cc_cbi(int argc, char **argv) +static void print_tag(const char * const tag, int rv, const uint32_t *val) +{ + ccprintf(tag); + if (rv == EC_SUCCESS && val) + ccprintf(": %u (0x%x)\n", *val, *val); + else + ccprintf(": (Error %d)\n", rv); +} + +static void dump_cbi(void) { uint32_t val; + /* Ensure we read the latest data from flash. */ + cached_read_result = EC_ERROR_CBI_CACHE_INVALID; + read_board_info(); + + if (cached_read_result != EC_SUCCESS) { + ccprintf("Cannot Read CBI (Error %d)\n", cached_read_result); + return; + } + ccprintf("CBI_VERSION: 0x%04x\n", head->version); ccprintf("TOTAL_SIZE: %u\n", head->total_size); - ccprintf("BOARD_VERSION: "); - if (cbi_get_board_version(&val) == EC_SUCCESS) - ccprintf("%u (0x%x)\n", val, val); - else - ccprintf("UNKNOWN\n"); - - ccprintf("OEM_ID: "); - if (cbi_get_oem_id(&val) == EC_SUCCESS) - ccprintf("%u (0x%x)\n", val, val); - else - ccprintf("UNKNOWN\n"); - ccprintf("SKU_ID: "); - if (cbi_get_sku_id(&val) == EC_SUCCESS) - ccprintf("%u (0x%x)\n", val, val); - else - ccprintf("UNKNOWN\n"); + print_tag("BOARD_VERSION", cbi_get_board_version(&val), &val); + print_tag("OEM_ID", cbi_get_oem_id(&val), &val); + print_tag("SKU_ID", cbi_get_sku_id(&val), &val); +} +static int cc_cbi(int argc, char **argv) +{ dump_cbi(); + dump_flash(); return EC_SUCCESS; } -DECLARE_CONSOLE_COMMAND(cbi, cc_cbi, NULL, NULL); +DECLARE_CONSOLE_COMMAND(cbi, cc_cbi, NULL, "Print Cros Board Info from flash"); #endif /* !HOST_TOOLS_BUILD */ |