diff options
author | Aaron Durbin <adurbin@chromium.org> | 2017-12-14 15:39:34 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2017-12-16 04:15:36 +0000 |
commit | c3339ce9e3b182bceb1b849c6fe389cf8aca4521 (patch) | |
tree | 62f107ade7d1c3920296f666aaf59bdf2bb15098 | |
parent | 2b96f421e6539ceae5c1d0dcd07ed4dfe8a6016a (diff) | |
download | coreboot-c3339ce9e3b182bceb1b849c6fe389cf8aca4521.tar.xz |
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 <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/22882
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r-- | src/soc/intel/broadwell/include/soc/spi.h | 2 | ||||
-rw-r--r-- | src/soc/intel/broadwell/spi.c | 7 |
2 files changed, 5 insertions, 4 deletions
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[] = { |