common/block/fast_spi: Add extended BIOS window as reserved region
The fast SPI driver reports the BIOS window as reserved so that the OS
is aware of this region. Now that platforms which supports an extended
BIOS window are added to this driver, add the extended range as reserved
as well if it is enabled. And since this is now handled in the SPI
driver itself, remove the extended BIOS region reporting from
common systemagent code.
Change-Id: Ib5c735bffcb389be07c876d7b5b2d88c545a0b03
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67529
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
diff --git a/src/soc/intel/common/block/fast_spi/fast_spi.c b/src/soc/intel/common/block/fast_spi/fast_spi.c
index e46effc..78225ec 100644
--- a/src/soc/intel/common/block/fast_spi/fast_spi.c
+++ b/src/soc/intel/common/block/fast_spi/fast_spi.c
@@ -530,6 +530,11 @@
/* Add SPI flash MMIO window as a reserved resource. */
mmio_resource_kb(dev, 0, FLASH_BASE_ADDR / KiB, FLASH_MMIO_SIZE / KiB);
+ /* Add extended SPI flash MMIO window as reserved resource if enabled. */
+ if (CONFIG(FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW)) {
+ mmio_resource_kb(dev, 1, CONFIG_EXT_BIOS_WIN_BASE / KiB,
+ CONFIG_EXT_BIOS_WIN_SIZE / KiB);
+ }
}
static struct device_operations fast_spi_dev_ops = {
diff --git a/src/soc/intel/common/block/systemagent/systemagent.c b/src/soc/intel/common/block/systemagent/systemagent.c
index 1ceddf34d..0861e62 100644
--- a/src/soc/intel/common/block/systemagent/systemagent.c
+++ b/src/soc/intel/common/block/systemagent/systemagent.c
@@ -289,11 +289,6 @@
if (CONFIG(SA_ENABLE_IMR))
/* Add the isolated memory ranges (IMRs). */
sa_add_imr_resources(dev, &index);
-
- /* Reserve the window used for extended BIOS decoding. */
- if (CONFIG(FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW))
- mmio_resource_kb(dev, index++, CONFIG_EXT_BIOS_WIN_BASE / KiB,
- CONFIG_EXT_BIOS_WIN_SIZE / KiB);
}
void enable_power_aware_intr(void)