summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorAnusha Reddy Rangareddygari <anusrang@in.ibm.com>2018-08-13 02:55:28 -0400
committerSachin Gupta <sgupta2m@in.ibm.com>2018-09-07 04:41:09 -0500
commit40409eb7a0defa3db846ae330d6197160aa805ae (patch)
tree8d88096da2dc823dbb8916d48876866ec4f05ae5 /src/import
parent225922537f456e7e05d79bb737178066001159f7 (diff)
downloadtalos-sbe-40409eb7a0defa3db846ae330d6197160aa805ae.tar.gz
talos-sbe-40409eb7a0defa3db846ae330d6197160aa805ae.zip
Initf procedure updates for OMI rings for Axone
Change-Id: I90c6ecd6e553d36b2f34ba0949cdfce3938ce1c1 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64297 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: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64299 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C26
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C28
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C13
3 files changed, 65 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..5db665d5 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
@@ -50,9 +50,13 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const
bool mc01_iom23 = false;
bool mc23_iom01 = false;
bool mc23_iom23 = false;
+ uint8_t l_read_attr_axone_only;
FAPI_INF("p9_sbe_gptr_time_initf: Entering ...");
+ 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));
+
for( auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
( fapi2::TARGET_STATE_FUNCTIONAL))
{
@@ -135,7 +139,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 +153,26 @@ 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)");
+
+ // 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)");
+ }
}
// 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..fb0c8de4 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,9 @@ fapi2::ReturnCode p9_sbe_nest_initf(const
bool mc23_iom01 = false;
bool mc23_iom23 = false;
#endif
+ 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));
for (auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>(fapi2::TARGET_STATE_FUNCTIONAL))
{
@@ -192,11 +195,36 @@ 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));
+
+ // 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));
+ }
+ }
+
+
#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..2223298d 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
@@ -49,12 +49,16 @@ fapi2::ReturnCode p9_sbe_repr_initf(const
bool mc01_iom23 = false;
bool mc23_iom23 = false;
uint8_t l_read_attr_cumulus_only;
+ uint8_t l_read_attr_axone_only;
FAPI_INF("p9_sbe_repr_initf: Entering ...");
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));
+ 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));
+
for( auto& l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
( fapi2::TARGET_STATE_FUNCTIONAL))
{
@@ -79,10 +83,17 @@ 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));
+
+ // Axone only
+ if (l_read_attr_axone_only)
+ {
+ FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_repr),
+ "Error from putRing (mc_omippe_repr)");
+ }
}
// mc - Cumulus
OpenPOWER on IntegriCloud