summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2018-04-11 16:37:12 -0600
committerchrome-bot <chrome-bot@chromium.org>2018-04-12 18:03:07 -0700
commit4338ec527cc839958ca801d2919ab53250fe7913 (patch)
tree7071301aef6ad81c7fc63d992336d52aa59ed021
parent69d3059d761f6e0e7be54b3797fab7949e995b9a (diff)
downloadchrome-ec-stabilize-meowth-10574.B.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>
-rw-r--r--common/cbi.c47
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 */