diff options
author | Aaron Durbin <adurbin@chromium.org> | 2016-08-11 11:02:26 -0500 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-08-18 06:18:21 +0200 |
commit | 4a36c4e9fc66bf442f46e1e6d742b2d6c50a2ae1 (patch) | |
tree | 0370c6f41f8eb72c35fbfa915f0226bb312f5d13 | |
parent | 2d97cb1be50acdf7e7604dd666d52cb9765de018 (diff) |
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/Kconfig | 12 | ||||
-rw-r--r-- | src/cpu/allwinner/a10/Kconfig | 1 | ||||
-rw-r--r-- | src/cpu/ti/am335x/Kconfig | 1 | ||||
-rw-r--r-- | src/drivers/spi/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/emulation/qemu-armv7/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/emulation/qemu-power8/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/emulation/qemu-riscv/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/emulation/spike-riscv/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/google/daisy/Kconfig | 1 |
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 |