summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Gass <bgass@us.ibm.com>2017-05-10 08:03:21 -0500
committerDean Sanner <dsanner@us.ibm.com>2017-07-19 11:41:05 -0400
commitafa42a408191b9fbd03e45c9e41903a0f54625b5 (patch)
treec2a26d7830b6d66d3cd7e319a164b98645c886f3
parenta3f6792f4f1c00b6168ed66de2456caacbd96014 (diff)
downloadtalos-hostboot-afa42a408191b9fbd03e45c9e41903a0f54625b5.tar.gz
talos-hostboot-afa42a408191b9fbd03e45c9e41903a0f54625b5.zip
Create dmi.pll.scan.initfile
Support sync and async mode for Cumulus MC Default buckets are 1. Change-Id: I62d0221abf7f93030cb8c0200a456609ab4dfe04 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40326 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Benjamin Gass <bgass@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41057 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_initf.C6
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_reset.C5
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_setup.C6
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml17
4 files changed, 31 insertions, 3 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_initf.C
index 39d28d4d3..23d4ba33c 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_initf.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_initf.C
@@ -47,10 +47,14 @@ fapi2::ReturnCode p9_mem_pll_initf(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
FAPI_INF("Entering ...");
uint8_t l_sync_mode;
+ uint8_t l_use_dmi_buckets = 0;
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chip, l_sync_mode),
"Error from FAPI_ATTR_GET (ATTR_MC_SYNC_MODE)");
- if (l_sync_mode == 0)
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS, i_target_chip, l_use_dmi_buckets),
+ "Error from FAPI_ATTR_GET (ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS)");
+
+ if (l_sync_mode == 0 && l_use_dmi_buckets == 0)
{
FAPI_DBG("Re-scanning PLL ring to set final frequency");
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_reset.C b/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_reset.C
index 1062b6a9d..c08728fab 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_reset.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_reset.C
@@ -140,13 +140,16 @@ fapi_try_exit:
fapi2::ReturnCode p9_mem_pll_reset(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target_chiplet)
{
uint8_t l_read_attr = 0;
+ uint8_t l_use_dmi_buckets = 0;
fapi2::buffer<uint64_t> l_data64;
FAPI_INF("Entering ...");
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chiplet, l_read_attr));
- if ( !l_read_attr )
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS, i_target_chiplet, l_use_dmi_buckets));
+
+ if ( !l_read_attr && !l_use_dmi_buckets )
{
for (auto l_chplt_trgt : i_target_chiplet.getChildren<fapi2::TARGET_TYPE_PERV>
(fapi2::TARGET_FILTER_ALL_MC, fapi2::TARGET_STATE_FUNCTIONAL))
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_setup.C b/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_setup.C
index dfcf57b2b..2ca9ba942 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_setup.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_setup.C
@@ -55,6 +55,7 @@ fapi2::ReturnCode p9_mem_pll_setup(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
uint8_t l_read_attr = 0;
fapi2::buffer<uint64_t> l_data64;
uint8_t l_mem_bypass;
+ uint8_t l_use_dmi_buckets = 0;
FAPI_INF("Entering ...");
@@ -64,7 +65,10 @@ fapi2::ReturnCode p9_mem_pll_setup(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chip, l_read_attr),
"Error from FAPI_ATTR_GET (ATTR_MC_SYNC_MODE)");
- if (!l_read_attr )
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS, i_target_chip, l_use_dmi_buckets),
+ "Error from FAPI_ATTR_GET (ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS)");
+
+ if ( !l_read_attr && !l_use_dmi_buckets )
{
for (auto l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
(fapi2::TARGET_FILTER_ALL_MC, fapi2::TARGET_STATE_FUNCTIONAL))
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
index 51084559d..c43b012d8 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
@@ -48,6 +48,23 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
+ <id>ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Use nest buckets for mc_pll_bndy for cumulus
+ </description>
+ <chipEcFeature>
+ <chip>
+ <name>ENUM_ATTR_NAME_CUMULUS</name>
+ <ec>
+ <value>0x10</value>
+ <test>GREATER_THAN_OR_EQUAL</test>
+ </ec>
+ </chip>
+ </chipEcFeature>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
<id>ATTR_CHIP_EC_FEATURE_EARLYMODE_FIX</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>
OpenPOWER on IntegriCloud