aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLean Sheng Tan <lean.sheng.tan@intel.com>2021-11-18 20:03:22 -0800
committerPatrick Georgi <patrick@coreboot.org>2021-11-24 11:19:40 +0000
commit8e0bfe263c1a944f230b38097a5a917b77542afe (patch)
tree0d3b918407749cac6e06170f7776f9acfff23611 /src
parent7aedf83b30abdd045a10fb5da091b130c04234dd (diff)
soc/intel/elkhartlake: Disable Intel PSE by default
Disable PSE loading by default. If left enabled (current default), the EHL coreboot will end up in endless restart loop, due to FSP unable to locate PSE FW image and trigger global reset. However disabling this flag (PchPseEnable) will cause the coreboot to trigger a single reset due to CSE signal (HECI: CSE does not meet required prerequisites). The reason behind this is that FSP need to perform static disabling (power gate) to fully shut down PSE HW, and to do this will need to global reset entire system including CSE. Then PMC will power gate PSE from the start. To avoid this behavior, the best way to disable PSE is to disable via IFWI FIT softstrap (For specific detail can refer to Intel EHL coreboot MR2 release notes). With this, PMC will power gate PSE from the first cold boot and system will boot happily without single reset behavior. Signed-off-by: Lean Sheng Tan <lean.sheng.tan@intel.com> Change-Id: Iccc0ab1c2e4ebb53013795933eb88262f70f456f Reviewed-on: https://review.coreboot.org/c/coreboot/+/59484 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-by: Felix Singer <felixsinger@posteo.net>
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/elkhartlake/romstage/fsp_params.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/soc/intel/elkhartlake/romstage/fsp_params.c b/src/soc/intel/elkhartlake/romstage/fsp_params.c
index a15b030dd3..ecb6304945 100644
--- a/src/soc/intel/elkhartlake/romstage/fsp_params.c
+++ b/src/soc/intel/elkhartlake/romstage/fsp_params.c
@@ -123,6 +123,8 @@ static void soc_memory_init_params(FSP_M_CONFIG *m_cfg,
config->ibecc.region_mask);
}
}
+ /* PSE (Intel Programmable Services Engine) switch */
+ m_cfg->PchPseEnable = 0;
}
void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)