coreboot/src/soc/intel
Anil Kumar 7b2edc3b6b soc/intel/cse: Back up PSR data during CSE FW downgrade
During CSE FW downgrade we erase CSE data. This would result in
Platform Service Record(PSR) data also to be erased.

To avoid losing PSR data we need to make a backup before data clear.

This patch sends PSR_HECI_FW_DOWNGRADE_BACKUP HECI command to CSE,
informing the CSE to backup PSR data before a data clear operation
during downgrade.

CMOS memory is used to track the backup status. PENDING is the default
state, it is updated to DONE once PSR_HECI_FW_DOWNGRADE_BACKUP HECI
command is sent.

PSR data can be backed up only post DRAM is initialized. The idea is to
perform cse_fw_sync actions in ramstage when PSR is enabled on a
platform. As part of the cse_fw_sync actions, when a firmware downgrade
is requested the command to back-up data is sent. Once the backup has
been done, trigger the firmware downgrade.

BRANCH=None
BUG=b:273207144
TEST=build CB image for google/rex board and check PSR backup command
is being sent during a CSE FW downgrade. Also check PSR data is not
lost/erased after a downgrade using intel PSR tool.

Change-Id: I135d197b5df0a20def823fe615860b5ead4391f8
Signed-off-by: Anil Kumar <anil.kumar.k@intel.com>
Signed-off-by: Krishna Prasad Bhat <krishna.p.bhat.d@intel.com>
Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74577
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-10-04 05:50:56 +00:00
..
alderlake soc/intel/alderlake: Hook up FSP repo for RPL-P/S 2023-10-03 15:46:10 +00:00
apollolake soc/intel/apollolake: Correct the logic for the legacy 8254 timer 2023-08-25 14:38:31 +00:00
baytrail soc/intel: Remove space between function name and '(' 2023-09-11 21:39:08 +00:00
braswell soc: Remove SOC_SPECIFIC_OPTIONS 2023-08-21 23:45:43 +00:00
broadwell soc/intel: Remove space between function name and '(' 2023-09-11 21:39:08 +00:00
cannonlake soc/intel/cannonlake/Kconfig: Deduplicate selections 2023-09-02 01:42:44 +00:00
common soc/intel/cse: Back up PSR data during CSE FW downgrade 2023-10-04 05:50:56 +00:00
denverton_ns soc/intel/denverton_ns: Remove __attribute__(()) 2023-09-17 13:31:59 +00:00
elkhartlake soc: Remove SOC_SPECIFIC_OPTIONS 2023-08-21 23:45:43 +00:00
jasperlake soc/intel/jasperlake: Set GPE_STS and GPE_EN register bases 2023-09-27 13:37:18 +00:00
meteorlake soc/intel/mtl: Override SOC_INTEL_CSE_FW_PARTITION_CMOS_OFFSET 2023-10-04 05:48:23 +00:00
skylake ACPI: Add helper fill_fadt_extended_pm_io() 2023-08-08 06:51:03 +00:00
tigerlake soc/intel/{alderlake,meteorlake}: Remove the dummy PS0 and PS3 methods 2023-09-13 13:14:35 +00:00
xeon_sp soc/intel/xeon_sp: Add HDA disable support 2023-09-25 16:37:39 +00:00
Makefile.inc soc/intel/Makefile.inc: Add comment where CONFIG_CSE_*_FILE are used 2023-09-22 15:48:08 +00:00