Karthik Ramasubramanian has submitted this change. ( https://review.coreboot.org/c/coreboot/+/85038?usp=email )
Change subject: mb/google/brox: Do not select HAVE_ACPI_RESUME ......................................................................
mb/google/brox: Do not select HAVE_ACPI_RESUME
Brox mainboard does not reliably support S3 entry/exit. Hence do not select HAVE_ACPI_RESUME config option. Also trigger a fail-safe board reset if the system resumes from S3.
BUG=b:337274309 TEST=Build Brox BIOS image and boot to OS. Ensure that the _S3 name variable is not advertised in the DSDT. Trigger a S3 entry and ensure that on S3 exit, the board reset is triggered.
Change-Id: Ief0936fbcd9e5e34ef175736a858f98edf840719 Signed-off-by: Karthikeyan Ramasubramanian kramasub@google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/85038 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Bob Moragues moragues@google.com Reviewed-by: Subrata Banik subratabanik@google.com --- M src/mainboard/google/brox/Kconfig M src/mainboard/google/brox/bootblock.c 2 files changed, 11 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Subrata Banik: Looks good to me, approved Bob Moragues: Looks good to me, but someone else must approve
diff --git a/src/mainboard/google/brox/Kconfig b/src/mainboard/google/brox/Kconfig index ce14d5b..fb3dfc4 100644 --- a/src/mainboard/google/brox/Kconfig +++ b/src/mainboard/google/brox/Kconfig @@ -23,7 +23,6 @@ select FW_CONFIG select FW_CONFIG_SOURCE_CHROMEEC_CBI select GOOGLE_SMBIOS_MAINBOARD_VERSION - select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES select HAVE_FSP_LOGO_SUPPORT if RUN_FSP_GOP select I2C_TPM diff --git a/src/mainboard/google/brox/bootblock.c b/src/mainboard/google/brox/bootblock.c index c24e959..3a5f785 100644 --- a/src/mainboard/google/brox/bootblock.c +++ b/src/mainboard/google/brox/bootblock.c @@ -1,7 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <acpi/acpi.h> #include <baseboard/variants.h> #include <bootblock_common.h> +#include <bootmode.h> +#include <reset.h> +#include <security/vboot/vboot_common.h>
void bootblock_mainboard_early_init(void) { @@ -13,6 +17,13 @@
void bootblock_mainboard_init(void) { + if (platform_is_resuming()) { + printk(BIOS_EMERG, "ACPI S3 resume is not supported on this platform\n"); + /* Prepare for reboot to clear the sleep state such that the board + is not stuck in reboot loop. */ + vboot_platform_prepare_reboot(); + board_reset(); + } variant_update_descriptor(); }