summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2018-03-08 01:20:56 -0600
committerSachin Gupta <sgupta2m@in.ibm.com>2018-04-01 22:03:35 -0400
commit80ef172f20912c3c492ee96a3f474fa20f136961 (patch)
treea0799046df2498e7daac37a10c8f17a97a265e56
parent783b420403b7d649b38ffd4772dc422499914449 (diff)
downloadtalos-sbe-80ef172f20912c3c492ee96a3f474fa20f136961.tar.gz
talos-sbe-80ef172f20912c3c492ee96a3f474fa20f136961.zip
Clear TPM deconfig bit during MPIPL
CQ: SW420513 Change-Id: I3c1fc2fb09e2870c29a4b695ffa6d173ecaaf5bf Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55235 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: RAJA DAS <rajadas2@in.ibm.com> Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
-rw-r--r--src/sbefw/app/power/sbecmdiplcontrol.C16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/sbefw/app/power/sbecmdiplcontrol.C b/src/sbefw/app/power/sbecmdiplcontrol.C
index b96c2b30..f18d41be 100644
--- a/src/sbefw/app/power/sbecmdiplcontrol.C
+++ b/src/sbefw/app/power/sbecmdiplcontrol.C
@@ -6,6 +6,7 @@
/* OpenPOWER sbe Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2018 */
+/* [+] International Business Machines Corp. */
/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
@@ -103,6 +104,21 @@ ReturnCode performTpmReset()
constexpr uint64_t tpmBitMask = 0x0008000000000000ULL;
plat_target_handle_t tgtHndl;
uint64_t regData = 0;
+
+ // Clear TPM deconfig bit here.
+ // It is possible that PHYP did TPM deconfig. start cbs clears this
+ // bit. But in MPIPL this bit is not cleared, so HB IPL will fail.
+ // bit 12 of PU_SECURITY_SWITCH_REGISTER_SCOM1 clear TPM deconfig
+ // state.
+ constexpr uint64_t tpmDeconfigMask = 0x0008000000000000ULL;
+ rc = putscom_abs_wrap(&tgtHndl, PU_SECURITY_SWITCH_REGISTER_SCOM1,
+ tpmDeconfigMask);
+ if( rc != FAPI2_RC_SUCCESS )
+ {
+ SBE_ERROR(SBE_FUNC" Failed to clear TPM deconfig bit");
+ break;
+ }
+
rc = getscom_abs_wrap (&tgtHndl,
PU_PRV_MISC_PPE,
&regData);
OpenPOWER on IntegriCloud