summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-08-11 11:02:26 -0500
committerMartin Roth <martinroth@google.com>2016-08-18 06:18:21 +0200
commit4a36c4e9fc66bf442f46e1e6d742b2d6c50a2ae1 (patch)
tree0370c6f41f8eb72c35fbfa915f0226bb312f5d13
parent2d97cb1be50acdf7e7604dd666d52cb9765de018 (diff)
downloadcoreboot-4a36c4e9fc66bf442f46e1e6d742b2d6c50a2ae1.tar.xz
Kconfig: lay groundwork for not assuming SPI flash boot device
Almost all boards and chipsets within the codebase assume or use SPI flash as the boot device. Therefore, provide an option for the boards/chipsets which don't currently support SPI flash as the boot device. The default is to assume SPI flash is the boot device unless otherwise instructed. This falls in line with the current assumptions, but it also allows one to differentiate a platform desiring SPI flash support while it not being the actual boot device. One thing to note is that while google/daisy does boot with SPI flash part no SPI API interfaces were ever implemented. Therefore, mark that board as not having a SPI boot device. BUG=chrome-os-partner:56151 Change-Id: Id4e0b4ec5e440e41421fbb6d0ca2be4185b62a6e Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/16191 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r--src/Kconfig12
-rw-r--r--src/cpu/allwinner/a10/Kconfig1
-rw-r--r--src/cpu/ti/am335x/Kconfig1
-rw-r--r--src/drivers/spi/Kconfig1
-rw-r--r--src/mainboard/emulation/qemu-armv7/Kconfig1
-rw-r--r--src/mainboard/emulation/qemu-power8/Kconfig1
-rw-r--r--src/mainboard/emulation/qemu-riscv/Kconfig1
-rw-r--r--src/mainboard/emulation/spike-riscv/Kconfig1
-rw-r--r--src/mainboard/google/daisy/Kconfig1
9 files changed, 20 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 3af27691e6..04b8d247df 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -471,6 +471,18 @@ endmenu
source "src/acpi/Kconfig"
+# This option is for the current boards/chipsets where SPI flash
+# is not the boot device. Currently nearly all boards/chipsets assume
+# SPI flash is the boot device.
+config BOOT_DEVICE_NOT_SPI_FLASH
+ bool
+ default n
+
+config BOOT_DEVICE_SPI_FLASH
+ bool
+ default y if !BOOT_DEVICE_NOT_SPI_FLASH
+ default n
+
config RTC
bool
default n
diff --git a/src/cpu/allwinner/a10/Kconfig b/src/cpu/allwinner/a10/Kconfig
index 0e5aba98b7..6451b4aa5c 100644
--- a/src/cpu/allwinner/a10/Kconfig
+++ b/src/cpu/allwinner/a10/Kconfig
@@ -14,5 +14,6 @@ config CPU_SPECIFIC_OPTIONS
select HAVE_UART_SPECIAL
select BOOTBLOCK_CONSOLE
select UART_OVERRIDE_REFCLK
+ select BOOT_DEVICE_NOT_SPI_FLASH
endif # if CPU_ALLWINNER_A10
diff --git a/src/cpu/ti/am335x/Kconfig b/src/cpu/ti/am335x/Kconfig
index f44c69d686..939bca78b4 100644
--- a/src/cpu/ti/am335x/Kconfig
+++ b/src/cpu/ti/am335x/Kconfig
@@ -8,5 +8,6 @@ config CPU_TI_AM335X
select BOOTBLOCK_CONSOLE
select GENERIC_UDELAY
select UART_OVERRIDE_REFCLK
+ select BOOT_DEVICE_NOT_SPI_FLASH
bool
default n
diff --git a/src/drivers/spi/Kconfig b/src/drivers/spi/Kconfig
index 194e61f2f9..35435a6caf 100644
--- a/src/drivers/spi/Kconfig
+++ b/src/drivers/spi/Kconfig
@@ -15,6 +15,7 @@
config SPI_FLASH
bool
+ default y if BOOT_DEVICE_SPI_FLASH
default n
help
Select this option if your chipset driver needs to store certain
diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig
index 2654f0f9e2..e801ae38d0 100644
--- a/src/mainboard/emulation/qemu-armv7/Kconfig
+++ b/src/mainboard/emulation/qemu-armv7/Kconfig
@@ -31,6 +31,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select ARCH_ROMSTAGE_ARMV7
select ARCH_RAMSTAGE_ARMV7
select BOARD_ROMSIZE_KB_4096
+ select BOOT_DEVICE_NOT_SPI_FLASH
config MAINBOARD_DIR
string
diff --git a/src/mainboard/emulation/qemu-power8/Kconfig b/src/mainboard/emulation/qemu-power8/Kconfig
index 7946c3e6d9..6adcf7264f 100644
--- a/src/mainboard/emulation/qemu-power8/Kconfig
+++ b/src/mainboard/emulation/qemu-power8/Kconfig
@@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select ARCH_BOOTBLOCK_POWER8
select HAVE_UART_SPECIAL
select ARCH_POWER8
+ select BOOT_DEVICE_NOT_SPI_FLASH
config MAINBOARD_DIR
string
diff --git a/src/mainboard/emulation/qemu-riscv/Kconfig b/src/mainboard/emulation/qemu-riscv/Kconfig
index 37d787a4c8..cd11f95442 100644
--- a/src/mainboard/emulation/qemu-riscv/Kconfig
+++ b/src/mainboard/emulation/qemu-riscv/Kconfig
@@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_4096
select ARCH_BOOTBLOCK_RISCV
select HAVE_UART_SPECIAL
+ select BOOT_DEVICE_NOT_SPI_FLASH
config MAINBOARD_DIR
string
diff --git a/src/mainboard/emulation/spike-riscv/Kconfig b/src/mainboard/emulation/spike-riscv/Kconfig
index a762220ba2..574f23cee7 100644
--- a/src/mainboard/emulation/spike-riscv/Kconfig
+++ b/src/mainboard/emulation/spike-riscv/Kconfig
@@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_4096
select ARCH_BOOTBLOCK_RISCV
select DRIVERS_UART_8250MEM
+ select BOOT_DEVICE_NOT_SPI_FLASH
config MAINBOARD_DIR
string
diff --git a/src/mainboard/google/daisy/Kconfig b/src/mainboard/google/daisy/Kconfig
index 9f6a6153c3..cef3f6125e 100644
--- a/src/mainboard/google/daisy/Kconfig
+++ b/src/mainboard/google/daisy/Kconfig
@@ -17,6 +17,7 @@ if BOARD_GOOGLE_DAISY
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
+ select BOOT_DEVICE_NOT_SPI_FLASH
select CPU_SAMSUNG_EXYNOS5250
select EC_GOOGLE_CHROMEEC
select EC_GOOGLE_CHROMEEC_I2C