summaryrefslogtreecommitdiff
path: root/src/drivers/mrc_cache/mrc_cache.c
diff options
context:
space:
mode:
authorRizwan Qureshi <rizwan.qureshi@intel.com>2018-12-31 15:19:16 +0530
committerPatrick Georgi <pgeorgi@google.com>2019-01-21 13:25:31 +0000
commitf9f50936446e8e441238ecfe12ce0fc9e04d491a (patch)
tree2ce1ff776d013c72c8394da623f801facf7bd100 /src/drivers/mrc_cache/mrc_cache.c
parentafe15f0a34fd02ef024d48d2b047ecd4ef559d74 (diff)
downloadcoreboot-f9f50936446e8e441238ecfe12ce0fc9e04d491a.tar.xz
drivers/spi: Add controller protection type
Some SPI controllers support both READ and WRITE protection add a variable to the protect API for the callers to specify the kind of protection they want (Read/Write/Both). Also, update the callers and protect API implementation. BUG=None BRANCH=None TEST=test that the mrc cache is protected as expected on soraka. Also tried if the read protection is applied correctly. Change-Id: I093884c4768b08a378f21242ac82e430ac013d15 Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com> Reviewed-on: https://review.coreboot.org/c/30559 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'src/drivers/mrc_cache/mrc_cache.c')
-rw-r--r--src/drivers/mrc_cache/mrc_cache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/drivers/mrc_cache/mrc_cache.c b/src/drivers/mrc_cache/mrc_cache.c
index 4dd0dbc434..84bbdb05b3 100644
--- a/src/drivers/mrc_cache/mrc_cache.c
+++ b/src/drivers/mrc_cache/mrc_cache.c
@@ -456,13 +456,15 @@ static int nvm_is_write_protected(void)
/* Apply protection to a range of flash */
static int nvm_protect(const struct region *r)
{
+ const struct spi_flash *flash = boot_device_spi_flash();
+
if (!IS_ENABLED(CONFIG_MRC_SETTINGS_PROTECT))
return 0;
if (!IS_ENABLED(CONFIG_BOOT_DEVICE_SPI_FLASH))
return 0;
- return spi_flash_ctrlr_protect_region(boot_device_spi_flash(), r);
+ return spi_flash_ctrlr_protect_region(flash, r, WRITE_PROTECT);
}
/* Protect mrc region with a Protected Range Register */