summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/common/block/cse/Kconfig8
-rw-r--r--src/vendorcode/google/chromeos/cse_board_reset.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/cse/Kconfig b/src/soc/intel/common/block/cse/Kconfig
index f373bd9c8c..b6e2ecb6d4 100644
--- a/src/soc/intel/common/block/cse/Kconfig
+++ b/src/soc/intel/common/block/cse/Kconfig
@@ -379,3 +379,11 @@ config CSE_BPDT_VERSION
This config indicates the BPDT version used by CSE for a given SoC.
endif
+
+config CSE_RESET_CLEAR_EC_AP_IDLE_FLAG
+ bool
+ default y if !SYSTEM_TYPE_LAPTOP
+ help
+ Select this if the variant is a Chromebox/base. This allows AP to direct EC
+ to clear AP_IDLE flag before triggering reset to make sure AP can boot up
+ after reset.
diff --git a/src/vendorcode/google/chromeos/cse_board_reset.c b/src/vendorcode/google/chromeos/cse_board_reset.c
index 08db7e2b28..9efc4e61f6 100644
--- a/src/vendorcode/google/chromeos/cse_board_reset.c
+++ b/src/vendorcode/google/chromeos/cse_board_reset.c
@@ -16,6 +16,9 @@ void cse_board_reset(void)
int ret;
struct cr50_firmware_version version;
+ if (CONFIG(CSE_RESET_CLEAR_EC_AP_IDLE_FLAG))
+ google_chromeec_clear_ec_ap_idle();
+
if (CONFIG(TPM2) && CONFIG(TPM_GOOGLE_CR50)) {
/* Initialize TPM and get the cr50 firmware version. */
ret = tlcl_lib_init();