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:
parent
d3d77beffa
commit
16c173fdf5
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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))
|
||||||
|
|
Loading…
Reference in New Issue