soc/intel/apollolake: Add save/restore variable MRC cache

Apollolake MRC cache is divided into two regions: constant and variable.
Currently they are clubbed together. Since variable data changes across
cold reboot it triggers invalidation of the whole cache region. This
change declubs the data, adds routines to load/store variable data on
flash.

BUG=chrome-os-partner:57515
TEST=with patch series applied: cold reboot, make sure MRC is not
updated. Do S3 suspend/resume cycle.

Change-Id: I374519777abe9b9a1e6cceae5318decd405bb527
Signed-off-by: Andrey Petrov <andrey.petrov@intel.com>
Reviewed-on: https://review.coreboot.org/17237
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Andrey Petrov
2016-11-04 16:18:30 -07:00
committed by Aaron Durbin
parent ef9a9ea3b7
commit 96e9ff168c
2 changed files with 42 additions and 1 deletions

View File

@@ -161,6 +161,10 @@ config CACHE_MRC_SETTINGS
bool
default y
config MRC_SETTINGS_VARIABLE_DATA
bool
default y
config FSP_M_ADDR
hex
default 0xfef40000