diff options
author | Anusha Reddy Rangareddygari <anusrang@in.ibm.com> | 2018-08-21 07:08:49 -0400 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-09-07 23:33:45 -0500 |
commit | 957a64765762ec99dd6bf93cd74a1d593230db38 (patch) | |
tree | 28b115c4380f9fa572a78871cd84ccca65f4af58 /src/import | |
parent | 97b414635410aab47515b2f77dee847fa8382be8 (diff) | |
download | talos-sbe-957a64765762ec99dd6bf93cd74a1d593230db38.tar.gz talos-sbe-957a64765762ec99dd6bf93cd74a1d593230db38.zip |
Initf procedure updates for Axone OMI rings
using SBE_AXONE_CONFIG compile flag for axone specific changes
Change-Id: Ibbbb69d6f8d87b4cbbd011fa5af4f496e5106335
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64915
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Soma Bhanutej <soma.bhanu@in.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64917
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import')
3 files changed, 83 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C index 4a2adabe..d0a0529a 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C @@ -53,6 +53,12 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const FAPI_INF("p9_sbe_gptr_time_initf: Entering ..."); +#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)) { @@ -92,6 +98,7 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const FAPI_DBG("Scan mc_pll_gptr ring"); FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_pll_gptr), "Error from putRing (mc_pll_gptr)"); + FAPI_DBG("Scan mc_time ring"); FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_time), "Error from putRing (mc_time)"); @@ -135,7 +142,7 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const } } - // mc - Cumulus + // mc - Cumulus, Axone for (auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_MC> (fapi2::TARGET_STATE_FUNCTIONAL)) { @@ -149,6 +156,30 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const FAPI_DBG("Scan mc_time ring"); FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_time), "Error from putRing (mc_time)"); + +#if defined(SBE_AXONE_CONFIG) || !defined(__PPE__) + + // Axone only + if (l_read_attr_axone_only) + { + FAPI_DBG("Scan mc_omi0_gptr, mc_omi1_gptr, mc_omi2_gptr ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi0_gptr), + "Error from putRing (mc_omi0_gptr)"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi1_gptr), + "Error from putRing (mc_omi1_gptr)"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi2_gptr), + "Error from putRing (mc_omi2_gptr)"); + + FAPI_DBG("Scan mc_omippe_gptr ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_gptr), + "Error from putRing (mc_omippe_gptr)"); + + FAPI_DBG("Scan mc_omippe_time ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_time), + "Error from putRing (mc_omippe_time)"); + } + +#endif } // mc - Cumulus 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 diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C index 858d9be0..734ce941 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C @@ -55,6 +55,12 @@ fapi2::ReturnCode p9_sbe_repr_initf(const FAPI_DBG("Reading ATTR_CHIP_EC_FEATURE_P9C_LOGIC_ONLY\n"); FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9C_LOGIC_ONLY, i_target_chip, l_read_attr_cumulus_only)); +#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)) { @@ -79,10 +85,21 @@ fapi2::ReturnCode p9_sbe_repr_initf(const FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_repr)); } - // mc - Cumulus + // mc - Cumulus, Axone for (auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_MC>(fapi2::TARGET_STATE_FUNCTIONAL)) { FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_repr)); + +#if defined(SBE_AXONE_CONFIG) || !defined(__PPE__) + + // Axone only + if (l_read_attr_axone_only) + { + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_repr), + "Error from putRing (mc_omippe_repr)"); + } + +#endif } // mc - Cumulus |