diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2017-01-03 22:07:49 -0600 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-01-18 14:31:26 -0500 |
commit | a5a49f952a488a2726781b5060e32f6421abb669 (patch) | |
tree | b1bbb8c8c6cbc88ba263f3f4a45035a81e4195f6 | |
parent | 330be5202da7f2f0e8c5702430ab5c156f294279 (diff) | |
download | talos-hostboot-a5a49f952a488a2726781b5060e32f6421abb669.tar.gz talos-hostboot-a5a49f952a488a2726781b5060e32f6421abb669.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/34349
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
11 files changed, 71 insertions, 245 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C index 9ff032c0b..0dbd7ffa0 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_cxa_scom.C @@ -29,9 +29,9 @@ using namespace fapi2; -constexpr uint64_t literal_0x801B1F98D8717000 = 0x801B1F98D8717000; -constexpr uint64_t literal_0x0000000000000 = 0x0000000000000; -constexpr uint64_t literal_0x2080000020080 = 0x2080000020080; +constexpr uint64_t literal_0x80031F98D8717 = 0x80031F98D8717; +constexpr uint64_t literal_0x0B1C000104060 = 0x0B1C000104060; +constexpr uint64_t literal_0x2B9C0001240E0 = 0x2B9C0001240E0; constexpr uint64_t literal_0b0000 = 0b0000; constexpr uint64_t literal_0b111 = 0b111; constexpr uint64_t literal_0b0010 = 0b0010; @@ -41,42 +41,32 @@ fapi2::ReturnCode p9_cxa_scom(const fapi2::Target<fapi2::TARGET_TYPE_CAPP>& TGT0 const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1) { { - fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE)); fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x2010803ull, l_scom_buffer )); - l_scom_buffer.insert<0, 52, 0, uint64_t>(literal_0x801B1F98D8717000 ); + l_scom_buffer.insert<0, 52, 0, uint64_t>(literal_0x80031F98D8717 ); FAPI_TRY(fapi2::putScom(TGT0, 0x2010803ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x2010806ull, l_scom_buffer )); - l_scom_buffer.insert<0, 52, 12, uint64_t>(literal_0x0000000000000 ); + l_scom_buffer.insert<0, 52, 12, uint64_t>(literal_0x0B1C000104060 ); FAPI_TRY(fapi2::putScom(TGT0, 0x2010806ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x2010807ull, l_scom_buffer )); - l_scom_buffer.insert<0, 52, 12, uint64_t>(literal_0x2080000020080 ); + l_scom_buffer.insert<0, 52, 12, uint64_t>(literal_0x2B9C0001240E0 ); FAPI_TRY(fapi2::putScom(TGT0, 0x2010807ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x2010818ull, l_scom_buffer )); - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_CAPP0_CXA_TOP_CXA_APC0_APCCTL_ADR_BAR_MODE_ON = 0x1; - l_scom_buffer.insert<1, 1, 63, uint64_t>(l_CAPP0_CXA_TOP_CXA_APC0_APCCTL_ADR_BAR_MODE_ON ); - } - else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) - { - constexpr auto l_CAPP0_CXA_TOP_CXA_APC0_APCCTL_ADR_BAR_MODE_OFF = 0x0; - l_scom_buffer.insert<1, 1, 63, uint64_t>(l_CAPP0_CXA_TOP_CXA_APC0_APCCTL_ADR_BAR_MODE_OFF ); - } + constexpr auto l_CAPP0_CXA_TOP_CXA_APC0_APCCTL_ADR_BAR_MODE_OFF = 0x0; + l_scom_buffer.insert<1, 1, 63, uint64_t>(l_CAPP0_CXA_TOP_CXA_APC0_APCCTL_ADR_BAR_MODE_OFF ); if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP)) { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ab_hp_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ab_hp_scom.C index 980975cc0..45ef2ed6b 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ab_hp_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ab_hp_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -61,8 +61,6 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP, TGT0, l_TGT0_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP)); fapi2::ATTR_PROC_FABRIC_GROUP_MASTER_CHIP_Type l_TGT0_ATTR_PROC_FABRIC_GROUP_MASTER_CHIP; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_GROUP_MASTER_CHIP, TGT0, l_TGT0_ATTR_PROC_FABRIC_GROUP_MASTER_CHIP)); - fapi2::ATTR_PROC_FABRIC_CCSM_MODE_Type l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_CCSM_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE)); fapi2::ATTR_PROC_FABRIC_SMP_OPTICS_MODE_Type l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_SMP_OPTICS_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE)); fapi2::ATTR_PROC_FABRIC_CAPI_MODE_Type l_TGT1_ATTR_PROC_FABRIC_CAPI_MODE; @@ -71,10 +69,6 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE, TGT0, l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE)); fapi2::ATTR_CHIP_EC_FEATURE_HW386013_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW386013; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW386013, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW386013)); - fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE)); - fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE)); fapi2::ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG, TGT0, l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG)); @@ -155,11 +149,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<3, 1, 61, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON ); } - if ((l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_CCSM_MODE_ON)) - { - constexpr auto l_PB_COM_PB_CFG_HOP_MODE_NEXT_ON = 0x7; - l_scom_buffer.insert<29, 1, 61, uint64_t>(l_PB_COM_PB_CFG_HOP_MODE_NEXT_ON ); - } + constexpr auto l_PB_COM_PB_CFG_HOP_MODE_NEXT_OFF = 0x0; + l_scom_buffer.insert<29, 1, 61, uint64_t>(l_PB_COM_PB_CFG_HOP_MODE_NEXT_OFF ); if ((l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_SMP_OPTICS_MODE_OPTICS_IS_A_BUS)) { @@ -248,27 +239,6 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<40, 7, 57, uint64_t>(literal_0b0000000 ); - if ((l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_CCSM_MODE_ON)) - { - constexpr auto l_PB_COM_PB_CFG_PHYP_IS_GROUP_NEXT_ON = 0x7; - l_scom_buffer.insert<52, 1, 61, uint64_t>(l_PB_COM_PB_CFG_PHYP_IS_GROUP_NEXT_ON ); - } - - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_PB_COM_PB_CFG_ADDR_BAR_MODE_NEXT_SMALL_SYSTEM_MODE = 0x7; - l_scom_buffer.insert<53, 1, 61, uint64_t>(l_PB_COM_PB_CFG_ADDR_BAR_MODE_NEXT_SMALL_SYSTEM_MODE ); - } - - if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP)) - { - constexpr auto l_PB_COM_PB_CFG_PUMP_MODE_NEXT_CHIP_IS_GROUP = 0x7; - l_scom_buffer.insert<54, 1, 61, uint64_t>(l_PB_COM_PB_CFG_PUMP_MODE_NEXT_CHIP_IS_GROUP ); - } - - constexpr auto l_PB_COM_PB_CFG_DCACHE_CAPP_MODE_NEXT_OFF = 0x0; - l_scom_buffer.insert<55, 1, 61, uint64_t>(l_PB_COM_PB_CFG_DCACHE_CAPP_MODE_NEXT_OFF ); - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON = 0x7; @@ -1156,11 +1126,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<3, 1, 62, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON ); } - if ((l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_CCSM_MODE_ON)) - { - constexpr auto l_PB_COM_PB_CFG_HOP_MODE_NEXT_ON = 0x7; - l_scom_buffer.insert<29, 1, 62, uint64_t>(l_PB_COM_PB_CFG_HOP_MODE_NEXT_ON ); - } + constexpr auto l_PB_COM_PB_CFG_HOP_MODE_NEXT_OFF = 0x0; + l_scom_buffer.insert<29, 1, 62, uint64_t>(l_PB_COM_PB_CFG_HOP_MODE_NEXT_OFF ); if ((l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_SMP_OPTICS_MODE_OPTICS_IS_A_BUS)) { @@ -1249,27 +1216,6 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<40, 7, 57, uint64_t>(literal_0b0000000 ); - if ((l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_CCSM_MODE_ON)) - { - constexpr auto l_PB_COM_PB_CFG_PHYP_IS_GROUP_NEXT_ON = 0x7; - l_scom_buffer.insert<52, 1, 62, uint64_t>(l_PB_COM_PB_CFG_PHYP_IS_GROUP_NEXT_ON ); - } - - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_PB_COM_PB_CFG_ADDR_BAR_MODE_NEXT_SMALL_SYSTEM_MODE = 0x7; - l_scom_buffer.insert<53, 1, 62, uint64_t>(l_PB_COM_PB_CFG_ADDR_BAR_MODE_NEXT_SMALL_SYSTEM_MODE ); - } - - if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP)) - { - constexpr auto l_PB_COM_PB_CFG_PUMP_MODE_NEXT_CHIP_IS_GROUP = 0x7; - l_scom_buffer.insert<54, 1, 62, uint64_t>(l_PB_COM_PB_CFG_PUMP_MODE_NEXT_CHIP_IS_GROUP ); - } - - constexpr auto l_PB_COM_PB_CFG_DCACHE_CAPP_MODE_NEXT_OFF = 0x0; - l_scom_buffer.insert<55, 1, 62, uint64_t>(l_PB_COM_PB_CFG_DCACHE_CAPP_MODE_NEXT_OFF ); - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON = 0x7; @@ -2157,11 +2103,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<3, 1, 63, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON ); } - if ((l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_CCSM_MODE_ON)) - { - constexpr auto l_PB_COM_PB_CFG_HOP_MODE_NEXT_ON = 0x7; - l_scom_buffer.insert<29, 1, 63, uint64_t>(l_PB_COM_PB_CFG_HOP_MODE_NEXT_ON ); - } + constexpr auto l_PB_COM_PB_CFG_HOP_MODE_NEXT_OFF = 0x0; + l_scom_buffer.insert<29, 1, 63, uint64_t>(l_PB_COM_PB_CFG_HOP_MODE_NEXT_OFF ); if ((l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_SMP_OPTICS_MODE_OPTICS_IS_A_BUS)) { @@ -2250,27 +2193,6 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<40, 7, 57, uint64_t>(literal_0b0000000 ); - if ((l_TGT1_ATTR_PROC_FABRIC_CCSM_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_CCSM_MODE_ON)) - { - constexpr auto l_PB_COM_PB_CFG_PHYP_IS_GROUP_NEXT_ON = 0x7; - l_scom_buffer.insert<52, 1, 63, uint64_t>(l_PB_COM_PB_CFG_PHYP_IS_GROUP_NEXT_ON ); - } - - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_PB_COM_PB_CFG_ADDR_BAR_MODE_NEXT_SMALL_SYSTEM_MODE = 0x7; - l_scom_buffer.insert<53, 1, 63, uint64_t>(l_PB_COM_PB_CFG_ADDR_BAR_MODE_NEXT_SMALL_SYSTEM_MODE ); - } - - if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP)) - { - constexpr auto l_PB_COM_PB_CFG_PUMP_MODE_NEXT_CHIP_IS_GROUP = 0x7; - l_scom_buffer.insert<54, 1, 63, uint64_t>(l_PB_COM_PB_CFG_PUMP_MODE_NEXT_CHIP_IS_GROUP ); - } - - constexpr auto l_PB_COM_PB_CFG_DCACHE_CAPP_MODE_NEXT_OFF = 0x0; - l_scom_buffer.insert<55, 1, 63, uint64_t>(l_PB_COM_PB_CFG_DCACHE_CAPP_MODE_NEXT_OFF ); - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON = 0x7; diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C index 47fd17b3c..3bc8c5b52 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C @@ -29,8 +29,8 @@ using namespace fapi2; -constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_0 = 0; +constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_0x0070000072040140 = 0x0070000072040140; constexpr uint64_t literal_0x0000004004028000 = 0x0000004004028000; constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; @@ -55,22 +55,13 @@ fapi2::ReturnCode p9_int_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT0, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec)); - fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE)); fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x501300aull, l_scom_buffer )); - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); - } - else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) - { - l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0 ); - } + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0 ); if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP)) { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C index a9934ede6..68a148a6d 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -47,8 +47,6 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT0, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec)); - fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE)); fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE)); fapi2::buffer<uint64_t> l_scom_buffer; @@ -73,16 +71,8 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c15ull, l_scom_buffer )); - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_NMMU_MM_FBC_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_ON = 0x1; - l_scom_buffer.insert<33, 1, 63, uint64_t>(l_NMMU_MM_FBC_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_ON ); - } - else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) - { - constexpr auto l_NMMU_MM_FBC_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF = 0x0; - l_scom_buffer.insert<33, 1, 63, uint64_t>(l_NMMU_MM_FBC_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF ); - } + constexpr auto l_NMMU_MM_FBC_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF = 0x0; + l_scom_buffer.insert<33, 1, 63, uint64_t>(l_NMMU_MM_FBC_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF ); if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE)) { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C index 8c6ddd438..544904014 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_nx_scom.C @@ -50,8 +50,6 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT0, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec)); - fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x2011041ull, l_scom_buffer )); @@ -139,19 +137,19 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<19, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<22, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<25, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<26, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<27, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<28, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<28, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<29, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<2, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<30, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<32, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<33, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b0 ); @@ -159,7 +157,7 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<36, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<37, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<39, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<39, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<3, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<40, 2, 62, uint64_t>(literal_0b11 ); l_scom_buffer.insert<42, 1, 63, uint64_t>(literal_0b1 ); @@ -225,20 +223,20 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<10, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<11, 1, 63, uint64_t>(literal_0b0 ); + l_scom_buffer.insert<11, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<12, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<13, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<14, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<15, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<16, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<16, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<19, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<20, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<22, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<24, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<25, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<26, 1, 63, uint64_t>(literal_0b0 ); @@ -247,7 +245,7 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<29, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<2, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<30, 1, 63, uint64_t>(literal_0b0 ); - l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b0 ); + l_scom_buffer.insert<31, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<32, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<33, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b1 ); @@ -262,7 +260,7 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<43, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b1 ); l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0b1 ); - l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0b1 ); + l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<7, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<8, 1, 63, uint64_t>(literal_0b0 ); l_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b0 ); @@ -273,18 +271,8 @@ fapi2::ReturnCode p9_nx_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& constexpr auto l_NX_PBI_CQ_WRAP_NXCQ_SCOM_RD_GO_M_QOS_ON = 0x1; l_scom_buffer.insert<22, 1, 63, uint64_t>(l_NX_PBI_CQ_WRAP_NXCQ_SCOM_RD_GO_M_QOS_ON ); - - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_NX_PBI_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_ON = 0x1; - l_scom_buffer.insert<23, 1, 63, uint64_t>(l_NX_PBI_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_ON ); - } - else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) - { - constexpr auto l_NX_PBI_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF = 0x0; - l_scom_buffer.insert<23, 1, 63, uint64_t>(l_NX_PBI_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF ); - } - + constexpr auto l_NX_PBI_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF = 0x0; + l_scom_buffer.insert<23, 1, 63, uint64_t>(l_NX_PBI_CQ_WRAP_NXCQ_SCOM_ADDR_BAR_MODE_OFF ); l_scom_buffer.insert<25, 2, 62, uint64_t>(literal_1 ); l_scom_buffer.insert<40, 8, 56, uint64_t>(literal_0xFC ); l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0xFC ); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_vas_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_vas_scom.C index 2ec0b20fb..f57e86eca 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_vas_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_vas_scom.C @@ -29,9 +29,9 @@ using namespace fapi2; -constexpr uint64_t literal_0x00200102000D7FFF = 0x00200102000D7FFF; -constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; -constexpr uint64_t literal_0x00DF0201C0000000 = 0x00DF0201C0000000; +constexpr uint64_t literal_0x00000100000D7FFF = 0x00000100000D7FFF; +constexpr uint64_t literal_0x0000000000000FFF = 0x0000000000000FFF; +constexpr uint64_t literal_0x00FF0203C00C0FFF = 0x00FF0203C00C0FFF; constexpr uint64_t literal_0x1 = 0x1; fapi2::ReturnCode p9_vas_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT0, @@ -42,25 +42,23 @@ fapi2::ReturnCode p9_vas_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT0, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec)); - fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE_Type l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x3011803ull, l_scom_buffer )); - l_scom_buffer.insert<0, 54, 0, uint64_t>(literal_0x00200102000D7FFF ); + l_scom_buffer.insert<0, 54, 0, uint64_t>(literal_0x00000100000D7FFF ); FAPI_TRY(fapi2::putScom(TGT0, 0x3011803ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x3011806ull, l_scom_buffer )); - l_scom_buffer.insert<0, 54, 0, uint64_t>(literal_0x0000000000000000 ); + l_scom_buffer.insert<0, 54, 0, uint64_t>(literal_0x0000000000000FFF ); FAPI_TRY(fapi2::putScom(TGT0, 0x3011806ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x3011807ull, l_scom_buffer )); - l_scom_buffer.insert<0, 54, 0, uint64_t>(literal_0x00DF0201C0000000 ); + l_scom_buffer.insert<0, 54, 0, uint64_t>(literal_0x00FF0203C00C0FFF ); FAPI_TRY(fapi2::putScom(TGT0, 0x3011807ull, l_scom_buffer)); } { @@ -72,17 +70,8 @@ fapi2::ReturnCode p9_vas_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x301184eull, l_scom_buffer )); - if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_SMALL_SYSTEM)) - { - constexpr auto l_VA_VA_SOUTH_VA_EG_EG_SCF_ADDR_BAR_MODE_ON = 0x1; - l_scom_buffer.insert<13, 1, 63, uint64_t>(l_VA_VA_SOUTH_VA_EG_EG_SCF_ADDR_BAR_MODE_ON ); - } - else if ((l_TGT1_ATTR_PROC_FABRIC_ADDR_BAR_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM)) - { - constexpr auto l_VA_VA_SOUTH_VA_EG_EG_SCF_ADDR_BAR_MODE_OFF = 0x0; - l_scom_buffer.insert<13, 1, 63, uint64_t>(l_VA_VA_SOUTH_VA_EG_EG_SCF_ADDR_BAR_MODE_OFF ); - } - + constexpr auto l_VA_VA_SOUTH_VA_EG_EG_SCF_ADDR_BAR_MODE_OFF = 0x0; + l_scom_buffer.insert<13, 1, 63, uint64_t>(l_VA_VA_SOUTH_VA_EG_EG_SCF_ADDR_BAR_MODE_OFF ); FAPI_TRY(fapi2::putScom(TGT0, 0x301184eull, l_scom_buffer)); } { diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_fbc_utils.C b/src/import/chips/p9/procedures/hwp/nest/p9_fbc_utils.C index 893267558..ace59a89c 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_fbc_utils.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_fbc_utils.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -66,25 +66,9 @@ const uint32_t PU_FBC_MODE_PB_INITIALIZED_BIT = 0; // system ID (large system) const uint8_t FABRIC_ADDR_LS_SYSTEM_ID_START_BIT = 8; const uint8_t FABRIC_ADDR_LS_SYSTEM_ID_END_BIT = 12; -// system ID (small system) -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD0_START_BIT = 8; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD0_END_BIT = 12; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD0_SHIFT = 5; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD0_MASK = 0x1F; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD1_START_BIT = 15; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD1_END_BIT = 16; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD1_SHIFT = 3; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD1_MASK = 0x3; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD2_START_BIT = 19; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD2_END_BIT = 21; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD2_SHIFT = 0; -const uint8_t FABRIC_ADDR_SS_SYSTEM_ID_FLD2_MASK = 0x7; // group ID (large system) const uint8_t FABRIC_ADDR_LS_GROUP_ID_START_BIT = 15; const uint8_t FABRIC_ADDR_LS_GROUP_ID_END_BIT = 18; -// group ID (small system) -const uint8_t FABRIC_ADDR_SS_GROUP_ID_START_BIT = 17; -const uint8_t FABRIC_ADDR_SS_GROUP_ID_END_BIT = 18; // chip ID (large system) const uint8_t FABRIC_ADDR_LS_CHIP_ID_START_BIT = 19; const uint8_t FABRIC_ADDR_LS_CHIP_ID_END_BIT = 21; @@ -166,7 +150,6 @@ fapi2::ReturnCode p9_fbc_utils_get_chip_base_address( uint32_t l_fabric_system_id; uint8_t l_fabric_group_id; uint8_t l_fabric_chip_id; - uint8_t l_fabric_addr_bar_mode; uint8_t l_mirror_policy; fapi2::buffer<uint64_t> l_base_address; const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> FAPI_SYSTEM; @@ -182,55 +165,21 @@ fapi2::ReturnCode p9_fbc_utils_get_chip_base_address( FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_CHIP_ID, i_target, l_fabric_chip_id), "Error from FAPI_ATTR_GET (ATTR_FABRIC_CHIP_ID)"); - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, FAPI_SYSTEM, l_fabric_addr_bar_mode), - "Error from FAPI_ATTR_GET (ATTR_PROC_FABRIC_ADDR_BAR_MODE)"); - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_MIRROR_PLACEMENT_POLICY, FAPI_SYSTEM, l_mirror_policy), "Error from FAPI_ATTR_GET (ATTR_MEM_MIRROR_PLACEMENT_POLICY)"); // apply system ID // occupies one field for large system map, split into three fields for small system map - if (l_fabric_addr_bar_mode == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM) - { - l_base_address.insertFromRight < FABRIC_ADDR_LS_SYSTEM_ID_START_BIT, - (FABRIC_ADDR_LS_SYSTEM_ID_END_BIT - FABRIC_ADDR_LS_SYSTEM_ID_START_BIT + 1) > (l_fabric_system_id); - } - else - { - uint32_t l_fabric_system_id_fld = (l_fabric_system_id >> FABRIC_ADDR_SS_SYSTEM_ID_FLD0_SHIFT) & - FABRIC_ADDR_SS_SYSTEM_ID_FLD0_MASK; - l_base_address.insertFromRight < FABRIC_ADDR_SS_SYSTEM_ID_FLD0_START_BIT, - (FABRIC_ADDR_SS_SYSTEM_ID_FLD0_END_BIT - FABRIC_ADDR_SS_SYSTEM_ID_FLD0_START_BIT + 1) > (l_fabric_system_id_fld); - - l_fabric_system_id_fld = (l_fabric_system_id >> FABRIC_ADDR_SS_SYSTEM_ID_FLD1_SHIFT) & - FABRIC_ADDR_SS_SYSTEM_ID_FLD1_MASK; - l_base_address.insertFromRight < FABRIC_ADDR_SS_SYSTEM_ID_FLD1_START_BIT, - (FABRIC_ADDR_SS_SYSTEM_ID_FLD1_END_BIT - FABRIC_ADDR_SS_SYSTEM_ID_FLD1_START_BIT + 1) > (l_fabric_system_id_fld); - - l_fabric_system_id_fld = (l_fabric_system_id >> FABRIC_ADDR_SS_SYSTEM_ID_FLD2_SHIFT) & - FABRIC_ADDR_SS_SYSTEM_ID_FLD2_MASK; - l_base_address.insertFromRight < FABRIC_ADDR_SS_SYSTEM_ID_FLD2_START_BIT, - (FABRIC_ADDR_SS_SYSTEM_ID_FLD2_END_BIT - FABRIC_ADDR_SS_SYSTEM_ID_FLD2_START_BIT + 1) > (l_fabric_system_id_fld); - } + l_base_address.insertFromRight < FABRIC_ADDR_LS_SYSTEM_ID_START_BIT, + (FABRIC_ADDR_LS_SYSTEM_ID_END_BIT - FABRIC_ADDR_LS_SYSTEM_ID_START_BIT + 1) > (l_fabric_system_id); // apply group ID - if (l_fabric_addr_bar_mode == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM) - { - l_base_address.insertFromRight < FABRIC_ADDR_LS_GROUP_ID_START_BIT, - (FABRIC_ADDR_LS_GROUP_ID_END_BIT - FABRIC_ADDR_LS_GROUP_ID_START_BIT + 1) > (l_fabric_group_id); - } - else - { - l_base_address.insertFromRight < FABRIC_ADDR_SS_GROUP_ID_START_BIT, - (FABRIC_ADDR_SS_GROUP_ID_END_BIT - FABRIC_ADDR_SS_GROUP_ID_START_BIT + 1) > (l_fabric_group_id); - } + l_base_address.insertFromRight < FABRIC_ADDR_LS_GROUP_ID_START_BIT, + (FABRIC_ADDR_LS_GROUP_ID_END_BIT - FABRIC_ADDR_LS_GROUP_ID_START_BIT + 1) > (l_fabric_group_id); // apply chip ID (relevant for large system map only) - if (l_fabric_addr_bar_mode == fapi2::ENUM_ATTR_PROC_FABRIC_ADDR_BAR_MODE_LARGE_SYSTEM) - { - l_base_address.insertFromRight < FABRIC_ADDR_LS_CHIP_ID_START_BIT, - (FABRIC_ADDR_LS_CHIP_ID_END_BIT - FABRIC_ADDR_LS_CHIP_ID_START_BIT + 1) > (l_fabric_chip_id); - } + l_base_address.insertFromRight < FABRIC_ADDR_LS_CHIP_ID_START_BIT, + (FABRIC_ADDR_LS_CHIP_ID_END_BIT - FABRIC_ADDR_LS_CHIP_ID_START_BIT + 1) > (l_fabric_chip_id); // set output addresses based on application of msel if (l_mirror_policy == fapi2::ENUM_ATTR_MEM_MIRROR_PLACEMENT_POLICY_NORMAL) diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.C b/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.C index 389e82c89..b4303aa4b 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.C @@ -107,7 +107,6 @@ struct EffGroupingSysAttrs // Public data uint8_t iv_selectiveMode = 0; // ATTR_MEM_MIRROR_PLACEMENT_POLICY uint8_t iv_hwMirrorEnabled = 0; // ATTR_MRW_HW_MIRRORING_ENABLE - uint8_t iv_fabricAddrBarMode = 0; // ATTR_PROC_FABRIC_ADDR_BAR_MODE uint8_t iv_groupsAllowed = 0; // ATTR_MSS_INTERLEAVE_ENABLE }; @@ -131,12 +130,6 @@ fapi2::ReturnCode EffGroupingSysAttrs::getAttrs() "Error getting ATTR_MRW_HW_MIRRORING_ENABLE, l_rc 0x%.8X", (uint64_t)fapi2::current_err); - // Get Fabric address BAR mode - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_ADDR_BAR_MODE, - FAPI_SYSTEM, iv_fabricAddrBarMode), - "Error getting ATTR_PROC_FABRIC_ADDR_BAR_MODE, l_rc 0x%.8X", - (uint64_t)fapi2::current_err); - // Get interleave option FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_INTERLEAVE_ENABLE, FAPI_SYSTEM, iv_groupsAllowed), @@ -147,7 +140,6 @@ fapi2::ReturnCode EffGroupingSysAttrs::getAttrs() FAPI_INF("EffGroupingSysAttrs: "); FAPI_INF(" ATTR_MEM_MIRROR_PLACEMENT_POLICY 0x%.8X", iv_selectiveMode); FAPI_INF(" ATTR_MRW_HW_MIRRORING_ENABLE 0x%.8X", iv_hwMirrorEnabled); - FAPI_INF(" ATTR_PROC_FABRIC_ADDR_BAR_MODE 0x%.8X", iv_fabricAddrBarMode); FAPI_INF(" ATTR_MSS_INTERLEAVE_ENABLE 0x%.8X", iv_groupsAllowed); fapi_try_exit: diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_setup_sbe_config.C b/src/import/chips/p9/procedures/hwp/perv/p9_setup_sbe_config.C index 0405a158b..f6828d198 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_setup_sbe_config.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_setup_sbe_config.C @@ -52,6 +52,7 @@ enum P9_SETUP_SBE_CONFIG_Private_Constants 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, @@ -302,6 +303,8 @@ fapi2::ReturnCode p9_setup_sbe_config(const } //set_scratch6_reg { + uint8_t l_pump_mode; + FAPI_DBG("Reading Scratch_reg6"); //Getting SCRATCH_REGISTER_6 register value FAPI_TRY(fapi2::getCfamRegister(i_target_chip, PERV_SCRATCH_REGISTER_6_FSI, @@ -320,6 +323,20 @@ fapi2::ReturnCode p9_setup_sbe_config(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)); diff --git a/src/import/chips/p9/procedures/xml/attribute_info/nest_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/nest_attributes.xml index 03b15c19c..3367f0efd 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/nest_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/nest_attributes.xml @@ -5,7 +5,7 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- Contributors Listed Below - COPYRIGHT 2015,2016 --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -230,6 +230,7 @@ CHIP_IS_GROUP = 0x02 </enum> <platInit/> + <writeable/> </attribute> <!-- ********************************************************************** --> <attribute> @@ -243,8 +244,7 @@ </description> <valueType>uint8</valueType> <enum> - OFF = 0x0, - ON = 0x1 + OFF = 0x0 </enum> <platInit/> </attribute> @@ -332,8 +332,7 @@ </description> <valueType>uint8</valueType> <enum> - LARGE_SYSTEM = 0x0, - SMALL_SYSTEM = 0x1 + LARGE_SYSTEM = 0x0 </enum> <platInit/> </attribute> diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 333831225..22e0220ab 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -2373,6 +2373,7 @@ <persistency>non-volatile</persistency> <hasStringConversion/> <readable/> + <writeable/> <hwpfToHbAttrMap> <id>ATTR_PROC_FABRIC_PUMP_MODE</id> <macro>DIRECT</macro> @@ -21129,9 +21130,8 @@ Measured in GB</description> <description> Processor SMP topology configuration. 0 = default = 1 or 2 hop topology (PHYP image spans system) - 1 = 3 hop topology (PHYP image spans group). Provided by the MRW. - OFF = 0x0 (default), ON = 0x1 + OFF = 0x0 (default) </description> <simpleType> <uint8_t> @@ -21219,7 +21219,6 @@ Measured in GB</description> <description> Processor memory map configuration. 0 = large system address map (default) - 1 = small system address map Provided by the MRW. </description> <simpleType> |