summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-08-11 14:04:10 -0500
committerAaron Durbin <adurbin@chromium.org>2016-08-15 21:00:25 +0200
commita83bbf58541cf41ea7a97dedbc8c02dffa59e86d (patch)
tree78d1a7aaecbd4ad734bc17c22ddf090193e91695
parent3cef11753dbe968d6088821f05f33f042cae4260 (diff)
downloadcoreboot-a83bbf58541cf41ea7a97dedbc8c02dffa59e86d.tar.xz
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: Ibdd7c8754f9bf560a878136b1f55238e2c2549d3 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/16193 Reviewed-by: Andrey Petrov <andrey.petrov@intel.com> Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/Kconfig7
-rw-r--r--src/drivers/elog/elog.c4
-rw-r--r--src/drivers/spi/Kconfig7
-rw-r--r--src/lib/cbfs.c2
-rw-r--r--src/soc/intel/apollolake/romstage.c3
5 files changed, 12 insertions, 11 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 001132eb2c..ca4abbe21d 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -480,6 +480,13 @@ endmenu
source "src/acpi/Kconfig"
+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
bool
default n
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c
index 55b8974304..f046a3483b 100644
--- a/src/drivers/elog/elog.c
+++ b/src/drivers/elog/elog.c
@@ -586,8 +586,8 @@ static int elog_shrink(void)
*/
static inline u8 *elog_flash_offset_to_address(void)
{
- /* Only support memory-mapped SPI devices. */
- if (!IS_ENABLED(CONFIG_SPI_FLASH_MEMORY_MAPPED))
+ /* Only support memory-mapped devices. */
+ if (!IS_ENABLED(CONFIG_BOOT_DEVICE_MEMORY_MAPPED))
return NULL;
if (!elog_spi)
diff --git a/src/drivers/spi/Kconfig b/src/drivers/spi/Kconfig
index a10ee83f07..40f8830855 100644
--- a/src/drivers/spi/Kconfig
+++ b/src/drivers/spi/Kconfig
@@ -32,13 +32,6 @@ config SPI_ATOMIC_SEQUENCING
in the SPI controller. Hardware manages the transaction instead of
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
bool "SPI flash driver support in SMM"
default n
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c
index 7a0f187092..7318c87937 100644
--- a/src/lib/cbfs.c
+++ b/src/lib/cbfs.c
@@ -193,7 +193,7 @@ int cbfs_prog_stage_load(struct prog *pstage)
/* Hacky way to not load programs over read only media. The stages
* that would hit this path initialize themselves. */
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);
rdev_munmap(fh, mapping);
if (mapping == load)
diff --git a/src/soc/intel/apollolake/romstage.c b/src/soc/intel/apollolake/romstage.c
index 8f17fddd69..067d654b25 100644
--- a/src/soc/intel/apollolake/romstage.c
+++ b/src/soc/intel/apollolake/romstage.c
@@ -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
* as designed.
*/
- mupd->FspmConfig.SkipCseRbp = IS_ENABLED(CONFIG_SPI_FLASH_MEMORY_MAPPED);
+ mupd->FspmConfig.SkipCseRbp =
+ IS_ENABLED(CONFIG_BOOT_DEVICE_MEMORY_MAPPED);
}
__attribute__ ((weak))