mb/intel/beechnutcity_crb: Use host address for BiosRegionBase

FMAP_SECTION_SI_BIOS_START is used to pass host address for UPD
BiosRegionBase. It changes to flash address after:
commit 2efe4df522 ("treewide: Assume FMAP_SECTION_FLASH_START = 0")

Convert FMAP_SECTION_SI_BIOS_START to host address to set
BiosRegionBase.

TESTED=Build and boot on intel/beechnutcity CRB, check boot log with:
[INFO ]  BiosRegionBase is set to ff000000
[INFO ]  BiosRegionSize is set to 1000000

Change-Id: Ie115bd8e9044455185f82885a306849c509157bb
Signed-off-by: Jincheng Li <jincheng.li@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87690
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Jincheng Li 2025-05-15 10:22:46 +08:00 committed by Matt DeVillier
commit f85f7d7aed

View file

@ -10,6 +10,7 @@
#include <soc/dimm_slot.h>
#include <soc/iio.h>
#include <soc/romstage.h>
#include <spi_flash.h>
#include <static.h>
#include "chip.h"
@ -32,7 +33,10 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
CONFIG_BMC_KCS_BASE);
/* Set BIOS regeion UPD, otherwise MTRR might set incorrectly during TempRamExit API */
m_cfg->BiosRegionBase = FMAP_SECTION_SI_BIOS_START;
struct flash_mmap_window table;
spi_flash_get_mmap_windows(&table);
m_cfg->BiosRegionBase = table.host_base + FMAP_SECTION_SI_BIOS_START;
m_cfg->BiosRegionSize = FMAP_SECTION_SI_BIOS_SIZE;
printk(BIOS_INFO, "BiosRegionBase is set to %x\n", mupd->FspmConfig.BiosRegionBase);
printk(BIOS_INFO, "BiosRegionSize is set to %x\n", mupd->FspmConfig.BiosRegionSize);