summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2018-03-06 13:25:57 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-10 16:09:50 -0400
commit3514216fef136195c651f3a89ed2775a743322fa (patch)
tree97c5341e94220ad36502f044be13c6921e35cfd8
parent1c4c810a584f0b7b7b51ecfea7451e9c0152ea7e (diff)
downloadtalos-hostboot-3514216fef136195c651f3a89ed2775a743322fa.tar.gz
talos-hostboot-3514216fef136195c651f3a89ed2775a743322fa.zip
relocate Centaur trace SCOM inits
this commit moves the initialization of several trace related SCOM inits from centaur.mbs.scom.initfile to cen_scominits the affected registers are inaccessible via inband from p9c, so we're just shifting the initialization to a point where FSI will be used to apply the settings instead Change-Id: Ib58caacad8a97ae42b79ff449e368a1c41a1bc39 CQ: HW440754 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55160 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: LUCAS W. MULKEY <lwmulkey@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55177 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
-rw-r--r--src/import/chips/centaur/procedures/hwp/initfiles/centaur_mbs_scom.C40
-rw-r--r--src/import/chips/centaur/procedures/hwp/perv/cen_scominits.C90
2 files changed, 82 insertions, 48 deletions
diff --git a/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mbs_scom.C b/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mbs_scom.C
index 215b0b231..5a5a803eb 100644
--- a/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mbs_scom.C
+++ b/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mbs_scom.C
@@ -1842,46 +1842,6 @@ fapi2::ReturnCode centaur_mbs_scom(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF
FAPI_TRY(fapi2::putScom(TGT0, 0x20118c2ull, l_scom_buffer));
}
- {
- FAPI_TRY(fapi2::getScom( TGT0, 0x2012300ull, l_scom_buffer ));
-
- if (literal_1)
- {
- l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b1 );
- }
-
- FAPI_TRY(fapi2::putScom(TGT0, 0x2012300ull, l_scom_buffer));
- }
- {
- FAPI_TRY(fapi2::getScom( TGT0, 0x201230bull, l_scom_buffer ));
-
- if (literal_1)
- {
- l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b1 );
- }
-
- FAPI_TRY(fapi2::putScom(TGT0, 0x201230bull, l_scom_buffer));
- }
- {
- FAPI_TRY(fapi2::getScom( TGT0, 0x3012300ull, l_scom_buffer ));
-
- if (literal_1)
- {
- l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b1 );
- }
-
- FAPI_TRY(fapi2::putScom(TGT0, 0x3012300ull, l_scom_buffer));
- }
- {
- FAPI_TRY(fapi2::getScom( TGT0, 0x301230bull, l_scom_buffer ));
-
- if (literal_1)
- {
- l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b1 );
- }
-
- FAPI_TRY(fapi2::putScom(TGT0, 0x301230bull, l_scom_buffer));
- }
};
fapi_try_exit:
diff --git a/src/import/chips/centaur/procedures/hwp/perv/cen_scominits.C b/src/import/chips/centaur/procedures/hwp/perv/cen_scominits.C
index ad2455033..35942b059 100644
--- a/src/import/chips/centaur/procedures/hwp/perv/cen_scominits.C
+++ b/src/import/chips/centaur/procedures/hwp/perv/cen_scominits.C
@@ -57,15 +57,89 @@ cen_scominits(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target)
{
FAPI_DBG("Start");
+ // trace setup, moved from MBS SCOM initfile based on inability to apply
+ // via inband (HW440754)
+ //
+ {
+ // set controls in each chiplet to force trace freeze on xstop
+ fapi2::buffer<uint64_t> l_dbg_mode_reg;
+ fapi2::buffer<uint64_t> l_dbg_trace_mode_reg2;
+
+ // TP
+ FAPI_TRY(fapi2::getScom(i_target,
+ CEN_DBG_MODE_REG,
+ l_dbg_mode_reg),
+ "Error from getScom (CEN_DBG_MODE_REG)");
+ l_dbg_mode_reg.setBit<CEN_DBG_MODE_REG_STOP_ON_XSTOP_SELECTION>();
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_DBG_MODE_REG,
+ l_dbg_mode_reg),
+ "Error from putScom (CEN_DBG_MODE_REG)");
+
+ FAPI_TRY(fapi2::getScom(i_target,
+ CEN_DBG_TRACE_MODE_REG_2,
+ l_dbg_trace_mode_reg2),
+ "Error from getScom (CEN_DBG_TRACE_MODE_REG_2)");
+ l_dbg_trace_mode_reg2.setBit<CEN_DBG_TRACE_MODE_REG_2_STOP_ON_ERR>();
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_DBG_TRACE_MODE_REG_2,
+ l_dbg_trace_mode_reg2),
+ "Error from putScom (CEN_DBG_TRACE_MODE_REG_2)");
+
+ // NEST
+ FAPI_TRY(fapi2::getScom(i_target,
+ CEN_TCN_DBG_MODE_REG,
+ l_dbg_mode_reg),
+ "Error from getScom (CEN_TCN_DBG_MODE_REG)");
+ l_dbg_mode_reg.setBit<CEN_DBG_MODE_REG_STOP_ON_XSTOP_SELECTION>();
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_TCN_DBG_MODE_REG,
+ l_dbg_mode_reg),
+ "Error from putScom (CEN_TCN_DBG_MODE_REG)");
+
+ FAPI_TRY(fapi2::getScom(i_target,
+ CEN_TCN_DBG_TRACE_MODE_REG_2,
+ l_dbg_trace_mode_reg2),
+ "Error from getScom (CEN_TCN_DBG_TRACE_MODE_REG_2)");
+ l_dbg_trace_mode_reg2.setBit<CEN_DBG_TRACE_MODE_REG_2_STOP_ON_ERR>();
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_TCN_DBG_TRACE_MODE_REG_2,
+ l_dbg_trace_mode_reg2),
+ "Error from putScom (CEN_TCN_DBG_TRACE_MODE_REG_2)");
+
+ // MEM
+ FAPI_TRY(fapi2::getScom(i_target,
+ CEN_TCM_DBG_MODE_REG,
+ l_dbg_mode_reg),
+ "Error from getScom (CEN_TCM_DBG_MODE_REG)");
+ l_dbg_mode_reg.setBit<CEN_DBG_MODE_REG_STOP_ON_XSTOP_SELECTION>();
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_TCM_DBG_MODE_REG,
+ l_dbg_mode_reg),
+ "Error from putScom (CEN_TCM_DBG_MODE_REG)");
+
+ FAPI_TRY(fapi2::getScom(i_target,
+ CEN_TCM_DBG_TRACE_MODE_REG_2,
+ l_dbg_trace_mode_reg2),
+ "Error from getScom (CEN_TCM_DBG_TRACE_MODE_REG_2)");
+ l_dbg_trace_mode_reg2.setBit<CEN_DBG_TRACE_MODE_REG_2_STOP_ON_ERR>();
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_TCM_DBG_TRACE_MODE_REG_2,
+ l_dbg_trace_mode_reg2),
+ "Error from putScom (CEN_TCM_DBG_TRACE_MODE_REG_2)");
+ }
+
// ensure that MBI traces are running, to trace framelock/FRTL activity
- fapi2::buffer<uint64_t> l_trctrl_config = 0;
- l_trctrl_config.setBit<CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG_LCL_CLK_GATE_CTRL,
- CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG_LCL_CLK_GATE_CTRL_LEN>();
-
- FAPI_TRY(fapi2::putScom(i_target,
- CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG,
- l_trctrl_config),
- "Error from putScom (CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG)");
+ {
+ fapi2::buffer<uint64_t> l_trctrl_config = 0;
+ l_trctrl_config.setBit<CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG_LCL_CLK_GATE_CTRL,
+ CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG_LCL_CLK_GATE_CTRL_LEN>();
+
+ FAPI_TRY(fapi2::putScom(i_target,
+ CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG,
+ l_trctrl_config),
+ "Error from putScom (CEN_TCN_TRA_MBITRA_TRACE_TRCTRL_CONFIG)");
+ }
fapi_try_exit:
FAPI_DBG("End");
OpenPOWER on IntegriCloud