diff options
author | Nick Vaccaro <nvaccaro@google.com> | 2021-02-22 14:26:13 -0800 |
---|---|---|
committer | Nick Vaccaro <nvaccaro@google.com> | 2021-02-22 23:20:32 +0000 |
commit | 202b1899dc0f7701b03a7839bccd3bf0438f1ac7 (patch) | |
tree | a49e14faa6dfe42bbe417e6ccafb4b3407dfaa9c | |
parent | 3e945f1a2333e723a82848bc9f65e833dd03baa8 (diff) | |
download | coreboot-202b1899dc0f7701b03a7839bccd3bf0438f1ac7.tar.xz |
soc/intel/tigerlake: Enable end of post support in FSP
Send end of post message to CSME in FSP, by selecting EndOfPost
message in PEI phase. In API mode which coreboot currently uses,
sending EndOfPost message in DXE phase is not applicable.
BUG=b:180755397
TEST=Extract and copy MEInfo tool from CSME Fit Kit to voxel, execute
./MEInfo | grep "BIOS Boot State"
and confirm response shows BIOS Boot State to be "Post Boot".
Change-Id: I1ad0d7cc06e79b2fe1e53d49c8e838f4d91af736
Signed-off-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51012
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | src/soc/intel/tigerlake/fsp_params.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/soc/intel/tigerlake/fsp_params.c b/src/soc/intel/tigerlake/fsp_params.c index 90d6805a76..3e440aa9d6 100644 --- a/src/soc/intel/tigerlake/fsp_params.c +++ b/src/soc/intel/tigerlake/fsp_params.c @@ -35,6 +35,18 @@ #define DEF_DITOVAL 625 /* + * ME End of Post configuration + * 0 - Disable EOP. + * 1 - Send in PEI (Applicable for FSP in API mode) + * 2 - Send in DXE (Not applicable for FSP in API mode) + */ +enum { + EOP_DISABLE, + EOP_PEI, + EOP_DXE, +} EndOfPost; + +/* * Chip config parameter PcieRpL1Substates uses (UPD value + 1) * because UPD value of 0 for PcieRpL1Substates means disabled for FSP. * In order to ensure that mainboard setting does not disable L1 substates @@ -203,6 +215,9 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd) params->RtcMemoryLock = 1; } + /* Enable End of Post in PEI phase */ + params->EndOfPostMessage = EOP_PEI; + /* USB */ for (i = 0; i < ARRAY_SIZE(config->usb2_ports); i++) { params->PortUsb20Enable[i] = config->usb2_ports[i].enable; |