Kconfig: separate memory mapped boot device from SPI

Make the indication of the boot device being memory mapped
separate from SPI. However, retain the same defaults that
previously existed.

BUG=chrome-os-partner:56151

Change-Id: I06f138078c47a1e4b4b3edbdbf662f171e11c9d4
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/16228
Tested-by: build bot (Jenkins)
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Aaron Durbin 2016-08-11 14:04:10 -05:00 committed by Martin Roth
parent d3d77beffa
commit 16c173fdf5
5 changed files with 12 additions and 11 deletions

View File

@ -483,6 +483,13 @@ config BOOT_DEVICE_SPI_FLASH
default y if !BOOT_DEVICE_NOT_SPI_FLASH default y if !BOOT_DEVICE_NOT_SPI_FLASH
default n default n
config BOOT_DEVICE_MEMORY_MAPPED
bool
default y if ARCH_X86 && BOOT_DEVICE_SPI_FLASH
default n
help
Inform system if SPI is memory-mapped or not.
config RTC config RTC
bool bool
default n default n

View File

@ -586,8 +586,8 @@ static int elog_shrink(void)
*/ */
static inline u8 *elog_flash_offset_to_address(void) static inline u8 *elog_flash_offset_to_address(void)
{ {
/* Only support memory-mapped SPI devices. */ /* Only support memory-mapped devices. */
if (!IS_ENABLED(CONFIG_SPI_FLASH_MEMORY_MAPPED)) if (!IS_ENABLED(CONFIG_BOOT_DEVICE_MEMORY_MAPPED))
return NULL; return NULL;
if (!elog_spi) if (!elog_spi)

View File

@ -45,13 +45,6 @@ config SPI_ATOMIC_SEQUENCING
in the SPI controller. Hardware manages the transaction instead of in the SPI controller. Hardware manages the transaction instead of
software. This is common on x86 platforms. software. This is common on x86 platforms.
config SPI_FLASH_MEMORY_MAPPED
bool
default y if ARCH_X86
default n if !ARCH_X86
help
Inform system if SPI is memory-mapped or not.
config SPI_FLASH_SMM config SPI_FLASH_SMM
bool "SPI flash driver support in SMM" bool "SPI flash driver support in SMM"
default n default n

View File

@ -193,7 +193,7 @@ int cbfs_prog_stage_load(struct prog *pstage)
/* Hacky way to not load programs over read only media. The stages /* Hacky way to not load programs over read only media. The stages
* that would hit this path initialize themselves. */ * that would hit this path initialize themselves. */
if (ENV_VERSTAGE && !IS_ENABLED(CONFIG_NO_XIP_EARLY_STAGES) && if (ENV_VERSTAGE && !IS_ENABLED(CONFIG_NO_XIP_EARLY_STAGES) &&
IS_ENABLED(CONFIG_SPI_FLASH_MEMORY_MAPPED)) { IS_ENABLED(CONFIG_BOOT_DEVICE_MEMORY_MAPPED)) {
void *mapping = rdev_mmap(fh, foffset, fsize); void *mapping = rdev_mmap(fh, foffset, fsize);
rdev_munmap(fh, mapping); rdev_munmap(fh, mapping);
if (mapping == load) if (mapping == load)

View File

@ -160,7 +160,8 @@ void platform_fsp_memory_init_params_cb(struct FSPM_UPD *mupd)
* state machine transition to next boot state, so that it can function * state machine transition to next boot state, so that it can function
* as designed. * as designed.
*/ */
mupd->FspmConfig.SkipCseRbp = IS_ENABLED(CONFIG_SPI_FLASH_MEMORY_MAPPED); mupd->FspmConfig.SkipCseRbp =
IS_ENABLED(CONFIG_BOOT_DEVICE_MEMORY_MAPPED);
} }
__attribute__ ((weak)) __attribute__ ((weak))