soc/intel/common: Introduce API to get the FSP Reset Status
This patch creates a function to read the FSP API Reset Status. This function relies on the FSP Scheduled Reset HOB which holds the reset type (warm/cold/shutdown) information along with any platform specific reset need (like global reset). Ideally FSP API should be able to return the status (both success and error code) upon exiting the FSP API but unfortunately there are some scenarios in ADL/RPL FSP where MultiPhaseSiInit API is unable to return any ERROR status. Hence, this function provides an additional hook to read the FSP reset status by reading the dedicated HOB without relying on the FSP API exit status code. Additionally, create FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN config option to handle broken FSP API return status issue. Any SoC platform that selects the `FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN` config will call into this newly added API to get the FSP return status from MultiPhaseSiInit. BUG=b:278665768 TEST=Able to select FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN for ADL/RPL SoC code and call into this API to know the return status from MultiPhaseSiInit FSP API. Signed-off-by: Subrata Banik <subratabanik@google.com> Change-Id: Ief5d79736cc11a0a31ca2889128285795f8b5aae Reviewed-on: https://review.coreboot.org/c/coreboot/+/74783 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com> Reviewed-by: Kapil Porwal <kapilporwal@google.com>
This commit is contained in:
parent
72e63d5e9c
commit
da7d00ef21
3 changed files with 92 additions and 0 deletions
|
|
@ -389,4 +389,17 @@ config SAVE_MRC_AFTER_FSPS
|
|||
Save MRC training data after FSP-S. Select this on platforms that generate MRC
|
||||
cache HOB data as part of FSP-S rather than FSP-M.
|
||||
|
||||
config FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN
|
||||
bool
|
||||
default n
|
||||
depends on PLATFORM_USES_FSP2_2
|
||||
help
|
||||
Select this config for Intel SoC platform where FSP MultiPhaseSiInit API is unable
|
||||
to return ERROR status properly.
|
||||
|
||||
The config option will be selected based on the target SoC platform and if the
|
||||
problem existed inside the FSP MultiPhaseSiInit. At present the problem has only
|
||||
reported with Alder Lake and Raptor Lake FSP where MultiPhaseSiInit API is unable
|
||||
to return any ERROR status.
|
||||
|
||||
endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue