summaryrefslogtreecommitdiff
path: root/include/ec_commands.h
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2015-02-14 10:19:55 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-02-18 04:53:59 +0000
commit02d0ce1526f844020b8a8fbed2987a8d5efba481 (patch)
treea1a80d729986dde597c2a2620c83075d04b302e8 /include/ec_commands.h
parentd00847782480e492401ba3bc5a8a8e6f026b08ba (diff)
downloadchrome-ec-02d0ce1526f844020b8a8fbed2987a8d5efba481.tar.gz
samus: panic reboot EC if PD MCU crashes
Use the EC to check if PD MCU has crashed. The EC knows this by checking the PD status bits: if PD MCU was in RW, and is now in RO, AND it did not get to RO via a sysjump, then it must have crashed. When the EC detects this, the EC will also panic and reboot the entire system, so that we can software sync to a known good state. Also, when EC panics due to PD crash, it will log panic info. BUG=chrome-os-partner:36636 BRANCH=samus TEST=load onto samus EC and PD, try sysjump'ing back and forth on PD MCU console and verify EC does not do anything. Crash the PD MCU when in RW by reboot command and crash divzero command, and make sure the EC panics with PD crash panic message. Crash the PD MCU when in RO (before sysjumping to RW) and make sure EC does not panic. Change-Id: I57961028e6b23a878b8e477a9d8e180cb121a742 Signed-off-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/250100 Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'include/ec_commands.h')
-rw-r--r--include/ec_commands.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/ec_commands.h b/include/ec_commands.h
index edf9f4fa6b..df16a557e9 100644
--- a/include/ec_commands.h
+++ b/include/ec_commands.h
@@ -2694,7 +2694,9 @@ struct ec_params_pd_status {
} __packed;
/* Status of PD being sent back to EC */
-#define PD_STATUS_HOST_EVENT (1 << 0)
+#define PD_STATUS_HOST_EVENT (1 << 0) /* Forward host event to AP */
+#define PD_STATUS_IN_RW (1 << 1) /* Running RW image */
+#define PD_STATUS_JUMPED_TO_IMAGE (1 << 2) /* Current image was jumped to */
struct ec_response_pd_status {
uint32_t status; /* PD MCU status */
uint32_t curr_lim_ma; /* input current limit */