summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-ximport/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c5
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
index fa7a3b0b..109e929d 100755
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
@@ -370,6 +370,11 @@ p9_cme_stop_entry()
PK_TRACE("Assert skew sense to skewadjust fence via NET_CTRL0[22]");
CME_PUTSCOM(CPPM_NC0INDIR_OR, core, BIT64(22));
+ PK_TRACE("Drop ABIST_SRAM_MODE_DC to support ABIST Recovery via BIST[1]");
+ CME_GETSCOM(C_BIST, core, CME_SCOM_AND, scom_data.value);
+ scom_data.words.upper &= ~BIT32(1);
+ CME_PUTSCOM(C_BIST, core, scom_data.value);
+
PK_TRACE("Assert vital fence via CPLT_CTRL1[3]");
CME_PUTSCOM(C_CPLT_CTRL1_OR, core, BIT64(3));
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c
index 3ef16035..a44f81c0 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c
@@ -68,6 +68,11 @@ p9_hcd_core_startclocks(uint32_t core)
MARK_TRAP(SX_STARTCLOCKS_ALIGN)
+ PK_TRACE("Assert ABIST_SRAM_MODE_DC to support ABIST Recovery via BIST[1]");
+ CME_GETSCOM(C_BIST, core, CME_SCOM_AND, scom_data.value);
+ scom_data.words.upper |= BIT32(1);
+ CME_PUTSCOM(C_BIST, core, scom_data.value);
+
PK_TRACE("Reset abstclk & syncclk muxsel(io_clk_sel) via CPLT_CTRL0[0:1]");
CME_PUTSCOM(C_CPLT_CTRL0_CLEAR, core, BITS64(0, 2));
OpenPOWER on IntegriCloud