From 5d4276f439242b2e351cd8cc65b0207ff827f185 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Sat, 3 Dec 2016 17:04:06 -0600 Subject: [PATCH] UPSTREAM: drivers/spi: provide a mechanism to obtain the SPI flash boot device The MRC cache wants to be able to access the SPI flash boot device. Allow an easy way to provide that so that there isn't duplicate spi_flash objects representing the same device. BUG=chrome-os-partner:56151 BRANCH=None TEST=None Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/17715 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh Change-Id: Iba92e8bb8a6060cdd327b10f5f8ec23ac61101e7 Reviewed-on: https://chromium-review.googlesource.com/418435 Commit-Ready: Furquan Shaikh Tested-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/drivers/spi/boot_device_rw_nommap.c | 6 ++++++ src/include/spi_flash.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/drivers/spi/boot_device_rw_nommap.c b/src/drivers/spi/boot_device_rw_nommap.c index a52a7befd2..e7d9b9a944 100644 --- a/src/drivers/spi/boot_device_rw_nommap.c +++ b/src/drivers/spi/boot_device_rw_nommap.c @@ -95,3 +95,9 @@ const struct region_device *boot_device_rw(void) return &spi_rw; } + +const struct spi_flash *boot_device_spi_flash(void) +{ + boot_device_rw_init(); + return car_get_var(sfg); +} diff --git a/src/include/spi_flash.h b/src/include/spi_flash.h index 5a9237869f..6b89012a26 100644 --- a/src/include/spi_flash.h +++ b/src/include/spi_flash.h @@ -88,4 +88,8 @@ int spi_flash_volatile_group_end(const struct spi_flash *flash); int chipset_volatile_group_begin(const struct spi_flash *flash); int chipset_volatile_group_end(const struct spi_flash *flash); +/* Return spi_flash object reference for the boot device. This is only valid + * if CONFIG_BOOT_DEVICE_SPI_FLASH is enabled. */ +const struct spi_flash *boot_device_spi_flash(void); + #endif /* _SPI_FLASH_H_ */