coreboot/src
Subrata Banik da7d00ef21 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>
2023-05-02 10:51:01 +00:00
..
acpi acpi: Add missing cbfs_unmap() 2023-05-01 14:41:45 +00:00
arch ACPI: Make FADT entries for RTC/CMOS architectural 2023-04-29 01:20:54 +00:00
commonlib {commonlib, soc/intel/cmn/cse}: Store CSE firmware version into CBMEM 2023-04-21 17:22:00 +00:00
console console: Deselect using ANSI escape characters when SimNow is used 2023-03-30 13:36:35 +00:00
cpu treewide: Add missing include guards to chip.h 2023-04-28 13:38:33 +00:00
device lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
drivers soc/intel/common: Introduce API to get the FSP Reset Status 2023-05-02 10:51:01 +00:00
ec ec/starlabs/merlin: Change the fallback value for fn_ctrl_swap 2023-04-28 15:30:25 +00:00
include acpigen: Add a runtime method to override exposed _Sx sleep states 2023-05-01 06:38:36 +00:00
lib lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
mainboard protectcli/vault_bsw: Drop USB power control bits in GNVS 2023-05-01 17:34:10 +00:00
northbridge AMD binaryPI: Use ACPI_COMMON_MADT_IOAPIC 2023-04-26 11:06:40 +00:00
sbom payloads/Yabits: Remove deprecated Yabits Payload 2023-02-17 01:21:43 +00:00
security security/tpm: make usage of PCRs configurable via Kconfig 2023-04-10 04:01:08 +00:00
soc soc/intel/common: Introduce API to get the FSP Reset Status 2023-05-02 10:51:01 +00:00
southbridge acpigen: Add a runtime method to override exposed _Sx sleep states 2023-05-01 06:38:36 +00:00
superio treewide: Remove useless "_STA: Status" comment 2023-02-19 11:20:37 +00:00
vendorcode vendorcode/mediatek/mt8192: Cast enum types 2023-05-01 14:38:43 +00:00
Kconfig SMBIOS: Group Kconfig dependency 2023-05-01 17:32:06 +00:00