diff options
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C index ed2d87df..fc897a9b 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C @@ -56,6 +56,11 @@ fapi2::ReturnCode p9_sbe_nest_initf(const bool mc23_iom01 = false; bool mc23_iom23 = false; #endif +#if defined(SBE_AXONE_CONFIG) || !defined(__PPE__) + uint8_t l_read_attr_axone_only; + FAPI_DBG("Reading ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY\n"); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY, i_target_chip, l_read_attr_axone_only)); +#endif for (auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>(fapi2::TARGET_STATE_FUNCTIONAL)) { @@ -192,11 +197,39 @@ fapi2::ReturnCode p9_sbe_nest_initf(const } } + // mc - Nimbus for (auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_MCBIST>(fapi2::TARGET_STATE_FUNCTIONAL)) { FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_fure)); } + // mc - Cumulus, Axone + for (auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_MC>(fapi2::TARGET_STATE_FUNCTIONAL)) + { + FAPI_DBG("Scan mc_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_fure)); + +#if defined(SBE_AXONE_CONFIG) || !defined(__PPE__) + + // Axone only + if (l_read_attr_axone_only) + { + FAPI_DBG("Scan mc_omi0_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi0_fure)); + + FAPI_DBG("Scan mc_omi1_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi1_fure)); + + FAPI_DBG("Scan mc_omi2_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi2_fure)); + + FAPI_DBG("Scan mc_omippe_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_fure)); + } + +#endif + } + #if 0 // mcbist0 |