summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/perv
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2017-01-03 22:07:49 -0600
committerSachin Gupta <sgupta2m@in.ibm.com>2017-01-15 22:30:08 -0500
commit00ba33e69b3b22617ad1b57ccf339a2e72c27b54 (patch)
tree73a3624e76ea4b9aea7364a8c57f1aebbd23fed1 /src/import/chips/p9/procedures/hwp/perv
parentb9e0f3e1aa17f5e8d67098fb09390565afa41a9c (diff)
downloadtalos-sbe-00ba33e69b3b22617ad1b57ccf339a2e72c27b54.tar.gz
talos-sbe-00ba33e69b3b22617ad1b57ccf339a2e72c27b54.zip
configure FBC pump mode in SBE
Change-Id: Ia4e69cf50548e355cfb7cbf5e67be48e61427ffa Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34318 Reviewed-by: Thi N. Tran <thi@us.ibm.com> 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: Jenny Huynh <jhuynh@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34348 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/chips/p9/procedures/hwp/perv')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_attr_setup.C33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_attr_setup.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_attr_setup.C
index 827fa60b..28f060ab 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_attr_setup.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_attr_setup.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -53,6 +53,7 @@ enum P9_SETUP_SBE_CONFIG_scratch4
ATTR_I2C_BUS_DIV_REF_LENGTH = 16,
ATTR_BOOT_FLAGS_STARTBIT = 0,
ATTR_BOOT_FLAGS_LENGTH = 32,
+ ATTR_PUMP_CHIP_IS_GROUP = 23,
ATTR_PROC_FABRIC_GROUP_ID_STARTBIT = 26,
ATTR_PROC_FABRIC_GROUP_ID_LENGTH = 3,
ATTR_PROC_FABRIC_CHIP_ID_STARTBIT = 29,
@@ -473,6 +474,8 @@ fapi2::ReturnCode p9_sbe_attr_setup(const
}
//read_scratch6_reg
{
+ uint8_t l_pump_mode;
+
if ( l_read_scratch8.getBit<5>() )
{
FAPI_DBG("Reading Scratch_reg6");
@@ -494,9 +497,23 @@ fapi2::ReturnCode p9_sbe_attr_setup(const
}
}
+ if (l_read_scratch_reg.getBit<ATTR_PUMP_CHIP_IS_GROUP>())
+ {
+ l_pump_mode = fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP;
+ }
+ else
+ {
+ l_pump_mode = fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE;
+ }
+
l_read_scratch_reg.extractToRight<26, 3>(l_read_2);
l_read_scratch_reg.extractToRight<29, 3>(l_read_3);
+ FAPI_DBG("Setting up PUMP MODE");
+ FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE,
+ fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>(),
+ l_pump_mode));
+
FAPI_DBG("Setting up MASTER_CHIP, FABRIC_GROUP_ID and CHIP_ID");
FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_PROC_SBE_MASTER_CHIP, i_target_chip,
l_read_1));
@@ -526,6 +543,20 @@ fapi2::ReturnCode p9_sbe_attr_setup(const
l_read_scratch_reg.setBit<24>();
}
+ FAPI_DBG("Reading PUMP MODE");
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE,
+ fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>(),
+ l_pump_mode));
+
+ if (l_pump_mode == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP)
+ {
+ l_read_scratch_reg.setBit<ATTR_PUMP_CHIP_IS_GROUP>();
+ }
+ else
+ {
+ l_read_scratch_reg.clearBit<ATTR_PUMP_CHIP_IS_GROUP>();
+ }
+
FAPI_DBG("Reading ATTR_PROC_FABRIC_GROUP and CHIP_ID");
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_GROUP_ID, i_target_chip,
l_read_1));
OpenPOWER on IntegriCloud