From fd19d0c74a506e6ef053fa96dabe5f673195049a Mon Sep 17 00:00:00 2001 From: "Matt K. Light" Date: Thu, 6 Jul 2017 10:03:26 -0500 Subject: Enable skipping sbefifo reset during p9_start_cbs For certain systems (RBI/WAFER) under Cronus skip resetting the sbefifo via cfam register as it is not available on those FSPs. Use a new attribute to determine if it is correct to skip this cfam register write. Change-Id: I9f63e042f7a3a17b6f7f4c52cd2b4cdf9f2d4aa9 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42811 Tested-by: PPE CI Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Joachim Fenkes Reviewed-by: SRINIVAS V. POLISETTY Dev-Ready: Matt K. Light Reviewed-by: Sachin Gupta Reviewed-by: Daniel M. Crowell Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42815 Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW --- src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C') diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C b/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C index 3ddc71375..ac3468162 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C @@ -69,11 +69,16 @@ fapi2::ReturnCode p9_start_cbs(const fapi2::Target fapi2::buffer l_data32_cbs_cs; int l_timeout = 0; fapi2::buffer l_read_attr; + fapi2::buffer l_fifo_reset_skip; + const fapi2::Target FAPI_SYSTEM; FAPI_INF("p9_start_cbs: Entering ..."); FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW402019_PIBRESET_DELAY, i_target_chip, l_read_attr)); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_START_CBS_FIFO_RESET_SKIP, + FAPI_SYSTEM, l_fifo_reset_skip)); + FAPI_DBG("Clearing Selfboot message register before every boot "); // buffer is init value is 0 FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_SB_MSG_FSI, l_data32)); @@ -163,8 +168,11 @@ fapi2::ReturnCode p9_start_cbs(const fapi2::Target fapi2::delay(P9_PIBRESET_HW_NS_DELAY, P9_PIBRESET_SIM_CYCLE_DELAY); } - FAPI_DBG("FIFO reset"); - FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_FSB_FSB_DOWNFIFO_RESET_FSI, FIFO_RESET)); + if ( !l_fifo_reset_skip ) + { + FAPI_DBG("FIFO reset"); + FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_FSB_FSB_DOWNFIFO_RESET_FSI, FIFO_RESET)); + } if ( i_sbe_start ) { -- cgit v1.2.1