diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2017-07-29 13:15:12 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-11-10 09:40:49 -0500 |
commit | f10a3f6c090282073efdd40c3540acf7d924b54c (patch) | |
tree | 9bd86b9391c72a674f9c45bdfa957892a23a74e6 /src/import/chips/p9/procedures/hwp/initfiles | |
parent | a06edcedafcfa25710e81208a483a3ee694c19a7 (diff) | |
download | talos-hostboot-f10a3f6c090282073efdd40c3540acf7d924b54c.tar.gz talos-hostboot-f10a3f6c090282073efdd40c3540acf7d924b54c.zip |
IO, FBC updates to enable ABUS for Fleetwood
Attributes:
-------------------------------------------------------------------------------
nest_attributes.xml
add ATTR_LINK_TRAIN, written by platform on X, O endpoints to specify
whether half or full link should be trained
add ATTR_PROC_FABRIC_LINK_ACTIVE, written by p9_fbc_eff_config_links
adjust enums for ATTR_PROC_FABRIC_[XA]_ATTACHED_CHIP_CNFG, written
by p9_fbc_eff_config_links
add ATTR_PROC_FABRIC_[XA]_LINKS_CNFG, written by p9_fbc_eff_config_links
pervasive_attributes.xml
create ATTR_PROC_NPU_REGION_ENABLED to encapsulate accessibility of
NPU logic domain, written by p9_chiplet_scominit
chip_ec_attributes.xml
add EC feature attribute controlling DL training workaround
Initfiles:
-------------------------------------------------------------------------------
p9.fbc.ab_hp.scom.initfile
add logic to permit reset of chg_rate master dials in second phase SMP build
adjust link enable expressions to reflect new ATTACHED_CHIP_CNFG enums
p9.fbc.cd_hp.scom.initfile
p9.fbc.no_hp.scom.initfile
consume number of configured X/A links from new attribute, simple addition
won't work any longer given new ATTACHED_CHIP_CNFG enums
p9.fbc.ioe_dl.scom.initfile
support half-link operation, based on ATTR_LINK_TRAIN on X endpoint target
p9.fbc.ioe_tl.scom.initifle
adjust link enable expressions to reflect new ATTACHED_CHIP_CNFG enums
p9.fbc.ioo_dl.scom.initfile
support half-link operation, based on ATTR_LINK_TRAIN on O endpoint target
qualify OLL enablement based on use as active fabric link
adjust PHY training parameters based on current lab learning
p9.fbc.ioo_tl.scom.initfile
adjust link enable expressions to reflect new ATTACHED_CHIP_CNFG enums
support half-link operation, based on ATTACHED_CHIP_CNFG
qualify TOD_ENABLE to apply only to O links carrying X traffic
p9.npu.scom.initfile
clear OPTICAL_IO_CONFIG when not actively using NVLINK, finer-grained
updates needed to support mix of O SMP and NVLINK usage
HWPs:
-------------------------------------------------------------------------------
p9_io_obus_dccal
execute only on links actively carrying fabric protocol
p9_io_obus_linktrain
p9_io_regs
encapsulate PHY FIFO reset sequence needed prior to FBC DL training execution
p9_chiplet_scominit
p9_npu_scominit
partial good updates for NPU region
p9_fab_iovalid
adjust iovalid manipulation/checking, as well as link delay reporting, to
support half-link configuration
p9_smp_link_layer
support half-link configuration via ATTR_PROC_FABRIC_[XA]_ATTACHED_CHIP_CNFG
implement OBUS PHY specific workarounds
p9_eff_config_links
update ATTR_PROC_FABRIC_[XA]_ATTACHED_CHIP_CNFG to support half-link
configuration
write ATTR_PROC_FABRIC_LINK_ACTIVE on X/O endpoint targets
write ATTR_PROC_FABRIC_[XA]_LINKS_CNFG to reflect total number of logically
configured links, for initfile consumption
Istep wrappers:
-------------------------------------------------------------------------------
p9_build_smp_wrap
correctly loop over all system targets for second phase SMP build
p9_sys_chiplet_scominit_wrap
initial release
Change-Id: Ic1d87df4d3ff0feca7ac2437fa61b6d2fc4a2d68
CQ: HW419022
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43905
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: DANIEL C. HOWE <dchowe@us.ibm.com>
Reviewed-by: Matt K. Light <mklight@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/46997
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles')
8 files changed, 309 insertions, 93 deletions
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 c6203a92b..376d88de4 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 @@ -29,8 +29,8 @@ using namespace fapi2; -constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_1 = 1; +constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_4 = 4; @@ -143,12 +143,22 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ constexpr auto l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_ON = 0x7; l_scom_buffer.insert<2, 1, 61, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_ON ); } + else if (literal_1) + { + constexpr auto l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_OFF = 0x0; + l_scom_buffer.insert<2, 1, 61, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_OFF ); + } if ((l_TGT0_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP == fapi2::ENUM_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP_TRUE)) { constexpr auto l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON = 0x7; l_scom_buffer.insert<3, 1, 61, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON ); } + else if (literal_1) + { + constexpr auto l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_OFF = 0x0; + l_scom_buffer.insert<3, 1, 61, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_OFF ); + } 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 ); @@ -238,7 +248,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<38, 2, 58, uint64_t>(l_PB_COM_PB_CFG_OPT3_MODE_NEXT_NV ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON = 0x7; l_scom_buffer.insert<4, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON ); @@ -325,7 +336,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<12, 4, 52, uint64_t>(l_PB_COM_PB_CFG_LINK_A0_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A1_EN_NEXT_ON = 0x7; l_scom_buffer.insert<5, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_A1_EN_NEXT_ON ); @@ -412,7 +424,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<16, 4, 52, uint64_t>(l_PB_COM_PB_CFG_LINK_A1_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A2_EN_NEXT_ON = 0x7; l_scom_buffer.insert<6, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_A2_EN_NEXT_ON ); @@ -499,7 +512,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<20, 4, 52, uint64_t>(l_PB_COM_PB_CFG_LINK_A2_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A3_EN_NEXT_ON = 0x7; l_scom_buffer.insert<7, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_A3_EN_NEXT_ON ); @@ -666,7 +680,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ { FAPI_TRY(fapi2::getScom( TGT0, 0x501180full, l_scom_buffer )); - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X0_EN_NEXT_ON = 0x7; l_scom_buffer.insert<0, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X0_EN_NEXT_ON ); @@ -713,7 +728,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<16, 3, 55, uint64_t>(l_PB_COM_PB_CFG_LINK_X0_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X1_EN_NEXT_ON = 0x7; l_scom_buffer.insert<1, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X1_EN_NEXT_ON ); @@ -760,7 +776,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<19, 3, 55, uint64_t>(l_PB_COM_PB_CFG_LINK_X1_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X2_EN_NEXT_ON = 0x7; l_scom_buffer.insert<2, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X2_EN_NEXT_ON ); @@ -807,7 +824,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<22, 3, 55, uint64_t>(l_PB_COM_PB_CFG_LINK_X2_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X3_EN_NEXT_ON = 0x7; l_scom_buffer.insert<3, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X3_EN_NEXT_ON ); @@ -854,7 +872,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<25, 3, 55, uint64_t>(l_PB_COM_PB_CFG_LINK_X3_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X4_EN_NEXT_ON = 0x7; l_scom_buffer.insert<4, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X4_EN_NEXT_ON ); @@ -901,7 +920,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<28, 3, 55, uint64_t>(l_PB_COM_PB_CFG_LINK_X4_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X5_EN_NEXT_ON = 0x7; l_scom_buffer.insert<5, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X5_EN_NEXT_ON ); @@ -948,7 +968,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<31, 3, 55, uint64_t>(l_PB_COM_PB_CFG_LINK_X5_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X6_EN_NEXT_ON = 0x7; l_scom_buffer.insert<6, 1, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X6_EN_NEXT_ON ); @@ -1166,12 +1187,22 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ constexpr auto l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_ON = 0x7; l_scom_buffer.insert<2, 1, 62, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_ON ); } + else if (literal_1) + { + constexpr auto l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_OFF = 0x0; + l_scom_buffer.insert<2, 1, 62, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_OFF ); + } if ((l_TGT0_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP == fapi2::ENUM_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP_TRUE)) { constexpr auto l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON = 0x7; l_scom_buffer.insert<3, 1, 62, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON ); } + else if (literal_1) + { + constexpr auto l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_OFF = 0x0; + l_scom_buffer.insert<3, 1, 62, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_OFF ); + } 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 ); @@ -1261,7 +1292,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<38, 2, 60, uint64_t>(l_PB_COM_PB_CFG_OPT3_MODE_NEXT_NV ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON = 0x7; l_scom_buffer.insert<4, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON ); @@ -1348,7 +1380,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<12, 4, 56, uint64_t>(l_PB_COM_PB_CFG_LINK_A0_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A1_EN_NEXT_ON = 0x7; l_scom_buffer.insert<5, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_A1_EN_NEXT_ON ); @@ -1435,7 +1468,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<16, 4, 56, uint64_t>(l_PB_COM_PB_CFG_LINK_A1_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A2_EN_NEXT_ON = 0x7; l_scom_buffer.insert<6, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_A2_EN_NEXT_ON ); @@ -1522,7 +1556,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<20, 4, 56, uint64_t>(l_PB_COM_PB_CFG_LINK_A2_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A3_EN_NEXT_ON = 0x7; l_scom_buffer.insert<7, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_A3_EN_NEXT_ON ); @@ -1689,7 +1724,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ { FAPI_TRY(fapi2::getScom( TGT0, 0x5011c0full, l_scom_buffer )); - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X0_EN_NEXT_ON = 0x7; l_scom_buffer.insert<0, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X0_EN_NEXT_ON ); @@ -1736,7 +1772,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<16, 3, 58, uint64_t>(l_PB_COM_PB_CFG_LINK_X0_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X1_EN_NEXT_ON = 0x7; l_scom_buffer.insert<1, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X1_EN_NEXT_ON ); @@ -1783,7 +1820,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<19, 3, 58, uint64_t>(l_PB_COM_PB_CFG_LINK_X1_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X2_EN_NEXT_ON = 0x7; l_scom_buffer.insert<2, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X2_EN_NEXT_ON ); @@ -1830,7 +1868,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<22, 3, 58, uint64_t>(l_PB_COM_PB_CFG_LINK_X2_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X3_EN_NEXT_ON = 0x7; l_scom_buffer.insert<3, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X3_EN_NEXT_ON ); @@ -1877,7 +1916,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<25, 3, 58, uint64_t>(l_PB_COM_PB_CFG_LINK_X3_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X4_EN_NEXT_ON = 0x7; l_scom_buffer.insert<4, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X4_EN_NEXT_ON ); @@ -1924,7 +1964,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<28, 3, 58, uint64_t>(l_PB_COM_PB_CFG_LINK_X4_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X5_EN_NEXT_ON = 0x7; l_scom_buffer.insert<5, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X5_EN_NEXT_ON ); @@ -1971,7 +2012,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<31, 3, 58, uint64_t>(l_PB_COM_PB_CFG_LINK_X5_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X6_EN_NEXT_ON = 0x7; l_scom_buffer.insert<6, 1, 62, uint64_t>(l_PB_COM_PB_CFG_LINK_X6_EN_NEXT_ON ); @@ -2189,12 +2231,22 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ constexpr auto l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_ON = 0x7; l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_ON ); } + else if (literal_1) + { + constexpr auto l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_OFF = 0x0; + l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_GP_MASTER_NEXT_OFF ); + } if ((l_TGT0_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP == fapi2::ENUM_ATTR_PROC_FABRIC_SYSTEM_MASTER_CHIP_TRUE)) { constexpr auto l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON = 0x7; l_scom_buffer.insert<3, 1, 63, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_ON ); } + else if (literal_1) + { + constexpr auto l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_OFF = 0x0; + l_scom_buffer.insert<3, 1, 63, uint64_t>(l_PB_COM_PB_CFG_CHG_RATE_SP_MASTER_NEXT_OFF ); + } 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 ); @@ -2284,7 +2336,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<38, 2, 62, uint64_t>(l_PB_COM_PB_CFG_OPT3_MODE_NEXT_NV ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON = 0x7; l_scom_buffer.insert<4, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_A0_EN_NEXT_ON ); @@ -2371,7 +2424,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<12, 4, 60, uint64_t>(l_PB_COM_PB_CFG_LINK_A0_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A1_EN_NEXT_ON = 0x7; l_scom_buffer.insert<5, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_A1_EN_NEXT_ON ); @@ -2458,7 +2512,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<16, 4, 60, uint64_t>(l_PB_COM_PB_CFG_LINK_A1_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A2_EN_NEXT_ON = 0x7; l_scom_buffer.insert<6, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_A2_EN_NEXT_ON ); @@ -2545,7 +2600,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<20, 4, 60, uint64_t>(l_PB_COM_PB_CFG_LINK_A2_GROUPID_NEXT_ID_15 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_A3_EN_NEXT_ON = 0x7; l_scom_buffer.insert<7, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_A3_EN_NEXT_ON ); @@ -2712,7 +2768,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ { FAPI_TRY(fapi2::getScom( TGT0, 0x501200full, l_scom_buffer )); - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X0_EN_NEXT_ON = 0x7; l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X0_EN_NEXT_ON ); @@ -2759,7 +2816,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<16, 3, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X0_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X1_EN_NEXT_ON = 0x7; l_scom_buffer.insert<1, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X1_EN_NEXT_ON ); @@ -2806,7 +2864,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<19, 3, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X1_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X2_EN_NEXT_ON = 0x7; l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X2_EN_NEXT_ON ); @@ -2853,7 +2912,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<22, 3, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X2_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X3_EN_NEXT_ON = 0x7; l_scom_buffer.insert<3, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X3_EN_NEXT_ON ); @@ -2900,7 +2960,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<25, 3, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X3_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X4_EN_NEXT_ON = 0x7; l_scom_buffer.insert<4, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X4_EN_NEXT_ON ); @@ -2947,7 +3008,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<28, 3, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X4_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X5_EN_NEXT_ON = 0x7; l_scom_buffer.insert<5, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X5_EN_NEXT_ON ); @@ -2994,7 +3056,8 @@ fapi2::ReturnCode p9_fbc_ab_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<31, 3, 61, uint64_t>(l_PB_COM_PB_CFG_LINK_X5_CHIPID_NEXT_ID_7 ); } - if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] == fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE)) + if ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE)) { constexpr auto l_PB_COM_PB_CFG_LINK_X6_EN_NEXT_ON = 0x7; l_scom_buffer.insert<6, 1, 63, uint64_t>(l_PB_COM_PB_CFG_LINK_X6_EN_NEXT_ON ); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_cd_hp_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_cd_hp_scom.C index d644c2b5c..f3590d22c 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_cd_hp_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_cd_hp_scom.C @@ -33,9 +33,9 @@ constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_0b0 = 0b0; constexpr uint64_t literal_0b10100 = 0b10100; constexpr uint64_t literal_0 = 0; -constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_0b00110 = 0b00110; constexpr uint64_t literal_0b01000 = 0b01000; +constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_0b01010 = 0b01010; constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_0b01100 = 0b01100; @@ -104,11 +104,9 @@ fapi2::ReturnCode p9_fbc_cd_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ fapi2::ATTR_PROC_EPS_TABLE_TYPE_Type l_TGT1_ATTR_PROC_EPS_TABLE_TYPE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_TABLE_TYPE, TGT1, l_TGT1_ATTR_PROC_EPS_TABLE_TYPE)); uint64_t l_def_IS_FLAT_8 = (l_TGT1_ATTR_PROC_EPS_TABLE_TYPE == fapi2::ENUM_ATTR_PROC_EPS_TABLE_TYPE_EPS_TYPE_HE_F8); - fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG, TGT0, - l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG)); - uint64_t l_def_NUM_X_LINKS_CFG = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] + - l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1]) + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2]); + fapi2::ATTR_PROC_FABRIC_X_LINKS_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_LINKS_CNFG; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_LINKS_CNFG, TGT0, l_TGT0_ATTR_PROC_FABRIC_X_LINKS_CNFG)); + uint64_t l_def_NUM_X_LINKS_CFG = l_TGT0_ATTR_PROC_FABRIC_X_LINKS_CNFG; fapi2::ATTR_FREQ_PB_MHZ_Type l_TGT1_ATTR_FREQ_PB_MHZ; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FREQ_PB_MHZ, TGT1, l_TGT1_ATTR_FREQ_PB_MHZ)); fapi2::ATTR_FREQ_X_MHZ_Type l_TGT1_ATTR_FREQ_X_MHZ; @@ -422,7 +420,11 @@ fapi2::ReturnCode p9_fbc_cd_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<42, 4, 60, uint64_t>(literal_0b0100 ); } - if (literal_1) + if (l_def_SMP_OPTICS_MODE) + { + l_scom_buffer.insert<46, 3, 61, uint64_t>(literal_0b001 ); + } + else if (( ! l_def_SMP_OPTICS_MODE)) { l_scom_buffer.insert<46, 3, 61, uint64_t>(literal_0b000 ); } @@ -442,10 +444,14 @@ fapi2::ReturnCode p9_fbc_cd_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ l_scom_buffer.insert<51, 3, 61, uint64_t>(literal_0b000 ); } - if (literal_1) + if (l_def_SMP_OPTICS_MODE) { l_scom_buffer.insert<54, 3, 61, uint64_t>(literal_0b001 ); } + else if (( ! l_def_SMP_OPTICS_MODE)) + { + l_scom_buffer.insert<54, 3, 61, uint64_t>(literal_0b000 ); + } if (literal_1) { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C index 73a74f9af..3322d6926 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C @@ -29,6 +29,7 @@ using namespace fapi2; +constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_0x0B = 0x0B; constexpr uint64_t literal_0xF = 0xF; constexpr uint64_t literal_0b111 = 0b111; @@ -43,12 +44,23 @@ fapi2::ReturnCode p9_fbc_ioe_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT1, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT1, l_chip_ec)); + fapi2::ATTR_LINK_TRAIN_Type l_TGT0_ATTR_LINK_TRAIN; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_LINK_TRAIN, TGT0, l_TGT0_ATTR_LINK_TRAIN)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x601180aull, l_scom_buffer )); - constexpr auto l_PB_IOE_LL1_CONFIG_LINK_PAIR_ON = 0x1; - l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOE_LL1_CONFIG_LINK_PAIR_ON ); + if ((l_TGT0_ATTR_LINK_TRAIN == fapi2::ENUM_ATTR_LINK_TRAIN_BOTH)) + { + constexpr auto l_PB_IOE_LL1_CONFIG_LINK_PAIR_ON = 0x1; + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOE_LL1_CONFIG_LINK_PAIR_ON ); + } + else if (literal_1) + { + constexpr auto l_PB_IOE_LL1_CONFIG_LINK_PAIR_OFF = 0x0; + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOE_LL1_CONFIG_LINK_PAIR_OFF ); + } + constexpr auto l_PB_IOE_LL1_CONFIG_CRC_LANE_ID_ON = 0x1; l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_IOE_LL1_CONFIG_CRC_LANE_ID_ON ); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_tl_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_tl_scom.C index 03cd59b91..3ee9f10ca 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_tl_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_tl_scom.C @@ -60,7 +60,8 @@ fapi2::ReturnCode p9_fbc_ioe_tl_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG, TGT0, l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG)); - uint64_t l_def_X0_ENABLED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] != literal_0); + uint64_t l_def_X0_ENABLED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE); fapi2::ATTR_CHIP_EC_FEATURE_DD1_FBC_SETTINGS_Type l_TGT0_ATTR_CHIP_EC_FEATURE_DD1_FBC_SETTINGS; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DD1_FBC_SETTINGS, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_DD1_FBC_SETTINGS)); @@ -77,14 +78,22 @@ fapi2::ReturnCode p9_fbc_ioe_tl_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC uint64_t l_def_DD1_LO_LIMIT_R = (l_def_DD1_LO_LIMIT_N % l_def_DD1_LO_LIMIT_D); uint64_t l_def_DD1_PARTS = (l_TGT0_ATTR_CHIP_EC_FEATURE_DD1_FBC_SETTINGS == literal_1); uint64_t l_def_DD1_LO_LIMIT_P = (l_def_DD1_LO_LIMIT_D % literal_2); - uint64_t l_def_X1_ENABLED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] != literal_0); - uint64_t l_def_X2_ENABLED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] != literal_0); + uint64_t l_def_X1_ENABLED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE); + uint64_t l_def_X2_ENABLED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE); 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)); uint64_t l_def_OPTICS_IS_A_BUS = (l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_SMP_OPTICS_MODE_OPTICS_IS_A_BUS); fapi2::ATTR_CHIP_EC_FEATURE_HW384245_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW384245; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW384245, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW384245)); + uint64_t l_def_X0_IS_PAIRED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE); + uint64_t l_def_X1_IS_PAIRED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE); + uint64_t l_def_X2_IS_PAIRED = (l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x501340aull, l_scom_buffer )); @@ -398,23 +407,38 @@ fapi2::ReturnCode p9_fbc_ioe_tl_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC { FAPI_TRY(fapi2::getScom( TGT0, 0x5013423ull, l_scom_buffer )); - if (l_def_X0_ENABLED) + if (l_def_X0_IS_PAIRED) { constexpr auto l_PB_IOE_SCOM_PB_CFG_IOE01_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOE_SCOM_PB_CFG_IOE01_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOE_SCOM_PB_CFG_IOE01_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOE_SCOM_PB_CFG_IOE01_IS_LOGICAL_PAIR_OFF ); + } - if (l_def_X1_ENABLED) + if (l_def_X1_IS_PAIRED) { constexpr auto l_PB_IOE_SCOM_PB_CFG_IOE23_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<1, 1, 63, uint64_t>(l_PB_IOE_SCOM_PB_CFG_IOE23_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOE_SCOM_PB_CFG_IOE23_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<1, 1, 63, uint64_t>(l_PB_IOE_SCOM_PB_CFG_IOE23_IS_LOGICAL_PAIR_OFF ); + } - if (l_def_X2_ENABLED) + if (l_def_X2_IS_PAIRED) { constexpr auto l_PB_IOE_SCOM_PB_CFG_IOE45_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_IOE_SCOM_PB_CFG_IOE45_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOE_SCOM_PB_CFG_IOE45_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_IOE_SCOM_PB_CFG_IOE45_IS_LOGICAL_PAIR_OFF ); + } FAPI_TRY(fapi2::putScom(TGT0, 0x5013423ull, l_scom_buffer)); } diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_dl_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_dl_scom.C index 1b56fe603..4f84e3137 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_dl_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_dl_scom.C @@ -29,9 +29,11 @@ using namespace fapi2; -constexpr uint64_t literal_0x0B = 0x0B; +constexpr uint64_t literal_1 = 1; +constexpr uint64_t literal_0x0F = 0x0F; constexpr uint64_t literal_0x0 = 0x0; constexpr uint64_t literal_0xF = 0xF; +constexpr uint64_t literal_0xE = 0xE; constexpr uint64_t literal_0b0000000 = 0b0000000; fapi2::ReturnCode p9_fbc_ioo_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>& TGT0, @@ -42,26 +44,42 @@ fapi2::ReturnCode p9_fbc_ioo_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT1, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT1, l_chip_ec)); + fapi2::ATTR_LINK_TRAIN_Type l_TGT0_ATTR_LINK_TRAIN; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_LINK_TRAIN, TGT0, l_TGT0_ATTR_LINK_TRAIN)); + fapi2::ATTR_PROC_NPU_REGION_ENABLED_Type l_TGT1_ATTR_PROC_NPU_REGION_ENABLED; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_NPU_REGION_ENABLED, TGT1, l_TGT1_ATTR_PROC_NPU_REGION_ENABLED)); fapi2::ATTR_OPTICS_CONFIG_MODE_Type l_TGT0_ATTR_OPTICS_CONFIG_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_OPTICS_CONFIG_MODE, TGT0, l_TGT0_ATTR_OPTICS_CONFIG_MODE)); - uint64_t l_def_OBUS_NV_ENABLED = (l_TGT0_ATTR_OPTICS_CONFIG_MODE == fapi2::ENUM_ATTR_OPTICS_CONFIG_MODE_NV); - uint64_t l_def_OBUS_FBC_ENABLED = (l_TGT0_ATTR_OPTICS_CONFIG_MODE == fapi2::ENUM_ATTR_OPTICS_CONFIG_MODE_SMP); + uint64_t l_def_OBUS_NV_ENABLED = ((l_TGT0_ATTR_OPTICS_CONFIG_MODE == fapi2::ENUM_ATTR_OPTICS_CONFIG_MODE_NV) + && l_TGT1_ATTR_PROC_NPU_REGION_ENABLED); + fapi2::ATTR_PROC_FABRIC_LINK_ACTIVE_Type l_TGT0_ATTR_PROC_FABRIC_LINK_ACTIVE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_LINK_ACTIVE, TGT0, l_TGT0_ATTR_PROC_FABRIC_LINK_ACTIVE)); + uint64_t l_def_OBUS_FBC_ENABLED = ((l_TGT0_ATTR_OPTICS_CONFIG_MODE == fapi2::ENUM_ATTR_OPTICS_CONFIG_MODE_SMP) + && l_TGT0_ATTR_PROC_FABRIC_LINK_ACTIVE); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x901080aull, l_scom_buffer )); - constexpr auto l_PB_IOO_LL0_CONFIG_LINK_PAIR_ON = 0x1; - l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK_PAIR_ON ); + if ((l_TGT0_ATTR_LINK_TRAIN == fapi2::ENUM_ATTR_LINK_TRAIN_BOTH)) + { + constexpr auto l_PB_IOO_LL0_CONFIG_LINK_PAIR_ON = 0x1; + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK_PAIR_ON ); + } + else if (literal_1) + { + constexpr auto l_PB_IOO_LL0_CONFIG_LINK_PAIR_OFF = 0x0; + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK_PAIR_OFF ); + } if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { - l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0x0B ); + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0x0F ); } else if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x22)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) ) { - l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0x0B ); + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0x0F ); } l_scom_buffer.insert<28, 4, 60, uint64_t>(literal_0x0 ); @@ -76,6 +94,7 @@ fapi2::ReturnCode p9_fbc_ioo_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_CRC_LANE_ID_ON ); constexpr auto l_PB_IOO_LL0_CONFIG_SL_UE_CRC_ERR_ON = 0x1; l_scom_buffer.insert<4, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_SL_UE_CRC_ERR_ON ); + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0xF ); FAPI_TRY(fapi2::putScom(TGT0, 0x901080aull, l_scom_buffer)); } { @@ -91,15 +110,31 @@ fapi2::ReturnCode p9_fbc_ioo_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS l_scom_buffer.insert<63, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_NV2_NPU_ENABLED_ON ); } - if (l_def_OBUS_FBC_ENABLED) + if ((l_def_OBUS_FBC_ENABLED && (l_TGT0_ATTR_LINK_TRAIN != fapi2::ENUM_ATTR_LINK_TRAIN_ODD_ONLY))) { constexpr auto l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_ON = 0x1; l_scom_buffer.insert<58, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_ON ); + } + else if (literal_1) + { + constexpr auto l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_OFF = 0x0; + l_scom_buffer.insert<58, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_OFF ); + } + + if ((l_def_OBUS_FBC_ENABLED && (l_TGT0_ATTR_LINK_TRAIN != fapi2::ENUM_ATTR_LINK_TRAIN_EVEN_ONLY))) + { constexpr auto l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_ON = 0x1; l_scom_buffer.insert<59, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_OFF = 0x0; + l_scom_buffer.insert<59, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_OFF ); + } - l_scom_buffer.insert<4, 4, 60, uint64_t>(literal_0xF ); + l_scom_buffer.insert<8, 4, 60, uint64_t>(literal_0xE ); + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xE ); + l_scom_buffer.insert<4, 4, 60, uint64_t>(literal_0x0 ); FAPI_TRY(fapi2::putScom(TGT0, 0x901080cull, l_scom_buffer)); } { @@ -115,13 +150,27 @@ fapi2::ReturnCode p9_fbc_ioo_dl_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS l_scom_buffer.insert<63, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_NV2_NPU_ENABLED_ON ); } - if (l_def_OBUS_FBC_ENABLED) + if ((l_def_OBUS_FBC_ENABLED && (l_TGT0_ATTR_LINK_TRAIN != fapi2::ENUM_ATTR_LINK_TRAIN_ODD_ONLY))) { constexpr auto l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_ON = 0x1; l_scom_buffer.insert<58, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_ON ); + } + else if (literal_1) + { + constexpr auto l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_OFF = 0x0; + l_scom_buffer.insert<58, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK0_OLL_ENABLED_OFF ); + } + + if ((l_def_OBUS_FBC_ENABLED && (l_TGT0_ATTR_LINK_TRAIN != fapi2::ENUM_ATTR_LINK_TRAIN_EVEN_ONLY))) + { constexpr auto l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_ON = 0x1; l_scom_buffer.insert<59, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_OFF = 0x0; + l_scom_buffer.insert<59, 1, 63, uint64_t>(l_PB_IOO_LL0_CONFIG_LINK1_OLL_ENABLED_OFF ); + } l_scom_buffer.insert<4, 4, 60, uint64_t>(literal_0x0 ); l_scom_buffer.insert<9, 7, 57, uint64_t>(literal_0b0000000 ); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_tl_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_tl_scom.C index 8a49ff926..fee43346b 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_tl_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_tl_scom.C @@ -29,13 +29,13 @@ using namespace fapi2; -constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_6 = 6; constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_5 = 5; constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_4 = 4; +constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_0xFFFFFFFFFFFFFFFF = 0xFFFFFFFFFFFFFFFF; constexpr uint64_t literal_0x1 = 0x1; constexpr uint64_t literal_0x40 = 0x40; @@ -73,14 +73,22 @@ fapi2::ReturnCode p9_fbc_ioo_tl_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG, TGT0, l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG)); - uint64_t l_def_OBUS3_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] != literal_0) - || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] != literal_0)); - uint64_t l_def_OBUS2_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] != literal_0) - || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] != literal_0)); - uint64_t l_def_OBUS1_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] != literal_0) - || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] != literal_0)); - uint64_t l_def_OBUS0_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] != literal_0) - || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] != literal_0)); + uint64_t l_def_OBUS3_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)); + uint64_t l_def_OBUS2_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)); + uint64_t l_def_OBUS1_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)); + uint64_t l_def_OBUS0_FBC_ENABLED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] != + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_FALSE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] != + fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_FALSE)); fapi2::ATTR_FREQ_A_MHZ_Type l_TGT1_ATTR_FREQ_A_MHZ; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FREQ_A_MHZ, TGT1, l_TGT1_ATTR_FREQ_A_MHZ)); fapi2::ATTR_FREQ_PB_MHZ_Type l_TGT1_ATTR_FREQ_PB_MHZ; @@ -98,13 +106,28 @@ fapi2::ReturnCode p9_fbc_ioo_tl_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_SMP_OPTICS_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE)); uint64_t l_def_OPTICS_IS_A_BUS = (l_TGT1_ATTR_PROC_FABRIC_SMP_OPTICS_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_SMP_OPTICS_MODE_OPTICS_IS_A_BUS); + uint64_t l_def_OB0_IS_PAIRED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)); + uint64_t l_def_OB1_IS_PAIRED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)); + uint64_t l_def_OB2_IS_PAIRED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)); + uint64_t l_def_OB3_IS_PAIRED = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6] == + fapi2::ENUM_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_TRUE) + || (l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG_TRUE)); + fapi2::ATTR_PROC_NPU_REGION_ENABLED_Type l_TGT0_ATTR_PROC_NPU_REGION_ENABLED; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_NPU_REGION_ENABLED, TGT0, l_TGT0_ATTR_PROC_NPU_REGION_ENABLED)); fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_Type l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE, TGT0, l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE)); uint64_t l_def_NVLINK_ACTIVE = ((((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_0] == fapi2::ENUM_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_NV) || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_1] == fapi2::ENUM_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_NV)) || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_2] == fapi2::ENUM_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_NV)) - || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_NV)); + || ((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == fapi2::ENUM_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_NV) + && l_TGT0_ATTR_PROC_NPU_REGION_ENABLED)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x5013803ull, l_scom_buffer )); @@ -515,53 +538,93 @@ fapi2::ReturnCode p9_fbc_ioo_tl_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC { FAPI_TRY(fapi2::getScom( TGT0, 0x5013823ull, l_scom_buffer )); - if (l_def_OBUS0_FBC_ENABLED) + if (l_def_OB0_IS_PAIRED) { constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO01_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO01_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO01_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO01_IS_LOGICAL_PAIR_OFF ); + } if (l_def_OBUS0_FBC_ENABLED) { constexpr auto l_PB_IOO_SCOM_LINKS01_TOD_ENABLE_ON = 0x1; l_scom_buffer.insert<8, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS01_TOD_ENABLE_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_LINKS01_TOD_ENABLE_OFF = 0x0; + l_scom_buffer.insert<8, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS01_TOD_ENABLE_OFF ); + } - if (l_def_OBUS1_FBC_ENABLED) + if (l_def_OB1_IS_PAIRED) { constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO23_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<1, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO23_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO23_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<1, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO23_IS_LOGICAL_PAIR_OFF ); + } if (l_def_OBUS1_FBC_ENABLED) { constexpr auto l_PB_IOO_SCOM_LINKS23_TOD_ENABLE_ON = 0x1; l_scom_buffer.insert<9, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS23_TOD_ENABLE_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_LINKS23_TOD_ENABLE_OFF = 0x0; + l_scom_buffer.insert<9, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS23_TOD_ENABLE_OFF ); + } - if (l_def_OBUS2_FBC_ENABLED) + if (l_def_OB2_IS_PAIRED) { constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO45_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO45_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO45_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<2, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO45_IS_LOGICAL_PAIR_OFF ); + } if (l_def_OBUS2_FBC_ENABLED) { constexpr auto l_PB_IOO_SCOM_LINKS45_TOD_ENABLE_ON = 0x1; l_scom_buffer.insert<10, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS45_TOD_ENABLE_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_LINKS45_TOD_ENABLE_OFF = 0x0; + l_scom_buffer.insert<10, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS45_TOD_ENABLE_OFF ); + } - if (l_def_OBUS3_FBC_ENABLED) + if (l_def_OB3_IS_PAIRED) { constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO67_IS_LOGICAL_PAIR_ON = 0x1; l_scom_buffer.insert<3, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO67_IS_LOGICAL_PAIR_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_PB_CFG_IOO67_IS_LOGICAL_PAIR_OFF = 0x0; + l_scom_buffer.insert<3, 1, 63, uint64_t>(l_PB_IOO_SCOM_PB_CFG_IOO67_IS_LOGICAL_PAIR_OFF ); + } if (l_def_OBUS3_FBC_ENABLED) { constexpr auto l_PB_IOO_SCOM_LINKS67_TOD_ENABLE_ON = 0x1; l_scom_buffer.insert<11, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS67_TOD_ENABLE_ON ); } + else if (literal_1) + { + constexpr auto l_PB_IOO_SCOM_LINKS67_TOD_ENABLE_OFF = 0x0; + l_scom_buffer.insert<11, 1, 63, uint64_t>(l_PB_IOO_SCOM_LINKS67_TOD_ENABLE_OFF ); + } if (l_def_NVLINK_ACTIVE) { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_no_hp_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_no_hp_scom.C index 8a5de1c2f..d368c5b07 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_no_hp_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_no_hp_scom.C @@ -30,14 +30,11 @@ using namespace fapi2; constexpr uint64_t literal_0 = 0; -constexpr uint64_t literal_3 = 3; -constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_1 = 1; -constexpr uint64_t literal_6 = 6; -constexpr uint64_t literal_5 = 5; -constexpr uint64_t literal_4 = 4; constexpr uint64_t literal_0x0 = 0x0; +constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_0x3 = 0x3; +constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_0x4 = 0x4; constexpr uint64_t literal_0x6 = 0x6; constexpr uint64_t literal_0x17 = 0x17; @@ -61,6 +58,7 @@ constexpr uint64_t literal_0x3A = 0x3A; constexpr uint64_t literal_0x6D = 0x6D; constexpr uint64_t literal_0x50 = 0x50; constexpr uint64_t literal_0x98 = 0x98; +constexpr uint64_t literal_4 = 4; constexpr uint64_t literal_0xD = 0xD; constexpr uint64_t literal_0xA = 0xA; constexpr uint64_t literal_0x10 = 0x10; @@ -80,19 +78,12 @@ fapi2::ReturnCode p9_fbc_no_hp_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_ 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_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)); - uint64_t l_def_NUM_A_LINKS_CFG = (((l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_0] + - l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_1]) + l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_2]) + - l_TGT0_ATTR_PROC_FABRIC_A_ATTACHED_CHIP_CNFG[literal_3]); - fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG, TGT0, - l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG)); - uint64_t l_def_NUM_X_LINKS_CFG = ((((((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] + - l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1]) + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2]) + - l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_3]) + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_4]) + - l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_5]) + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_6]); + fapi2::ATTR_PROC_FABRIC_A_LINKS_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_A_LINKS_CNFG; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_A_LINKS_CNFG, TGT0, l_TGT0_ATTR_PROC_FABRIC_A_LINKS_CNFG)); + uint64_t l_def_NUM_A_LINKS_CFG = l_TGT0_ATTR_PROC_FABRIC_A_LINKS_CNFG; + fapi2::ATTR_PROC_FABRIC_X_LINKS_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_LINKS_CNFG; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_LINKS_CNFG, TGT0, l_TGT0_ATTR_PROC_FABRIC_X_LINKS_CNFG)); + uint64_t l_def_NUM_X_LINKS_CFG = l_TGT0_ATTR_PROC_FABRIC_X_LINKS_CNFG; fapi2::ATTR_PROC_EPS_TABLE_TYPE_Type l_TGT1_ATTR_PROC_EPS_TABLE_TYPE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_TABLE_TYPE, TGT1, l_TGT1_ATTR_PROC_EPS_TABLE_TYPE)); uint64_t l_def_IS_FLAT_8 = (l_TGT1_ATTR_PROC_EPS_TABLE_TYPE == fapi2::ENUM_ATTR_PROC_EPS_TABLE_TYPE_EPS_TYPE_HE_F8); diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C index 0627a4b48..3200bb358 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C @@ -49,6 +49,7 @@ constexpr uint64_t literal_0x300 = 0x300; constexpr uint64_t literal_0x8 = 0x8; constexpr uint64_t literal_0xFFF = 0xFFF; constexpr uint64_t literal_0xE000000000000000 = 0xE000000000000000; +constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; constexpr uint64_t literal_0x0000740000000000 = 0x0000740000000000; constexpr uint64_t literal_0x7F60B04500AC0000 = 0x7F60B04500AC0000; constexpr uint64_t literal_0xAAA70A55F0000000 = 0xAAA70A55F0000000; @@ -56,7 +57,6 @@ constexpr uint64_t literal_0x5550740000000000 = 0x5550740000000000; constexpr uint64_t literal_0x009A48180F61FFFF = 0x009A48180F61FFFF; constexpr uint64_t literal_0x009A48180F01FFFF = 0x009A48180F01FFFF; constexpr uint64_t literal_0xFFFFFFFFFFFFFFFF = 0xFFFFFFFFFFFFFFFF; -constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; constexpr uint64_t literal_0x7F60B04500AE0000 = 0x7F60B04500AE0000; constexpr uint64_t literal_0x8005000200100000 = 0x8005000200100000; constexpr uint64_t literal_0xFF65B04700FE0000 = 0xFF65B04700FE0000; @@ -2975,6 +2975,10 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { l_scom_buffer.insert<0, 3, 0, uint64_t>(literal_0xE000000000000000 ); } + else if ((l_def_NVLINK_ACTIVE == literal_0)) + { + l_scom_buffer.insert<0, 3, 0, uint64_t>(literal_0x0000000000000000 ); + } FAPI_TRY(fapi2::putScom(TGT0, 0x5011383ull, l_scom_buffer)); } @@ -3863,6 +3867,10 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { l_scom_buffer.insert<0, 7, 0, uint64_t>(literal_0xE000000000000000 ); } + else if ((l_def_NVLINK_ACTIVE == literal_0)) + { + l_scom_buffer.insert<0, 7, 0, uint64_t>(literal_0x0000000000000000 ); + } FAPI_TRY(fapi2::putScom(TGT0, 0x5011683ull, l_scom_buffer)); } |