From bca2f02ab7763f788db04c52673e7ba9d1a4b127 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Wed, 13 Apr 2022 21:59:43 +0530 Subject: soc/intel/cmn/pch/lockdown: Perform additional SPI lock configuration This patch performs additional SPI lock configuration as per Intel Flash Security Specification. BUG=b:211954778 TEST=Able to build google/brya and verified all flash security recommendations are being met. Signed-off-by: Subrata Banik Change-Id: I922db8b46ac0d0523b91fc5aced88e38c8d8a560 Reviewed-on: https://review.coreboot.org/c/coreboot/+/63627 Tested-by: build bot (Jenkins) Reviewed-by: Lean Sheng Tan Reviewed-by: Eric Lai --- src/soc/intel/common/pch/lockdown/lockdown.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/soc/intel/common') diff --git a/src/soc/intel/common/pch/lockdown/lockdown.c b/src/soc/intel/common/pch/lockdown/lockdown.c index 739d13527b..8032b4ac3e 100644 --- a/src/soc/intel/common/pch/lockdown/lockdown.c +++ b/src/soc/intel/common/pch/lockdown/lockdown.c @@ -57,9 +57,18 @@ static void fast_spi_lockdown_cfg(int chipset_lockdown) /* Discrete Lock Flash PR registers */ fast_spi_pr_dlock(); + /* Check if SPI transaction is pending */ + fast_spi_cycle_in_progress(); + + /* Clear any outstanding status bits like AEL, FCERR, FDONE, SAF etc. */ + fast_spi_clear_outstanding_status(); + /* Lock FAST_SPIBAR */ fast_spi_lock_bar(); + /* Set Vendor Component Lock (VCL) */ + fast_spi_vscc0_lock(); + /* Set BIOS Interface Lock, BIOS Lock */ if (chipset_lockdown == CHIPSET_LOCKDOWN_COREBOOT) { /* BIOS Interface Lock */ -- cgit v1.2.3