Provide a common CBFS wrapper for SPI storage
Coreboot has all necessary infrastructure to use the proper SPI flash
interface in bootblock for CBFS. This patch creates a common CBFS
wrapper which can be enabled on different platforms as required.
COMMON_CBFS_SPI_WRAPPER, a new configuration option, enables the
common CBFS interface and prevents default inclusion of all SPI chip
drivers, only explicitly configured ones will be included when the new
feature is enabled. Since the wrapper uses the same driver at all
stages, enabling the new feature will also make it necessary to
include the SPI chip drivers in bootblock and romstage images.
init_default_cbfs_media() can now be common for different platforms,
and as such is defined in the library.
BUG=none
TEST=manual
. with this change and the rest of the patches coreboot on AP148
comes up all the way to attempting to boot the payload (reading
earlier stages from the SPI flash along the way).
Original-Change-Id: Ia887bb7f386a0e23a110e38001d86f9d43fadf2c
Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/197800
Original-Tested-by: Vadim Bendebury <vbendeb@google.com>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
(cherry picked from commit 60eb16ebe6)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Change-Id: I7b0bf3dda915c227659ab62743e405312dedaf41
Reviewed-on: http://review.coreboot.org/7932
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
parent
b1528838f6
commit
adcb095e9e
5 changed files with 140 additions and 10 deletions
|
|
@ -59,70 +59,70 @@ config SPI_FLASH_NO_FAST_READ
|
|||
|
||||
config SPI_FLASH_ADESTO
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by Adesto Technologies.
|
||||
|
||||
config SPI_FLASH_AMIC
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by AMIC.
|
||||
|
||||
config SPI_FLASH_ATMEL
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by Atmel.
|
||||
|
||||
config SPI_FLASH_EON
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by EON.
|
||||
|
||||
config SPI_FLASH_GIGADEVICE
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by Gigadevice.
|
||||
|
||||
config SPI_FLASH_MACRONIX
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by Macronix.
|
||||
|
||||
config SPI_FLASH_SPANSION
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by Spansion.
|
||||
|
||||
config SPI_FLASH_SST
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by SST.
|
||||
|
||||
config SPI_FLASH_STMICRO
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by ST MICRO.
|
||||
|
||||
config SPI_FLASH_WINBOND
|
||||
bool
|
||||
default y
|
||||
default y if !COMMON_CBFS_SPI_WRAPPER
|
||||
help
|
||||
Select this option if your chipset driver needs to store certain
|
||||
data in the SPI flash and your SPI flash is made by Winbond.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,27 @@
|
|||
# SPI flash driver interface
|
||||
|
||||
ifeq ($(CONFIG_COMMON_CBFS_SPI_WRAPPER),y)
|
||||
bootblock-y += spi_flash.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_EON) += eon.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_GIGADEVICE) += gigadevice.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_MACRONIX) += macronix.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_SPANSION) += spansion.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_SST) += sst.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_STMICRO) += stmicro.c
|
||||
bootblock-$(CONFIG_SPI_FLASH_WINBOND) += winbond.c
|
||||
bootblock-$(CONFIG_SPI_FRAM_RAMTRON) += ramtron.c
|
||||
|
||||
romstage-$(CONFIG_SPI_FLASH) += spi_flash.c
|
||||
romstage-$(CONFIG_SPI_FLASH_EON) += eon.c
|
||||
romstage-$(CONFIG_SPI_FLASH_GIGADEVICE) += gigadevice.c
|
||||
romstage-$(CONFIG_SPI_FLASH_MACRONIX) += macronix.c
|
||||
romstage-$(CONFIG_SPI_FLASH_SPANSION) += spansion.c
|
||||
romstage-$(CONFIG_SPI_FLASH_SST) += sst.c
|
||||
romstage-$(CONFIG_SPI_FLASH_STMICRO) += stmicro.c
|
||||
romstage-$(CONFIG_SPI_FLASH_WINBOND) += winbond.c
|
||||
romstage-$(CONFIG_SPI_FRAM_RAMTRON) += ramtron.c
|
||||
endif
|
||||
|
||||
ramstage-$(CONFIG_SPI_FLASH) += spi_flash.c
|
||||
|
||||
# drivers
|
||||
|
|
|
|||
Loading…
Reference in a new issue