drivers/intel/fsp2_0: Add Kconfig option to control MBP HOB creation

This patch adds a new Kconfig option `FSP_PUBLISH_MBP_HOB` to
control the creation of the ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.

Disabling this option can improve boot time on platforms that
do not utilize the MBP HOB, such as ChromeOS devices.

The option is disabled by default on ChromeOS and enabled
by default on other platforms.

On ADL-P based platforms, this option is forced to be enabled
as ADL-P FSP relies on MBP HOB for ChipsetInit version for
ChipsetInit sync.

Removed SoC specific implementation of `FSP_PUBLISH_MBP_HOB` config
from MTL and TGL config file.

TEST=Tested on ADL-P and ADL-N platforms. Verified that MBP HOB is
created when `FSP_PUBLISH_MBP_HOB` is enabled and not created when
it is disabled.
Also verified that the system boots successfully in both cases.

Change-Id: I21da00259c0b9bcca6f545291a6259e9cce8d900
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84217
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
This commit is contained in:
Subrata Banik 2024-09-04 23:51:09 +05:30
commit 9947d54577
4 changed files with 16 additions and 26 deletions

View file

@ -522,4 +522,15 @@ config FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN
reported with Alder Lake and Raptor Lake FSP where MultiPhaseSiInit API is unable
to return any ERROR status.
config FSP_PUBLISH_MBP_HOB
bool
default n if CHROMEOS
default y
help
This is to control creation of ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.
Disabling it for the platforms, which do not use MBP HOB, can improve the boot time.
ChromeOS devices typically do not require the MBP information, hence it is disabled
by default on ChromeOS.
endif

View file

@ -511,18 +511,13 @@ config INTEL_GMA_BCLM_OFFSET
config INTEL_GMA_BCLM_WIDTH
default 32
# Note: It cannot be disabled for ADL-P based platforms because ADL-P FSP relies on
# MBP HOB for ChipsetInit version for ChipsetInit sync. As ChipsetInit sync doesn't
# occur if no MBP HOB, so it results S0ix issue. This limitation is addressed in the
# later platforms so creation of MBP HOB can be skipped for ADL-N based platforms.
config FSP_PUBLISH_MBP_HOB
bool
default n if CHROMEOS && (SOC_INTEL_ALDERLAKE_PCH_N)
default y
help
This is to control creation of ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.
Disabling it for the platforms, which do not use MBP HOB, can improve the boot time.
Note: It cannot be disabled for ADL-P based platforms because ADL-P FSP relies on
MBP HOB for ChipsetInit version for ChipsetInit sync. As ChipsetInit sync doesn't
occur if no MBP HOB, so it results S0ix issue. This limitation is addressed in the
later platforms so creation of MBP HOB can be skipped for ADL-N based platforms.
default y if !SOC_INTEL_ALDERLAKE_PCH_N
config INCLUDE_HSPHY_IN_FMAP
bool "Include PCIe 5.0 HSPHY firmware in flash"

View file

@ -380,14 +380,6 @@ config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
hex
default 0x800000
config FSP_PUBLISH_MBP_HOB
bool
default n if CHROMEOS
default y
help
This is to control creation of ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.
Disabling it for the platforms, which do not use MBP HOB, can improve the boot time.
config BUILDING_WITH_DEBUG_FSP
bool "Debug FSP is used for the build"
default n

View file

@ -248,12 +248,4 @@ config BUILDING_WITH_DEBUG_FSP
help
Set this option if debug build of FSP is used.
config FSP_PUBLISH_MBP_HOB
bool
default n if CHROMEOS
default y
help
This is to control creation of ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.
Disabling it for the platforms, which do not use MBP HOB, can improve the boot time.
endif