summaryrefslogtreecommitdiffstats
path: root/src/import/chips
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips')
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.C11
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.H1
2 files changed, 11 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.C
index 66e77022..8cad338c 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.C
@@ -666,7 +666,7 @@ fapi2::ReturnCode pm_ocb_reset(
// hardware procedures.
FAPI_TRY(fapi2::getScom(i_target, PU_PBAMODE_SCOM, l_buf64),
"**** ERROR : Failed to fetch PBA mode control status");
- l_buf64.clearBit<8>();
+ l_buf64.clearBit<PU_PBAMODE_EN_MARKER_ACK>();
FAPI_TRY(fapi2::putScom(i_target, PU_PBAMODE_SCOM, l_buf64),
"**** ERROR : Failed to write PBA mode control");
@@ -674,6 +674,15 @@ fapi2::ReturnCode pm_ocb_reset(
FAPI_TRY(fapi2::putScom(i_target, PU_OCB_PIB_OSTOESR, 0),
"**** ERROR : Failed to write OSTESR");
+ // Explicitly disable the OCC Heartbeat (RTC: 172638)
+ // Only clearing the OCB_OCI_OCCHBR_OCC_HEARTBEAT_EN and leaving the
+ // Heartbeat count intact as this may prove useful for debug later.
+ FAPI_TRY(fapi2::getScom(i_target, PU_OCB_OCI_OCCHBR_SCOM, l_buf64),
+ "**** ERROR : Failed to read OCBHBR");
+ l_buf64.clearBit<PU_OCB_OCI_OCCHBR_OCC_HEARTBEAT_EN>();
+ FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_OCCHBR_SCOM, l_buf64),
+ "**** ERROR : Failed to write OCBHBR");
+
fapi_try_exit:
return fapi2::current_err;
}
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.H
index fb181014..a6959914 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.H
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_ocb_init.H
@@ -43,6 +43,7 @@
#include <p9_pm.H>
#include <fapi2.H>
#include <p9_misc_scom_addresses.H>
+#include <p9_misc_scom_addresses_fld.H>
//------------------------------------------------------------------------------
// Constants definitions
OpenPOWER on IntegriCloud