diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2017-09-14 15:48:22 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-10-02 23:45:07 -0400 |
commit | f21a18e501c28d932ee24f11a7a3ffaa93228735 (patch) | |
tree | 3cf5e4b0c04ddfec9c9be5d43117b06819dac7cf /src | |
parent | 65f1710c305d91219dd75723cef9efa315987035 (diff) | |
download | talos-hostboot-f21a18e501c28d932ee24f11a7a3ffaa93228735.tar.gz talos-hostboot-f21a18e501c28d932ee24f11a7a3ffaa93228735.zip |
updates for NPU errata
p9.chip.gtpr.scan.initfile
add clock gate disable for HW407330
p9.npu.scom.initfile
add workarounds for HW398156, HW364887, HW372457, HW376377, HW398156
Change-Id: I48443e7c8288cfce665dbd8b00518c3e19e7116e
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46237
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-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: RYAN BLACK <rblack@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46242
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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C | 1194 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml | 71 |
2 files changed, 1221 insertions, 44 deletions
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 cc8701c27..acaaa4b68 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 @@ -35,7 +35,11 @@ constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_0x1 = 0x1; +constexpr uint64_t literal_0xF = 0xF; +constexpr uint64_t literal_0b001000 = 0b001000; constexpr uint64_t literal_0b1 = 0b1; +constexpr uint64_t literal_0b01 = 0b01; +constexpr uint64_t literal_0x67 = 0x67; constexpr uint64_t literal_0x04 = 0x04; constexpr uint64_t literal_0x0C = 0x0C; constexpr uint64_t literal_0x4 = 0x4; @@ -49,11 +53,12 @@ constexpr uint64_t literal_0x0000740000000000 = 0x0000740000000000; constexpr uint64_t literal_0x7F60B04500AC0000 = 0x7F60B04500AC0000; constexpr uint64_t literal_0xAAA70A55F0000000 = 0xAAA70A55F0000000; 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_0x8005000200500000 = 0x8005000200500000; +constexpr uint64_t literal_0x8005000200100000 = 0x8005000200100000; constexpr uint64_t literal_0xFF65B04700FE0000 = 0xFF65B04700FE0000; constexpr uint64_t literal_0x5550F40000000003 = 0x5550F40000000003; constexpr uint64_t literal_0x0000F40000000003 = 0x0000F40000000003; @@ -78,6 +83,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& || (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)); + fapi2::ATTR_CHIP_EC_FEATURE_HW372457_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW372457, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457)); + fapi2::ATTR_CHIP_EC_FEATURE_HW410625_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW410625, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625)); + fapi2::ATTR_CHIP_EC_FEATURE_HW364887_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW364887, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887)); fapi2::ATTR_PROC_EPS_READ_CYCLES_T0_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_READ_CYCLES_T0, TGT1, l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0)); fapi2::ATTR_PROC_EPS_READ_CYCLES_T1_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1; @@ -103,7 +114,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -126,6 +142,16 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011000ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011001ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011001ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011002ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -156,6 +182,16 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011002ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011003ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011003ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011008ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -166,6 +202,21 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011008ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011010ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011010ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x501101bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -183,7 +234,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -209,6 +265,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011021ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011021ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011022ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -242,6 +311,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011023ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011023ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011028ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -253,39 +335,87 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011030ull, l_scom_buffer )); + 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)) ) { - FAPI_TRY(fapi2::getScom( TGT0, 0x5011030ull, l_scom_buffer )); - l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); + } + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0x1 ); } + } + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<53, 1, 63, uint64_t>(literal_0x1 ); } + } + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<54, 1, 63, uint64_t>(literal_0x1 ); } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011030ull, l_scom_buffer)); + } + { + 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)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011031ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } - FAPI_TRY(fapi2::putScom(TGT0, 0x5011030ull, l_scom_buffer)); + FAPI_TRY(fapi2::putScom(TGT0, 0x5011031ull, l_scom_buffer)); } } { @@ -326,6 +456,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011033ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011033ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011038ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -346,38 +490,82 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011040ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { - FAPI_TRY(fapi2::getScom( TGT0, 0x5011040ull, l_scom_buffer )); - l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } + } + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0x1 ); } + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<53, 1, 63, uint64_t>(literal_0x1 ); } + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<54, 1, 63, uint64_t>(literal_0x1 ); } + } - FAPI_TRY(fapi2::putScom(TGT0, 0x5011040ull, l_scom_buffer)); + FAPI_TRY(fapi2::putScom(TGT0, 0x5011040ull, l_scom_buffer)); + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011041ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011041ull, l_scom_buffer)); } } { @@ -416,6 +604,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011043ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011043ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011048ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -439,6 +640,24 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011050ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011050ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501105bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -455,7 +674,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -478,6 +702,16 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011060ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011061ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011061ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011062ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -508,6 +742,16 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011062ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011063ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011063ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011068ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -518,6 +762,21 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011068ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011070ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011070ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x501107bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -612,7 +871,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -651,6 +915,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011091ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011091ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011092ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -685,6 +963,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011093ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011093ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011098ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -699,6 +991,25 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x50110a0ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x50110a0ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x50110abull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -787,7 +1098,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -813,6 +1129,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011101ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011101ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011102ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -846,6 +1175,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011103ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011103ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011108ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -859,6 +1201,24 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011110ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011110ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501111bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -877,7 +1237,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -903,6 +1268,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011121ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011121ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011122ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -936,6 +1314,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011123ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011123ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011128ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -949,6 +1340,24 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011130ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011130ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501113bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -967,7 +1376,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -993,6 +1407,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011141ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011141ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011142ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1026,6 +1453,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011143ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011143ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011148ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1039,6 +1479,24 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011150ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011150ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501115bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -1057,7 +1515,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1083,6 +1546,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011161ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011161ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011162ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1116,6 +1592,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011163ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011163ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011168ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1129,6 +1618,24 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011170ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011170ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501117bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -1216,7 +1723,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1229,7 +1741,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1253,6 +1770,28 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011200ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011201ull, l_scom_buffer )); + + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011201ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011202ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1283,6 +1822,28 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011202ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011203ull, l_scom_buffer )); + + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011203ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011208ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1293,6 +1854,38 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011208ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011210ull, l_scom_buffer )); + + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011210ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x501121bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -1310,7 +1903,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1336,6 +1934,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011221ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011221ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011222ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1369,6 +1980,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011223ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011223ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011228ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1380,39 +2004,87 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011230ull, l_scom_buffer )); + 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)) ) { - FAPI_TRY(fapi2::getScom( TGT0, 0x5011230ull, l_scom_buffer )); - l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); + } + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0x1 ); } + } + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<53, 1, 63, uint64_t>(literal_0x1 ); } + } + 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)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<54, 1, 63, uint64_t>(literal_0x1 ); } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011230ull, l_scom_buffer)); + } + { + 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)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011231ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } - FAPI_TRY(fapi2::putScom(TGT0, 0x5011230ull, l_scom_buffer)); + FAPI_TRY(fapi2::putScom(TGT0, 0x5011231ull, l_scom_buffer)); } } { @@ -1453,6 +2125,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011233ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011233ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011238ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1473,38 +2159,82 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011240ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { - FAPI_TRY(fapi2::getScom( TGT0, 0x5011240ull, l_scom_buffer )); - l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } + } + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0x1 ); } + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<53, 1, 63, uint64_t>(literal_0x1 ); } + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<54, 1, 63, uint64_t>(literal_0x1 ); } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011240ull, l_scom_buffer)); + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011241ull, l_scom_buffer )); - FAPI_TRY(fapi2::putScom(TGT0, 0x5011240ull, l_scom_buffer)); + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011241ull, l_scom_buffer)); } } { @@ -1543,6 +2273,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011243ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011243ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011248ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1566,6 +2309,24 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011250ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011250ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501125bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -1585,7 +2346,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1598,7 +2364,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1622,6 +2393,28 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011260ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011261ull, l_scom_buffer )); + + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011261ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011262ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1652,6 +2445,28 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011262ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011263ull, l_scom_buffer )); + + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011263ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011268ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1662,6 +2477,38 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& FAPI_TRY(fapi2::putScom(TGT0, 0x5011268ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011270ull, l_scom_buffer )); + + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011270ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x501127bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -1756,7 +2603,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -1795,6 +2647,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011291ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011291ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011292ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1829,6 +2695,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011293ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011293ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011298ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1843,6 +2723,25 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x50112a0ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x50112a0ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x50112abull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -2038,7 +2937,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -2065,6 +2969,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011401ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011401ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011402ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2096,11 +3014,15 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011403ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { - FAPI_TRY(fapi2::getScom( TGT0, 0x5011403ull, l_scom_buffer )); - - if ((l_def_NVLINK_ACTIVE == literal_1)) + if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_0))) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x009A48180F61FFFF ); + } + else if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_1))) { l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x009A48180F01FFFF ); } @@ -2108,9 +3030,18 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xFFFFFFFFFFFFFFFF ); } + } - FAPI_TRY(fapi2::putScom(TGT0, 0x5011403ull, l_scom_buffer)); + 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)) ) + { + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011403ull, l_scom_buffer)); } { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) @@ -2136,7 +3067,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_0))) { - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x8005000200500000 ); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x8005000200100000 ); } else if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_1))) { @@ -2164,6 +3095,25 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011410ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011410ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501141bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -2183,7 +3133,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -2210,6 +3165,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011431ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011431ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011432ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2244,6 +3213,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011433ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011433ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011438ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2255,6 +3238,25 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + 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)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011440ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011440ull, l_scom_buffer)); + } + } + { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { FAPI_TRY(fapi2::getScom( TGT0, 0x5011443ull, l_scom_buffer )); @@ -2332,7 +3334,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -2359,6 +3366,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011461ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011461ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011462ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2393,6 +3414,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011463ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011463ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011468ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2407,6 +3442,25 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011470ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011470ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x501147bull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -2426,7 +3480,12 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0x1 ); } - if (literal_1) + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW410625 != literal_0)) { l_scom_buffer.insert<6, 1, 63, uint64_t>(literal_0x1 ); } @@ -2453,6 +3512,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011491ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW364887 != literal_0)) + { + l_scom_buffer.insert<12, 4, 60, uint64_t>(literal_0xF ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011491ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011492ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2487,6 +3560,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011493ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<26, 6, 58, uint64_t>(literal_0b001000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011493ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011498ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2501,6 +3588,25 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x50114a0ull, l_scom_buffer )); + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<4, 2, 62, uint64_t>(literal_0b01 ); + } + + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW372457 != literal_0)) + { + l_scom_buffer.insert<8, 8, 56, uint64_t>(literal_0x67 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x50114a0ull, l_scom_buffer)); + } + } + { + 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)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x50114abull, l_scom_buffer )); l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); @@ -2696,7 +3802,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5013c03ull, l_scom_buffer )); - if ((l_def_NVLINK_ACTIVE == literal_1)) + if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_0))) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x009A48180F61FFFF ); + } + else if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_1))) { l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x009A48180F01FFFF ); } @@ -2734,7 +3844,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_0))) { - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x8005000200500000 ); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x8005000200100000 ); } else if (((l_def_NVLINK_ACTIVE == literal_1) && (l_def_ENABLE_NPU_FREEZE == literal_1))) { diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml index e56ed7123..9b9ebae71 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml @@ -5286,6 +5286,73 @@ </chip> </chipEcFeature> </attribute> - <!-- ********************************************************************* --> - + <!-- ******************************************************************** --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW410625</id>> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Nimbus DD1/DD2: NPU issues bkill instead of bkill_inc - misses shared copy in multi-group config. + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x21</value> + <test>LESS_THAN</test> + </ec> + </chip> + </chipEcFeature> + </attribute> + <!-- ******************************************************************** --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW407330</id>> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Nimbus DD1/DD2: State Latches for Atomic CAS during ntl fence don't get reset. + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x21</value> + <test>LESS_THAN</test> + </ec> + </chip> + </chipEcFeature> + </attribute> + <!-- ******************************************************************** --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW364887</id>> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Nimbus DD1: Data before Rcmd causes state machine to get stuck in wait-for-data state. + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x10</value> + <test>EQUAL</test> + </ec> + </chip> + </chipEcFeature> + </attribute> + <!-- ******************************************************************** --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW372457</id>> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Nimbus DD1: Probe Blocked Forever + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x10</value> + <test>EQUAL</test> + </ec> + </chip> + </chipEcFeature> + </attribute> + <!-- ******************************************************************** --> </attributes> |