diff options
Diffstat (limited to 'src/import/chips/ocmb')
-rw-r--r-- | src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mcbist/exp_mcbist.H | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mcbist/exp_mcbist.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mcbist/exp_mcbist.H index 747b47311..df3b9af2a 100644 --- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mcbist/exp_mcbist.H +++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mcbist/exp_mcbist.H @@ -52,6 +52,36 @@ #include <generic/memory/lib/utils/mcbist/gen_mss_mcbist_settings.H> #include <generic/memory/lib/utils/mcbist/gen_mss_mcbist.H> -// This file is still necessary to put traits and generic code together +namespace mss +{ +namespace mcbist +{ + +/// +/// @brief Load MCBIST ECC (and?) spare data pattern given a pattern - explorer specialization +/// @param[in] i_target the target to effect +/// @param[in] i_pattern an mcbist::patterns +/// @param[in] i_invert whether to invert the pattern or not +/// @return FAPI2_RC_SUCCSS iff ok +/// +template< > +inline fapi2::ReturnCode load_eccspare_pattern<mss::mc_type::EXPLORER>( + const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target, + const pattern& i_pattern, + const bool i_invert ) +{ + // First up assemble the pattern + const auto l_pattern = generate_eccspare_pattern(i_pattern, i_invert); + + FAPI_TRY(fapi2::putScom(i_target, EXPLR_MCBIST_MCBFDQ, l_pattern)); + FAPI_TRY(fapi2::putScom(i_target, EXPLR_MCBIST_MCBFDSPQ, l_pattern)); + +fapi_try_exit: + return fapi2::current_err; +} + +} // ns mss + +} // ns mcbist #endif |