aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/spi
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2018-06-05 22:14:41 +0200
committerPatrick Georgi <pgeorgi@google.com>2018-06-11 08:43:09 +0000
commit1d017363c4fe44af4ede6cbfdf0f950ee5c6722d (patch)
tree87f82556142ede653fd1e0b7b3726bf66d67f74b /src/drivers/spi
parent653d5d3b12bcf09f974bc9d9f4abd6f1627c2e2c (diff)
drivers/spi: Treat all stages commonly when adding drivers
Clean it up and add all flash chip drivers to postcar stage thereby. There seem to be SPI controllers that don't need the individual flash chip drivers. For those postcar support was added in b6b1b23 (console/flashconsole: Enable support for postcar). However for SPI controllers that need the individual drivers (i.e. those with CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y), linking of the postcar stage was broken. For all other stages, the set of compilation units stays the same. Change-Id: Ib8bdb824bfcf2d31ac696e39f797c4355b765756 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/26871 Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers/spi')
-rw-r--r--src/drivers/spi/Makefile.inc129
1 files changed, 29 insertions, 100 deletions
diff --git a/src/drivers/spi/Makefile.inc b/src/drivers/spi/Makefile.inc
index cd404f489e..e55233e9d8 100644
--- a/src/drivers/spi/Makefile.inc
+++ b/src/drivers/spi/Makefile.inc
@@ -7,105 +7,34 @@ ramstage-y += spiconsole.c
smm-y += spiconsole.c
endif
-ifeq ($(CONFIG_CONSOLE_SPI_FLASH),y)
-bootblock-y += flashconsole.c
-verstage-y += flashconsole.c
-romstage-y += flashconsole.c
-ramstage-y += flashconsole.c
-postcar-y += flashconsole.c
-smm-y += flashconsole.c
-endif
-
-bootblock-y += spi-generic.c
-bootblock-y += bitbang.c
-bootblock-$(CONFIG_COMMON_CBFS_SPI_WRAPPER) += cbfs_spi.c
-bootblock-$(CONFIG_SPI_FLASH) += spi_flash.c
-bootblock-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY) += boot_device_rw_nommap.c
-bootblock-$(CONFIG_SPI_FLASH_ADESTO) += adesto.c
-bootblock-$(CONFIG_SPI_FLASH_AMIC) += amic.c
-bootblock-$(CONFIG_SPI_FLASH_ATMEL) += atmel.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-y += spi-generic.c
-romstage-y += bitbang.c
-romstage-$(CONFIG_COMMON_CBFS_SPI_WRAPPER) += cbfs_spi.c
-romstage-$(CONFIG_SPI_FLASH) += spi_flash.c
-romstage-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY) += boot_device_rw_nommap.c
-romstage-$(CONFIG_SPI_FLASH_ADESTO) += adesto.c
-romstage-$(CONFIG_SPI_FLASH_AMIC) += amic.c
-romstage-$(CONFIG_SPI_FLASH_ATMEL) += atmel.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
-
-verstage-y += spi-generic.c
-verstage-y += bitbang.c
-verstage-$(CONFIG_COMMON_CBFS_SPI_WRAPPER) += cbfs_spi.c
-verstage-$(CONFIG_SPI_FLASH) += spi_flash.c
-verstage-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY) += boot_device_rw_nommap.c
-verstage-$(CONFIG_SPI_FLASH_ADESTO) += adesto.c
-verstage-$(CONFIG_SPI_FLASH_AMIC) += amic.c
-verstage-$(CONFIG_SPI_FLASH_ATMEL) += atmel.c
-verstage-$(CONFIG_SPI_FLASH_EON) += eon.c
-verstage-$(CONFIG_SPI_FLASH_GIGADEVICE) += gigadevice.c
-verstage-$(CONFIG_SPI_FLASH_MACRONIX) += macronix.c
-verstage-$(CONFIG_SPI_FLASH_SPANSION) += spansion.c
-verstage-$(CONFIG_SPI_FLASH_SST) += sst.c
-verstage-$(CONFIG_SPI_FLASH_STMICRO) += stmicro.c
-verstage-$(CONFIG_SPI_FLASH_WINBOND) += winbond.c
-verstage-$(CONFIG_SPI_FRAM_RAMTRON) += ramtron.c
-
-ramstage-y += spi-generic.c
-ramstage-y += bitbang.c
-ramstage-$(CONFIG_COMMON_CBFS_SPI_WRAPPER) += cbfs_spi.c
-ramstage-$(CONFIG_SPI_FLASH) += spi_flash.c
-ramstage-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP) += boot_device_rw_nommap.c
-ramstage-$(CONFIG_SPI_FLASH_ADESTO) += adesto.c
-ramstage-$(CONFIG_SPI_FLASH_AMIC) += amic.c
-ramstage-$(CONFIG_SPI_FLASH_ATMEL) += atmel.c
-ramstage-$(CONFIG_SPI_FLASH_EON) += eon.c
-ramstage-$(CONFIG_SPI_FLASH_GIGADEVICE) += gigadevice.c
-ramstage-$(CONFIG_SPI_FLASH_MACRONIX) += macronix.c
-ramstage-$(CONFIG_SPI_FLASH_SPANSION) += spansion.c
-ramstage-$(CONFIG_SPI_FLASH_SST) += sst.c
-ramstage-$(CONFIG_SPI_FLASH_STMICRO) += stmicro.c
-ramstage-$(CONFIG_SPI_FLASH_WINBOND) += winbond.c
-ramstage-$(CONFIG_SPI_FRAM_RAMTRON) += ramtron.c
-
+# add SPI drivers per stage
+# $1 stage name
+# $2 optional _EARLY suffix for CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP(_EARLY)
+define add_spi_stage
+$(1)-y += spi-generic.c
+$(1)-y += bitbang.c
+$(1)-$(CONFIG_COMMON_CBFS_SPI_WRAPPER) += cbfs_spi.c
+$(1)-$(CONFIG_SPI_FLASH) += spi_flash.c
+$(1)-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP$(2)) += boot_device_rw_nommap.c
+$(1)-$(CONFIG_CONSOLE_SPI_FLASH) += flashconsole.c
+$(1)-$(CONFIG_SPI_FLASH_ADESTO) += adesto.c
+$(1)-$(CONFIG_SPI_FLASH_AMIC) += amic.c
+$(1)-$(CONFIG_SPI_FLASH_ATMEL) += atmel.c
+$(1)-$(CONFIG_SPI_FLASH_EON) += eon.c
+$(1)-$(CONFIG_SPI_FLASH_GIGADEVICE) += gigadevice.c
+$(1)-$(CONFIG_SPI_FLASH_MACRONIX) += macronix.c
+$(1)-$(CONFIG_SPI_FLASH_SPANSION) += spansion.c
+$(1)-$(CONFIG_SPI_FLASH_SST) += sst.c
+$(1)-$(CONFIG_SPI_FLASH_STMICRO) += stmicro.c
+$(1)-$(CONFIG_SPI_FLASH_WINBOND) += winbond.c
+$(1)-$(CONFIG_SPI_FRAM_RAMTRON) += ramtron.c
+endef
+
+$(eval $(call add_spi_stage,bootblock,_EARLY))
+$(eval $(call add_spi_stage,romstage,_EARLY))
+$(eval $(call add_spi_stage,verstage,_EARLY))
+$(eval $(call add_spi_stage,postcar,_EARLY))
+$(eval $(call add_spi_stage,ramstage))
ifeq ($(CONFIG_SPI_FLASH_SMM),y)
-smm-y += spi-generic.c
-smm-y += bitbang.c
-# SPI flash driver interface
-smm-$(CONFIG_SPI_FLASH) += spi_flash.c
-smm-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP) += boot_device_rw_nommap.c
-
-# drivers
-smm-$(CONFIG_SPI_FLASH_ADESTO) += adesto.c
-smm-$(CONFIG_SPI_FLASH_AMIC) += amic.c
-smm-$(CONFIG_SPI_FLASH_ATMEL) += atmel.c
-smm-$(CONFIG_SPI_FLASH_EON) += eon.c
-smm-$(CONFIG_SPI_FLASH_MACRONIX) += macronix.c
-smm-$(CONFIG_SPI_FLASH_GIGADEVICE) += gigadevice.c
-smm-$(CONFIG_SPI_FLASH_SPANSION) += spansion.c
-smm-$(CONFIG_SPI_FLASH_SST) += sst.c
-smm-$(CONFIG_SPI_FLASH_STMICRO) += stmicro.c
-smm-$(CONFIG_SPI_FLASH_WINBOND) += winbond.c
-smm-$(CONFIG_SPI_FRAM_RAMTRON) += ramtron.c
+$(eval $(call add_spi_stage,smm))
endif
-
-postcar-y += spi-generic.c
-postcar-y += bitbang.c
-postcar-$(CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY) += boot_device_rw_nommap.c
-postcar-$(CONFIG_SPI_FLASH) += spi_flash.c