summaryrefslogtreecommitdiffstats
path: root/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib
diff options
context:
space:
mode:
authorStephen Glancy <sglancy@us.ibm.com>2019-02-14 11:33:59 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-04-22 11:23:33 -0500
commit97517fa73c61b025b7a44367e10753fdeef12827 (patch)
tree6c98e74498031615cf51b790b33da69caaf43e5f /src/import/chips/ocmb/explorer/procedures/hwp/memory/lib
parentac6b97d1a4ffbd006f15e79e2b85d8089c05238b (diff)
downloadtalos-hostboot-97517fa73c61b025b7a44367e10753fdeef12827.tar.gz
talos-hostboot-97517fa73c61b025b7a44367e10753fdeef12827.zip
Adds explorer training response display functions
Change-Id: I2e5c8ef08cda7abf83a322d2a3b0e01de2aaee41 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71902 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Mark Pizzutillo <mark.pizzutillo@ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76117 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/ocmb/explorer/procedures/hwp/memory/lib')
-rw-r--r--src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/phy/exp_train_display.H85
-rw-r--r--src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H10
2 files changed, 90 insertions, 5 deletions
diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/phy/exp_train_display.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/phy/exp_train_display.H
index f4afb90f7..a71bffce6 100644
--- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/phy/exp_train_display.H
+++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/phy/exp_train_display.H
@@ -49,18 +49,93 @@ namespace exp
namespace train
{
///
-/// @brief Displays all training information
+/// @brief Displays training information
+/// @param[in] i_target the OCMB target
+/// @param[in] i_lane the lane for the training information
+/// @param[in] i_data the training data for this lane
+///
+void display_lane_results(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const uint64_t i_lane,
+ const uint16_t i_data);
+
+
+///
+/// @brief Displays lane failure information after training
+/// @param[in] i_target the OCMB target
+/// @param[in] i_training_info the training information to display
+///
+void display_lane_info(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const user_response_msdg_t& i_training_info);
+
+///
+/// @brief Displays MRS information
/// @param[in] i_target the OCMB target
/// @param[in] i_training_info the training information to display
/// @return returns FAPI2_RC_SUCCESS iff the procedure executes successfully
-/// @note This is a place holder to help avoid merge conflicts
///
-inline fapi2::ReturnCode display_info(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
- const user_response_msdg_t& i_training_info)
+fapi2::ReturnCode display_mrs_info(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const user_response_msdg_t& i_training_info);
+
+///
+/// @brief Displays RCW information for a single 8-bit RCW
+/// @param[in] i_target the OCMB target
+/// @param[in] i_dimm the dimm number associated w/ the RCW
+/// @param[in] i_func_space the function space for the RCW
+/// @param[in] i_rcw_number RCW number
+/// @param[in] i_data data associated with the RCW
+///
+inline void display_rcw_8bit(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const uint64_t i_dimm,
+ const uint64_t i_func_space,
+ const uint64_t i_rcw_number,
+ const uint8_t i_data)
+{
+ const uint64_t l_rcw_print_number = i_rcw_number - exp_struct_sizes::RCW_8BIT_CUTOFF;
+ FAPI_DBG("%s DIMM%u F%uRC%xX: 0x%02x", mss::c_str(i_target), i_dimm, i_func_space, l_rcw_print_number, i_data);
+}
+
+///
+/// @brief Displays RCW information for a single 4-bit RCW
+/// @param[in] i_target the OCMB target
+/// @param[in] i_dimm the dimm number associated w/ the RCW
+/// @param[in] i_func_space the function space for the RCW
+/// @param[in] i_rcw_number RCW number
+/// @param[in] i_data data associated with the RCW
+///
+inline void display_rcw_4bit(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const uint64_t i_dimm,
+ const uint64_t i_func_space,
+ const uint64_t i_rcw_number,
+ const uint8_t i_data)
{
- return fapi2::FAPI2_RC_SUCCESS;
+ FAPI_DBG("%s DIMM%u F%uRC%02x: 0x%02x", mss::c_str(i_target), i_dimm, i_func_space, i_rcw_number, i_data);
}
+///
+/// @brief Displays all RCW information
+/// @param[in] i_target the OCMB target
+/// @param[in] i_training_info the training information to display
+///
+void display_rcw_info(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const user_response_msdg_t& i_training_info);
+
+///
+/// @brief Displays command to command response timing
+/// @param[in] i_target the OCMB target
+/// @param[in] i_training_info the training information to display
+/// @return returns FAPI2_RC_SUCCESS iff the procedure executes successfully
+///
+fapi2::ReturnCode display_response_timing(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const user_response_msdg_t& i_training_info);
+
+///
+/// @brief Displays all training information
+/// @param[in] i_target the OCMB target
+/// @param[in] i_training_info the training information to display
+/// @return returns FAPI2_RC_SUCCESS iff the procedure executes successfully
+///
+fapi2::ReturnCode display_info(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
+ const user_response_msdg_t& i_training_info);
} // ns train
} // ns exp
diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H
index c55d2d4d5..4457ed3e7 100644
--- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H
+++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/shared/exp_consts.H
@@ -118,6 +118,16 @@ enum ecid_consts
REG_BIT_OFFSET = 32,
};
+///
+/// @brief generic explorer constants
+///
+enum generic_consts
+{
+ // Number of DRAM for x4 vs x8
+ EXP_NUM_DRAM_X4 = 20,
+ EXP_NUM_DRAM_X8 = 10,
+};
+
namespace i2c
{
OpenPOWER on IntegriCloud