From c3339ce9e3b182bceb1b849c6fe389cf8aca4521 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Thu, 14 Dec 2017 15:39:34 -0700 Subject: soc/intel/broadwell: implement spi_flash_ctrlr_protect_region() Implement the spi controller flash_protect() callback. No need to have a global spi_flash_protect() once implemented. BUG=b:69614064 Change-Id: I83f4310d8f78ba64727ba75eb75708d0cbaa7d53 Signed-off-by: Aaron Durbn Reviewed-on: https://review.coreboot.org/22882 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/soc/intel/broadwell/include/soc/spi.h | 2 -- src/soc/intel/broadwell/spi.c | 7 +++++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/soc/intel/broadwell') diff --git a/src/soc/intel/broadwell/include/soc/spi.h b/src/soc/intel/broadwell/include/soc/spi.h index 55de14e1b4..588af17609 100644 --- a/src/soc/intel/broadwell/include/soc/spi.h +++ b/src/soc/intel/broadwell/include/soc/spi.h @@ -101,6 +101,4 @@ #define SPIBAR_SSFC_DATA (1 << 14) #define SPIBAR_SSFC_GO (1 << 1) -int spi_flash_protect(u32 start, u32 size); - #endif diff --git a/src/soc/intel/broadwell/spi.c b/src/soc/intel/broadwell/spi.c index 52a1d76f54..2bcbebac31 100644 --- a/src/soc/intel/broadwell/spi.c +++ b/src/soc/intel/broadwell/spi.c @@ -612,9 +612,11 @@ static int spi_ctrlr_xfer(const struct spi_slave *slave, const void *dout, } /* Use first empty Protected Range Register to cover region of flash */ -int spi_flash_protect(u32 start, u32 size) +static int spi_flash_protect(const struct spi_flash *flash, + const struct region *region) { - u32 end = start + size - 1; + u32 start = region_offset(region); + u32 end = start + region_sz(region) - 1; u32 reg; int prr; @@ -652,6 +654,7 @@ static const struct spi_ctrlr spi_ctrlr = { .xfer = spi_ctrlr_xfer, .xfer_vector = spi_xfer_two_vectors, .max_xfer_size = member_size(ich9_spi_regs, fdata), + .flash_protect = spi_flash_protect, }; const struct spi_ctrlr_buses spi_ctrlr_bus_map[] = { -- cgit v1.2.3