From 6260bf712a836762b18d80082505e981e040f4bc Mon Sep 17 00:00:00 2001 From: Hsuan Ting Chen Date: Thu, 12 Aug 2021 15:47:06 +0800 Subject: vboot_logic: Set VB2_CONTEXT_EC_TRUSTED in verstage_main vboot_reference is introducing a new field (ctx) to store the current boot mode in crrev/c/2944250 (ctx->bootmode), which will be leveraged in both vboot flow and elog_add_boot_reason in coreboot. In current steps of deciding bootmode, a function vb2ex_ec_trusted is required. This function checks gpio EC_IN_RW pin and will return 'trusted' only if EC is not in RW. Therefore, we need to implement similar utilities in coreboot. We will deprecate vb2ex_ec_trusted and use the flag, VB2_CONTEXT_EC_TRUSTED, in vboot, vb2api_fw_phase1 and set that flag in coreboot, verstage_main. Also add a help function get_ec_is_trusted which needed to be implemented per mainboard. BUG=b:177196147, b:181931817 BRANCH=none TEST=Test on trogdor if manual recovery works Signed-off-by: Hsuan Ting Chen Change-Id: I479c8f80e45cc524ba87db4293d19b29bdfa2192 Reviewed-on: https://review.coreboot.org/c/coreboot/+/57048 Reviewed-by: Yu-Ping Wu Reviewed-by: Tim Wawrzynczak Tested-by: build bot (Jenkins) --- src/mainboard/google/cyan/chromeos.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/mainboard/google/cyan') diff --git a/src/mainboard/google/cyan/chromeos.c b/src/mainboard/google/cyan/chromeos.c index b88862ca59..4a48aeb78b 100644 --- a/src/mainboard/google/cyan/chromeos.c +++ b/src/mainboard/google/cyan/chromeos.c @@ -12,6 +12,8 @@ #define WP_GPIO GP_E_22 +#define EC_IN_RW_GPIO GP_SW_77 + #define ACTIVE_LOW 0 #define ACTIVE_HIGH 1 @@ -62,3 +64,9 @@ void mainboard_chromeos_acpi_generate(void) { chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios)); } + +int get_ec_is_trusted(void) +{ + /* EC is trusted if not in RW. */ + return !gpio_get(EC_IN_RW_GPIO); +} -- cgit v1.2.3