diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2017-01-03 22:07:49 -0600 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-01-15 22:30:08 -0500 |
commit | 00ba33e69b3b22617ad1b57ccf339a2e72c27b54 (patch) | |
tree | 73a3624e76ea4b9aea7364a8c57f1aebbd23fed1 /src/import/chips/p9/procedures/hwp/perv | |
parent | b9e0f3e1aa17f5e8d67098fb09390565afa41a9c (diff) | |
download | talos-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.C | 33 |
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)); |