From 1d017363c4fe44af4ede6cbfdf0f950ee5c6722d Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Tue, 5 Jun 2018 22:14:41 +0200 Subject: drivers/spi: Treat all stages commonly when adding drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://review.coreboot.org/26871 Reviewed-by: Kyösti Mälkki Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) --- src/drivers/spi/Makefile.inc | 129 ++++++++++--------------------------------- 1 file changed, 29 insertions(+), 100 deletions(-) (limited to 'src') 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 -- cgit v1.2.3