soc/intel/skylake: add PrmrrSize to chip config

Prmrr configuration is supported by Kabylake FSP-M with UPD provided.
It is required as one of the SGX initialization steps in BIOS.

BUG=chrome-os-partner:62438
BRANCH=NONE
TEST=Tested on Eve, verified uncore PRMRR MSRs get programmed to set
size and boot.

Change-Id: I2b3dc7c92487505165ee429bd1a37bd60ceac8f3
Signed-off-by: Robbie Zhang <robbie.zhang@intel.com>
Reviewed-on: https://review.coreboot.org/18361
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Robbie Zhang 2017-02-13 12:07:53 -08:00 committed by Martin Roth
parent ef7e98a2ac
commit e65affa2ed
2 changed files with 9 additions and 0 deletions

View File

@ -376,6 +376,14 @@ struct soc_intel_skylake_config {
/* Enable/Disable VMX feature */ /* Enable/Disable VMX feature */
u8 VmxEnable; u8 VmxEnable;
/*
* PRMRR size setting with three options
* 0x02000000 - 32MiB
* 0x04000000 - 64MiB
* 0x08000000 - 128MiB
*/
u32 PrmrrSize;
/* Statically clock gate 8254 PIT. */ /* Statically clock gate 8254 PIT. */
u8 clock_gate_8254; u8 clock_gate_8254;

View File

@ -139,6 +139,7 @@ static void soc_memory_init_params(FSP_M_CONFIG *m_cfg)
m_cfg->RMT = config->Rmt; m_cfg->RMT = config->Rmt;
m_cfg->DdrFreqLimit = config->DdrFreqLimit; m_cfg->DdrFreqLimit = config->DdrFreqLimit;
m_cfg->VmxEnable = config->VmxEnable; m_cfg->VmxEnable = config->VmxEnable;
m_cfg->PrmrrSize = config->PrmrrSize;
for (i = 0; i < ARRAY_SIZE(config->PcieRpEnable); i++) { for (i = 0; i < ARRAY_SIZE(config->PcieRpEnable); i++) {
if (config->PcieRpEnable[i]) if (config->PcieRpEnable[i])
mask |= (1<<i); mask |= (1<<i);