diff options
| -rwxr-xr-x | import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c | 5 | ||||
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_hcd_core_startclocks.c | 5 |
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)); |

