summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/initfiles
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2017-07-29 13:15:12 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-11-10 09:40:49 -0500
commitf10a3f6c090282073efdd40c3540acf7d924b54c (patch)
tree9bd86b9391c72a674f9c45bdfa957892a23a74e6 /src/import/chips/p9/procedures/hwp/initfiles
parenta06edcedafcfa25710e81208a483a3ee694c19a7 (diff)
downloadtalos-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')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ab_hp_scom.C131
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_cd_hp_scom.C22
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_dl_scom.C16
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioe_tl_scom.C36
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_dl_scom.C69
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_ioo_tl_scom.C91
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_fbc_no_hp_scom.C27
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C10
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));
}
OpenPOWER on IntegriCloud