summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMary Ruthven <mruthven@chromium.org>2022-01-14 09:30:20 -0600
committerCommit Bot <commit-bot@chromium.org>2022-01-15 00:08:45 +0000
commitb4ab5c7e02e39a69bf10f40318198b5d5462bd4a (patch)
tree8301e34717c86cef276839e628d99950fb1ee25c /include
parentd746307808af0151293ce63c08f03237519866cc (diff)
downloadchrome-ec-b4ab5c7e02e39a69bf10f40318198b5d5462bd4a.tar.gz
brdprop: log invalid and ambiguous events
Log brdprop errors in flog, so the team can track brdprop errors from the AP without grepping through cr50 logs. BUG=b:214550629 TEST=flash on red board. Verify invalid strap events are logged. enable closed-loop-reset on the red board. Verify "ambiguous" strap logs are ignored. Change-Id: Ibea73fb19119fa81ed3652c5d68e430cdbae9fa5 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3386405 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/flash_log.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/flash_log.h b/include/flash_log.h
index cc6c292d49..30bd326712 100644
--- a/include/flash_log.h
+++ b/include/flash_log.h
@@ -25,6 +25,7 @@ enum flash_event_type {
FE_LOG_FIPS_FAILURE = 10, /* Error during continuous and/or known-answer
* tests for FIPS 140-2/3
*/
+ FE_LOG_BRDPROP = 11, /* Detected invalid board properties */
/*
* Fixed padding value makes it easier to parse log space
* snapshots.
@@ -106,6 +107,27 @@ struct ap_ro_entry_payload {
enum ap_ro_verification_ev event : 8;
} __packed;
+/*****************************************************************************/
+/* Brdprop Events */
+/* Each event can only be logged once per boot. */
+enum brdprop_ev {
+ BRDPROP_INVALID = 0,
+ BRDPROP_AMBIGUOUS = 1,
+ BRDPROP_NO_ENTRY = 2,
+
+ /*
+ * If BRDPROP_COUNT goes above 8, increase the size of events in
+ * brdprop_payload.
+ */
+ BRDPROP_COUNT = 3,
+};
+
+struct brdprop_payload {
+ uint8_t events;
+ uint32_t reset_flags;
+ uint8_t configs[BRDPROP_COUNT];
+} __packed;
+
/* Returned in the "type" field, when there is no entry available */
#define FLASH_LOG_NO_ENTRY 0xff
#define MAX_FLASH_LOG_PAYLOAD_SIZE ((1 << 6) - 1)