diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2016-03-04 11:51:37 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-03-31 14:00:58 -0400 |
commit | 3c0756154d375230ff16caa640326524aa0a4610 (patch) | |
tree | 9be12f4052b6ef75485e5ac1fbdbca4c52e7f652 /src/import/chips/p9 | |
parent | 2faa3f9ec26b25cd92e8f33f9a1417cfe66c027f (diff) | |
download | talos-hostboot-3c0756154d375230ff16caa640326524aa0a4610.tar.gz talos-hostboot-3c0756154d375230ff16caa640326524aa0a4610.zip |
ifCompiler -- initfile HWP generation code to match specification
when=L:
permit fall through/no update when no rows evaluate to true
add read-modify-write path to support ispys with bit field specifications
support espys (integer data specification to putspy API) of arbitrary size
support ispys of arbitrary size (64 bits per row maximum)
add test initfiles for all targets expected to be supported in image build
need eCMD update to test OBUS/MC initfiles
add test procedure/wrapper for regression using Cronus platform
when=S:
emit error if no clocks-on content is found in spydef
general:
update ENGD reference to use e9034 u055 model
Change-Id: I522d4fa559f84a8c4d960b8a686def5af92ad3ef
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21741
Tested-by: PPE CI
Tested-by: Jenkins Server
Tested-by: Hostboot CI
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21763
Tested-by: FSP CI Jenkins
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_scom.C | 122 |
1 files changed, 14 insertions, 108 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_scom.C index 0f8387a09..72e9f970f 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_scom.C @@ -27,20 +27,16 @@ using namespace fapi2; #define ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_ATTRIBUTE_VALUE_0 0 #define ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_ATTRIBUTE_VALUE_0 0 -#define LITERAL_PB_IOE_LL0_CONFIG_LINK_PAIR_ON 0x80000000 -#define LITERAL_PB_IOE_LL0_IOEL_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF 0xFFFFFFFFFFFFFFFF -#define LITERAL_PB_IOE_LL1_CONFIG_LINK_PAIR_ON 0x80000000 +#define LITERAL_PB_IOE_LL1_CONFIG_LINK_PAIR_ON 0x1 #define LITERAL_PB_IOE_LL1_IOEL_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF 0xFFFFFFFFFFFFFFFF -#define LITERAL_PB_IOE_LL2_CONFIG_LINK_PAIR_ON 0x80000000 -#define LITERAL_PB_IOE_LL2_IOEL_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF 0xFFFFFFFFFFFFFFFF -#define LITERAL_PB_IOE_SCOM_PB_CFG_IOE01_IS_LOGICAL_PAIR_ON 0x80000000 -#define LITERAL_PB_IOE_SCOM_PB_CFG_IOE23_IS_LOGICAL_PAIR_ON 0x80000000 -#define LITERAL_PB_IOE_SCOM_PB_CFG_IOE45_IS_LOGICAL_PAIR_ON 0x80000000 +#define LITERAL_PB_IOE_SCOM_PB_CFG_IOE01_IS_LOGICAL_PAIR_ON 0x1 +#define LITERAL_PB_IOE_SCOM_PB_CFG_IOE23_IS_LOGICAL_PAIR_ON 0x1 +#define LITERAL_PB_IOE_SCOM_PB_CFG_IOE45_IS_LOGICAL_PAIR_ON 0x1 #define LITERAL_PB_IOE_SCOM_PB_IOE_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF 0xFFFFFFFFFFFFFFFF -#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO01_IS_LOGICAL_PAIR_ON 0x80000000 -#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO23_IS_LOGICAL_PAIR_ON 0x80000000 -#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO45_IS_LOGICAL_PAIR_ON 0x80000000 -#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO67_IS_LOGICAL_PAIR_ON 0x80000000 +#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO01_IS_LOGICAL_PAIR_ON 0x1 +#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO23_IS_LOGICAL_PAIR_ON 0x1 +#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO45_IS_LOGICAL_PAIR_ON 0x1 +#define LITERAL_PB_IOO_SCOM_PB_CFG_IOO67_IS_LOGICAL_PAIR_ON 0x1 #define LITERAL_PB_IOO_SCOM_PB_IOO_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF 0xFFFFFFFFFFFFFFFF fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT0) @@ -108,41 +104,12 @@ fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 64, 0 ); } - fapi2::buffer<uint64_t> PB_IOE_LL0_CONFIG_LINK_PAIR_scom0; - l_rc = fapi2::getScom( TGT0, 0x601180aull, PB_IOE_LL0_CONFIG_LINK_PAIR_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: getScom (0x601180a)"); - break; - } - - if (iv_def_X0_ENABLED) - { - PB_IOE_LL0_CONFIG_LINK_PAIR_scom0.insert<uint64_t> (LITERAL_PB_IOE_LL0_CONFIG_LINK_PAIR_ON, 0, 1, 63 ); - } - - fapi2::buffer<uint64_t> PB_IOE_LL0_IOEL_FIR_MASK_REG_scom0; - l_rc = fapi2::getScom( TGT0, 0x6011803ull, PB_IOE_LL0_IOEL_FIR_MASK_REG_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: getScom (0x6011803)"); - break; - } - - if (iv_def_X0_ENABLED) - { - PB_IOE_LL0_IOEL_FIR_MASK_REG_scom0.insert<uint64_t> (LITERAL_PB_IOE_LL0_IOEL_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF, 0, 64, - 0 ); - } - fapi2::buffer<uint64_t> PB_IOE_LL1_CONFIG_LINK_PAIR_scom0; - l_rc = fapi2::getScom( TGT0, 0x6011c0aull, PB_IOE_LL1_CONFIG_LINK_PAIR_scom0 ); + l_rc = fapi2::getScom( TGT0, 0x601180aull, PB_IOE_LL1_CONFIG_LINK_PAIR_scom0 ); if (l_rc) { - FAPI_ERR("ERROR executing: getScom (0x6011c0a)"); + FAPI_ERR("ERROR executing: getScom (0x601180a)"); break; } @@ -152,11 +119,11 @@ fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } fapi2::buffer<uint64_t> PB_IOE_LL1_IOEL_FIR_MASK_REG_scom0; - l_rc = fapi2::getScom( TGT0, 0x6011c03ull, PB_IOE_LL1_IOEL_FIR_MASK_REG_scom0 ); + l_rc = fapi2::getScom( TGT0, 0x6011803ull, PB_IOE_LL1_IOEL_FIR_MASK_REG_scom0 ); if (l_rc) { - FAPI_ERR("ERROR executing: getScom (0x6011c03)"); + FAPI_ERR("ERROR executing: getScom (0x6011803)"); break; } @@ -166,35 +133,6 @@ fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 0 ); } - fapi2::buffer<uint64_t> PB_IOE_LL2_CONFIG_LINK_PAIR_scom0; - l_rc = fapi2::getScom( TGT0, 0x601200aull, PB_IOE_LL2_CONFIG_LINK_PAIR_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: getScom (0x601200a)"); - break; - } - - if (iv_def_X2_ENABLED) - { - PB_IOE_LL2_CONFIG_LINK_PAIR_scom0.insert<uint64_t> (LITERAL_PB_IOE_LL2_CONFIG_LINK_PAIR_ON, 0, 1, 63 ); - } - - fapi2::buffer<uint64_t> PB_IOE_LL2_IOEL_FIR_MASK_REG_scom0; - l_rc = fapi2::getScom( TGT0, 0x6012003ull, PB_IOE_LL2_IOEL_FIR_MASK_REG_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: getScom (0x6012003)"); - break; - } - - if (iv_def_X2_ENABLED) - { - PB_IOE_LL2_IOEL_FIR_MASK_REG_scom0.insert<uint64_t> (LITERAL_PB_IOE_LL2_IOEL_FIR_MASK_REG_0xFFFFFFFFFFFFFFFF, 0, 64, - 0 ); - } - ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_Type iv_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG; l_rc = FAPI_ATTR_GET(ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG, TGT0, iv_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG); @@ -305,7 +243,7 @@ fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& break; } - l_rc = fapi2::putScom( TGT0, 0x6011803ull, PB_IOE_LL0_IOEL_FIR_MASK_REG_scom0 ); + l_rc = fapi2::putScom( TGT0, 0x6011803ull, PB_IOE_LL1_IOEL_FIR_MASK_REG_scom0 ); if (l_rc) { @@ -313,7 +251,7 @@ fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& break; } - l_rc = fapi2::putScom( TGT0, 0x601180aull, PB_IOE_LL0_CONFIG_LINK_PAIR_scom0 ); + l_rc = fapi2::putScom( TGT0, 0x601180aull, PB_IOE_LL1_CONFIG_LINK_PAIR_scom0 ); if (l_rc) { @@ -321,38 +259,6 @@ fapi2::ReturnCode p9_fbc_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& break; } - l_rc = fapi2::putScom( TGT0, 0x6011c03ull, PB_IOE_LL1_IOEL_FIR_MASK_REG_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x6011c03)"); - break; - } - - l_rc = fapi2::putScom( TGT0, 0x6011c0aull, PB_IOE_LL1_CONFIG_LINK_PAIR_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x6011c0a)"); - break; - } - - l_rc = fapi2::putScom( TGT0, 0x6012003ull, PB_IOE_LL2_IOEL_FIR_MASK_REG_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x6012003)"); - break; - } - - l_rc = fapi2::putScom( TGT0, 0x601200aull, PB_IOE_LL2_CONFIG_LINK_PAIR_scom0 ); - - if (l_rc) - { - FAPI_ERR("ERROR executing: putScom (0x601200a)"); - break; - } - } while(0); |