From cd792cd0c501650313405c802a3f76ae8fd2c5e9 Mon Sep 17 00:00:00 2001 From: Jeremy Neaton Date: Thu, 24 Aug 2017 16:46:23 -0500 Subject: [PATCH] eff_config updates for 2R and TSV DIMMs Change-Id: I2c9824cc9108a1cebb6b424f081c988050f39b8b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45139 Tested-by: FSP CI Jenkins Dev-Ready: LUCAS W. MULKEY Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: LUCAS W. MULKEY Reviewed-by: JACOB L. HARVEY Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45156 Tested-by: Jenkins OP Build CI Reviewed-by: Daniel M. Crowell --- .../hwp/initfiles/centaur_mba_scom.C | 3103 ++++------------- .../hwp/memory/p9c_mss_eff_config.C | 144 +- .../hwp/memory/p9c_mss_eff_config.H | 2 +- .../memory/p9c_mss_eff_config_rank_group.C | 29 +- .../procedures/hwp/memory/p9c_mss_freq.C | 7 + 5 files changed, 836 insertions(+), 2449 deletions(-) diff --git a/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mba_scom.C b/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mba_scom.C index 52cd2d961b5..f2cd0b467c9 100644 --- a/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mba_scom.C +++ b/src/import/chips/centaur/procedures/hwp/initfiles/centaur_mba_scom.C @@ -29,29 +29,30 @@ using namespace fapi2; -constexpr uint64_t literal_1 = 1; -constexpr uint64_t literal_0b000101 = 0b000101; -constexpr uint64_t literal_0b000011 = 0b000011; -constexpr uint64_t literal_0b000000 = 0b000000; +constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_3 = 3; -constexpr uint64_t literal_5 = 5; constexpr uint64_t literal_6 = 6; -constexpr uint64_t literal_2 = 2; +constexpr uint64_t literal_1 = 1; +constexpr uint64_t literal_0b000000 = 0b000000; +constexpr uint64_t literal_0b000101 = 0b000101; +constexpr uint64_t literal_0b011000 = 0b011000; +constexpr uint64_t literal_11 = 11; +constexpr uint64_t literal_12 = 12; +constexpr uint64_t literal_13 = 13; +constexpr uint64_t literal_1600 = 1600; +constexpr uint64_t literal_7 = 7; +constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_8 = 8; +constexpr uint64_t literal_0x0F = 0x0F; +constexpr uint64_t literal_0x07 = 0x07; constexpr uint64_t literal_1333 = 1333; -constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_1066 = 1066; -constexpr uint64_t literal_7 = 7; constexpr uint64_t literal_4 = 4; constexpr uint64_t literal_0b001110 = 0b001110; constexpr uint64_t literal_9 = 9; -constexpr uint64_t literal_1600 = 1600; -constexpr uint64_t literal_11 = 11; constexpr uint64_t literal_1866 = 1866; -constexpr uint64_t literal_12 = 12; constexpr uint64_t literal_0b010100 = 0b010100; constexpr uint64_t literal_1400 = 1400; -constexpr uint64_t literal_13 = 13; constexpr uint64_t literal_0b011001 = 0b011001; constexpr uint64_t literal_0b001111 = 0b001111; constexpr uint64_t literal_0b011100 = 0b011100; @@ -61,7 +62,6 @@ constexpr uint64_t literal_0b010000 = 0b010000; constexpr uint64_t literal_0b011101 = 0b011101; constexpr uint64_t literal_0b011010 = 0b011010; constexpr uint64_t literal_0b010010 = 0b010010; -constexpr uint64_t literal_0b011000 = 0b011000; constexpr uint64_t literal_0b010111 = 0b010111; constexpr uint64_t literal_0b010110 = 0b010110; constexpr uint64_t literal_0b010001 = 0b010001; @@ -69,30 +69,30 @@ constexpr uint64_t literal_0b001100 = 0b001100; constexpr uint64_t literal_0b010101 = 0b010101; constexpr uint64_t literal_0b010011 = 0b010011; constexpr uint64_t literal_0b011011 = 0b011011; -constexpr uint64_t literal_0x0F = 0x0F; -constexpr uint64_t literal_0x07 = 0x07; +constexpr uint64_t literal_5 = 5; +constexpr uint64_t literal_0b000011 = 0b000011; constexpr uint64_t literal_0b0 = 0b0; constexpr uint64_t literal_0b00 = 0b00; constexpr uint64_t literal_0b00000 = 0b00000; -constexpr uint64_t literal_2400 = 2400; -constexpr uint64_t literal_0b1001 = 0b1001; -constexpr uint64_t literal_0b0111 = 0b0111; -constexpr uint64_t literal_2133 = 2133; -constexpr uint64_t literal_0b1000 = 0b1000; constexpr uint64_t literal_0b0100 = 0b0100; constexpr uint64_t literal_0b0101 = 0b0101; -constexpr uint64_t literal_0b011110 = 0b011110; -constexpr uint64_t literal_0b100001 = 0b100001; -constexpr uint64_t literal_0b100000 = 0b100000; -constexpr uint64_t literal_0b011111 = 0b011111; constexpr uint64_t literal_0b1011 = 0b1011; +constexpr uint64_t literal_0b1000 = 0b1000; +constexpr uint64_t literal_0b0111 = 0b0111; constexpr uint64_t literal_0b1111 = 0b1111; constexpr uint64_t literal_0b1010 = 0b1010; constexpr uint64_t literal_0b1101 = 0b1101; constexpr uint64_t literal_0b1110 = 0b1110; constexpr uint64_t literal_0b0000 = 0b0000; +constexpr uint64_t literal_0b1001 = 0b1001; constexpr uint64_t literal_0b1100 = 0b1100; +constexpr uint64_t literal_0b011110 = 0b011110; +constexpr uint64_t literal_0b100001 = 0b100001; +constexpr uint64_t literal_0b100000 = 0b100000; +constexpr uint64_t literal_0b011111 = 0b011111; constexpr uint64_t literal_0b0110 = 0b0110; +constexpr uint64_t literal_2400 = 2400; +constexpr uint64_t literal_2133 = 2133; constexpr uint64_t literal_0b0101011 = 0b0101011; constexpr uint64_t literal_0b0011011 = 0b0011011; constexpr uint64_t literal_0b0011010 = 0b0011010; @@ -136,14 +136,14 @@ constexpr uint64_t literal_0b000000001 = 0b000000001; constexpr uint64_t literal_0b0011 = 0b0011; constexpr uint64_t literal_0b000000000000000000000000 = 0b000000000000000000000000; constexpr uint64_t literal_0b11111111 = 0b11111111; -constexpr uint64_t literal_21 = 21; +constexpr uint64_t literal_17 = 17; +constexpr uint64_t literal_15 = 15; constexpr uint64_t literal_23 = 23; +constexpr uint64_t literal_22 = 22; +constexpr uint64_t literal_21 = 21; constexpr uint64_t literal_0b111100 = 0b111100; constexpr uint64_t literal_0b110100 = 0b110100; constexpr uint64_t literal_0b111000 = 0b111000; -constexpr uint64_t literal_15 = 15; -constexpr uint64_t literal_22 = 22; -constexpr uint64_t literal_17 = 17; constexpr uint64_t literal_0b101110 = 0b101110; constexpr uint64_t literal_0b101000 = 0b101000; constexpr uint64_t literal_0b110110 = 0b110110; @@ -244,13 +244,12 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT1, l_chip_ec)); fapi2::ATTR_CEN_EFF_DIMM_TYPE_Type l_TGT0_ATTR_CEN_EFF_DIMM_TYPE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DIMM_TYPE, TGT0, l_TGT0_ATTR_CEN_EFF_DIMM_TYPE)); - uint64_t l_def_RDODT_duration = literal_5; fapi2::ATTR_CEN_EFF_DRAM_CWL_Type l_TGT0_ATTR_CEN_EFF_DRAM_CWL; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_CWL, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_CWL)); fapi2::ATTR_CEN_EFF_DRAM_CL_Type l_TGT0_ATTR_CEN_EFF_DRAM_CL; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_CL, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_CL)); - uint64_t l_def_RDODT_start_lrdimm = ((l_TGT0_ATTR_CEN_EFF_DRAM_CL - l_TGT0_ATTR_CEN_EFF_DRAM_CWL) + literal_6); uint64_t l_def_RDODT_start_udimm = (l_TGT0_ATTR_CEN_EFF_DRAM_CL - l_TGT0_ATTR_CEN_EFF_DRAM_CWL); + uint64_t l_def_RDODT_start_lrdimm = ((l_TGT0_ATTR_CEN_EFF_DRAM_CL - l_TGT0_ATTR_CEN_EFF_DRAM_CWL) + literal_6); uint64_t l_def_RDODT_start_rdimm = (l_TGT0_ATTR_CEN_EFF_DRAM_CL - l_TGT0_ATTR_CEN_EFF_DRAM_CWL); fapi2::ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED_Type l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED, TGT0, l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED)); @@ -262,6 +261,19 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_MSS_FREQ, TGT1, l_TGT1_ATTR_CEN_MSS_FREQ)); fapi2::ATTR_CEN_EFF_DRAM_GEN_Type l_TGT0_ATTR_CEN_EFF_DRAM_GEN; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_GEN, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_GEN)); + uint64_t l_def_ddr4_1600_13_12_11_2N = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) + && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_13)) + && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_12)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_11)) + && (l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)); + uint64_t l_def_WL_AL_MINUS2 = (((l_TGT0_ATTR_CEN_EFF_DRAM_CWL + l_TGT0_ATTR_CEN_EFF_DRAM_CL) - literal_2) - literal_7); + fapi2::ATTR_CEN_EFF_DRAM_AL_Type l_TGT0_ATTR_CEN_EFF_DRAM_AL; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_AL, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_AL)); + uint64_t l_def_WL_AL_MINUS1 = (((l_TGT0_ATTR_CEN_EFF_DRAM_CWL + l_TGT0_ATTR_CEN_EFF_DRAM_CL) - literal_1) - literal_7); + uint64_t l_def_WL_AL0 = (l_TGT0_ATTR_CEN_EFF_DRAM_CWL - literal_7); + fapi2::ATTR_CEN_VPD_WLO_Type l_TGT0_ATTR_CEN_VPD_WLO; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_VPD_WLO, TGT0, l_TGT0_ATTR_CEN_VPD_WLO)); + uint64_t l_def_WLO = ((l_TGT0_ATTR_CEN_VPD_WLO[literal_0] & literal_0x07) - (((l_TGT0_ATTR_CEN_VPD_WLO[literal_0] & + literal_0x0F) >> literal_3) * literal_8)); uint64_t l_def_ddr3_1333_8_8_8_2N = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_1) && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1333)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_8)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_8)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_8)) @@ -337,13 +349,9 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1866)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_13)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_13)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_13)) && (l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)); - uint64_t l_def_ddr4_1600_13_12_11R = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) - && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_13)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_12)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_11)) - && (l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)); - uint64_t l_def_mba_dsm0q_cfg_rdtag_dly25 = (((((((l_def_ddr4_1600_13_12_11R || l_def_ddr4_1866_13_13_13R) - || l_def_ddr4_1600_12_12_12_L2) || l_def_ddr3_1866_12_12_12_L2) || l_def_ddr4_2400_14_14_14) - || l_def_ddr4_2133_13_13_13R) || l_def_ddr4_1866_12_12_12_L2) || l_def_ddr4_2133_12_12_12_L2); + uint64_t l_def_mba_dsm0q_cfg_rdtag_dly25 = ((((((l_def_ddr4_1866_13_13_13R || l_def_ddr4_1600_12_12_12_L2) + || l_def_ddr3_1866_12_12_12_L2) || l_def_ddr4_2400_14_14_14) || l_def_ddr4_2133_13_13_13R) + || l_def_ddr4_1866_12_12_12_L2) || l_def_ddr4_2133_12_12_12_L2); uint64_t l_def_ddr4_1600_9_9_9_2N = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_9)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_9)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_9)) @@ -495,9 +503,14 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_13)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_13)) && (((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) || ((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_1) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)))); - uint64_t l_def_mba_dsm0q_cfg_rdtag_dly24 = (((((((l_def_ddr4_1866_13_13_13 || l_def_ddr3_1600_11_11_11_LR) - || l_def_ddr3_1866_11_11_11_LR) || l_def_ddr4_2133_13_13_13) || l_def_ddr4_2400_14_14_14_2N) - || l_def_ddr4_2400_13_13_13R) || l_def_ddr4_1600_11_11_11_LR) || l_def_ddr4_1866_11_11_11_LR); + uint64_t l_def_ddr4_1600_13_12_11R = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) + && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_13)) + && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_12)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_11)) + && (l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)); + uint64_t l_def_mba_dsm0q_cfg_rdtag_dly24 = ((((((((l_def_ddr4_1600_13_12_11R || l_def_ddr4_1866_13_13_13) + || l_def_ddr3_1600_11_11_11_LR) || l_def_ddr3_1866_11_11_11_LR) || l_def_ddr4_2133_13_13_13) + || l_def_ddr4_2400_14_14_14_2N) || l_def_ddr4_2400_13_13_13R) || l_def_ddr4_1600_11_11_11_LR) + || l_def_ddr4_1866_11_11_11_LR); uint64_t l_def_ddr4_1866_11_11_11_L2 = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1866)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_11)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_11)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_11)) @@ -536,8 +549,7 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& uint64_t l_def_ddr4_1600_13_12_11 = ((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_13)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_12)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_11)) - && (((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) - || ((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_1) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)))); + && ((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2))); uint64_t l_def_mba_dsm0q_cfg_rdtag_dly23 = (((((((((((l_def_ddr4_1600_13_12_11 || l_def_ddr4_1866_13_13_13_2N) || l_def_ddr4_1600_12_12_12R) || l_def_ddr3_1866_12_12_12R) || l_def_ddr3_1600_11_11_11_L2) || l_def_ddr3_1866_11_11_11_L2) || l_def_ddr4_2400_13_13_13) || l_def_ddr4_2133_13_13_13_2N) @@ -571,10 +583,6 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_12)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_12)) && (((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_0) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) || ((l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_1) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)))); - uint64_t l_def_ddr4_1600_13_12_11_2N = (((((((l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2) - && (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600)) && (l_TGT0_ATTR_CEN_EFF_DRAM_CL == literal_13)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_TRCD == literal_12)) && (l_TGT0_ATTR_CEN_EFF_DRAM_TRP == literal_11)) - && (l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)); uint64_t l_def_mba_dsm0q_cfg_rdtag_dly22 = ((((((((l_def_ddr4_1600_13_12_11_2N || l_def_ddr4_1600_12_12_12) || l_def_ddr3_1866_12_12_12) || l_def_ddr3_1600_10_10_10_LR) || l_def_ddr4_1866_12_12_12) || l_def_ddr4_2133_12_12_12) || l_def_ddr4_2400_13_13_13_2N) || l_def_ddr4_1600_10_10_10_LR) || l_def_ddr4_1600_11_11_11R); @@ -697,22 +705,53 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT0_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); uint64_t l_def_mba_dsm0q_cfg_rdtag_dly27 = (((l_def_ddr4_1600_13_12_11_L2 || l_def_ddr4_1866_13_13_13_L2) || l_def_ddr4_2400_13_13_13_LR) || l_def_ddr4_2133_13_13_13_L2); - uint64_t l_def_WL_AL_MINUS2 = (((l_TGT0_ATTR_CEN_EFF_DRAM_CWL + l_TGT0_ATTR_CEN_EFF_DRAM_CL) - literal_2) - literal_7); - fapi2::ATTR_CEN_EFF_DRAM_AL_Type l_TGT0_ATTR_CEN_EFF_DRAM_AL; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_AL, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_AL)); - uint64_t l_def_WL_AL_MINUS1 = (((l_TGT0_ATTR_CEN_EFF_DRAM_CWL + l_TGT0_ATTR_CEN_EFF_DRAM_CL) - literal_1) - literal_7); - uint64_t l_def_WL_AL0 = (l_TGT0_ATTR_CEN_EFF_DRAM_CWL - literal_7); - fapi2::ATTR_CEN_VPD_WLO_Type l_TGT0_ATTR_CEN_VPD_WLO; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_VPD_WLO, TGT0, l_TGT0_ATTR_CEN_VPD_WLO)); - uint64_t l_def_WLO = ((l_TGT0_ATTR_CEN_VPD_WLO[literal_0] & literal_0x07) - (((l_TGT0_ATTR_CEN_VPD_WLO[literal_0] & - literal_0x0F) >> literal_3) * literal_8)); + uint64_t l_def_RDODT_duration = literal_5; uint64_t l_def_margin2 = literal_0; - fapi2::ATTR_CEN_EFF_DRAM_TRRD_Type l_TGT0_ATTR_CEN_EFF_DRAM_TRRD; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_TRRD, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_TRRD)); fapi2::ATTR_CEN_EFF_STACK_TYPE_Type l_TGT0_ATTR_CEN_EFF_STACK_TYPE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_STACK_TYPE, TGT0, l_TGT0_ATTR_CEN_EFF_STACK_TYPE)); fapi2::ATTR_CHIP_UNIT_POS_Type l_TGT0_ATTR_CHIP_UNIT_POS; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, TGT0, l_TGT0_ATTR_CHIP_UNIT_POS)); + uint64_t l_def_mba_tmr0q_RW_dlys11 = ((((((((((((((l_def_ddr4_1600_13_12_11 || l_def_ddr4_1600_13_12_11R) + || l_def_ddr4_1866_13_13_13) || l_def_ddr4_1866_13_13_13_2N) || l_def_ddr4_1866_13_13_13R) || l_def_ddr3_1066_6_6_6_L2) + || l_def_ddr3_1066_6_6_6_LR) || l_def_ddr3_1866_12_12_12) || l_def_ddr3_1866_12_12_12_2N) || l_def_ddr3_1866_12_12_12R) + || l_def_ddr4_2400_14_14_14) || l_def_ddr4_2400_14_14_14_2N) || l_def_ddr4_2400_14_14_14R) || l_def_ddr4_1600_9_9_9_LR) + || l_def_ddr4_1600_9_9_9_L2); + uint64_t l_def_margin1 = literal_1; + uint64_t l_def_mba_tmr0q_RW_dlys8 = (((((((((((l_def_ddr3_1066_7_7_7 || l_def_ddr3_1066_7_7_7_2N) + || l_def_ddr3_1066_7_7_7R) || l_def_ddr3_1333_8_8_8) || l_def_ddr3_1600_9_9_9) || l_def_ddr3_1333_8_8_8_2N) + || l_def_ddr3_1600_9_9_9_2N) || l_def_ddr3_1333_8_8_8R) || l_def_ddr3_1600_9_9_9R) || l_def_ddr4_1600_10_10_10) + || l_def_ddr4_1600_10_10_10_2N) || l_def_ddr4_1600_10_10_10R); + uint64_t l_def_mba_tmr0q_RW_dlys7 = (((((l_def_ddr3_1066_6_6_6 || l_def_ddr3_1066_6_6_6_2N) || l_def_ddr3_1066_6_6_6R) + || l_def_ddr4_1600_9_9_9) || l_def_ddr4_1600_9_9_9_2N) || l_def_ddr4_1600_9_9_9R); + uint64_t l_def_mba_tmr0q_RW_dlys15 = (((((l_def_ddr4_1600_13_12_11_LR || l_def_ddr4_1600_13_12_11_L2) + || l_def_ddr4_1866_13_13_13_LR) || l_def_ddr4_1866_13_13_13_L2) || l_def_ddr4_2400_14_14_14_LR) + || l_def_ddr4_2400_14_14_14_L2); + uint64_t l_def_mba_tmr0q_RW_dlys10 = (((((((((((((((((l_def_ddr4_1600_12_12_12 || l_def_ddr4_1600_12_12_12_2N) + || l_def_ddr4_1600_12_12_12R) || l_def_ddr4_2133_13_13_13R) || l_def_ddr4_2133_13_13_13_2N) + || l_def_ddr4_2133_13_13_13) || l_def_ddr3_1600_11_11_11) || l_def_ddr3_1866_11_11_11) || l_def_ddr3_1600_11_11_11_2N) + || l_def_ddr3_1866_11_11_11_2N) || l_def_ddr3_1600_11_11_11R) || l_def_ddr3_1866_11_11_11R) + || l_def_ddr4_1866_12_12_12) || l_def_ddr4_2400_13_13_13) || l_def_ddr4_1866_12_12_12_2N) + || l_def_ddr4_2400_13_13_13_2N) || l_def_ddr4_1866_12_12_12R) || l_def_ddr4_2400_13_13_13R); + uint64_t l_def_mba_tmr0q_RW_dlys13 = ((((((((((l_def_ddr3_1066_8_8_8_L2 || l_def_ddr3_1066_8_8_8_LR) + || l_def_ddr3_1333_9_9_9_L2) || l_def_ddr3_1600_10_10_10_L2) || l_def_ddr3_1866_11_11_11_L2) + || l_def_ddr4_1600_11_11_11_LR) || l_def_ddr4_1866_11_11_11_LR) || l_def_ddr4_2133_12_12_12_LR) + || l_def_ddr4_1600_11_11_11_L2) || l_def_ddr4_1866_11_11_11_L2) || l_def_ddr4_2133_12_12_12_L2); + uint64_t l_def_mba_tmr0q_RW_dlys14 = ((((((((((((((l_def_ddr4_1600_12_12_12_LR || l_def_ddr4_1600_12_12_12_L2) + || l_def_ddr4_2133_13_13_13_L2) || l_def_ddr4_2133_13_13_13_LR) || l_def_ddr3_1600_11_11_11_LR) + || l_def_ddr3_1866_12_12_12_LR) || l_def_ddr3_1600_11_11_11_L2) || l_def_ddr3_1866_12_12_12_L2) + || l_def_ddr4_1866_12_12_12_LR) || l_def_ddr4_2400_13_13_13_LR) || l_def_ddr4_1866_12_12_12_L2) + || l_def_ddr4_2400_13_13_13_L2) || l_def_ddr3_1333_9_9_9_LR) || l_def_ddr3_1600_10_10_10_LR) + || l_def_ddr3_1866_11_11_11_LR); + uint64_t l_def_mba_tmr0q_RW_dlys16 = (l_def_ddr4_1600_13_12_11_LR || l_def_ddr4_1600_13_12_11_L2); + uint64_t l_def_mba_tmr0q_RW_dlys9 = (((((((((((((((((l_def_ddr3_1066_8_8_8 || l_def_ddr3_1066_8_8_8_2N) + || l_def_ddr3_1066_8_8_8R) || l_def_ddr3_1333_9_9_9) || l_def_ddr3_1600_10_10_10) || l_def_ddr3_1333_9_9_9_2N) + || l_def_ddr3_1600_10_10_10_2N) || l_def_ddr3_1333_9_9_9R) || l_def_ddr3_1600_10_10_10R) || l_def_ddr4_1600_11_11_11) + || l_def_ddr4_1866_11_11_11) || l_def_ddr4_2133_12_12_12) || l_def_ddr4_1600_11_11_11_2N) + || l_def_ddr4_1866_11_11_11_2N) || l_def_ddr4_2133_12_12_12_2N) || l_def_ddr4_1600_11_11_11R) + || l_def_ddr4_1866_11_11_11R) || l_def_ddr4_2133_12_12_12R); + uint64_t l_def_mba_tmr0q_RW_dlys12 = ((((((((l_def_ddr4_1600_13_12_11_2N || l_def_ddr3_1066_7_7_7_L2) + || l_def_ddr3_1066_7_7_7_LR) || l_def_ddr3_1333_8_8_8_LR) || l_def_ddr3_1600_9_9_9_LR) || l_def_ddr3_1333_8_8_8_L2) + || l_def_ddr3_1600_9_9_9_L2) || l_def_ddr4_1600_10_10_10_LR) || l_def_ddr4_1600_10_10_10_L2); uint64_t l_def_mba_tmr0q_WRSM_dlys23 = ((((l_def_ddr3_1333_8_8_8 || l_def_ddr3_1333_8_8_8_2N) || l_def_ddr3_1333_8_8_8R) || l_def_ddr3_1333_8_8_8_LR) || l_def_ddr3_1333_8_8_8_L2); uint64_t l_def_ddr3_1066_8_8_8_group = ((((l_def_ddr3_1066_8_8_8 || l_def_ddr3_1066_8_8_8_2N) @@ -732,9 +771,9 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_ddr4_2400_14_14_14R) || l_def_ddr4_2400_14_14_14_LR) || l_def_ddr4_2400_14_14_14_L2); uint64_t l_def_mba_tmr0q_WRSM_dlys27 = ((((l_def_ddr3_1600_10_10_10 || l_def_ddr3_1600_10_10_10_2N) || l_def_ddr3_1600_10_10_10R) || l_def_ddr3_1600_10_10_10_LR) || l_def_ddr3_1600_10_10_10_L2); - uint64_t l_def_mba_tmr0q_WRSM_dlys15 = ((((((l_def_ddr4_1600_11_11_11 || l_def_ddr4_1600_11_11_11_2N) + uint64_t l_def_mba_tmr0q_WRSM_dlys15 = (((((((l_def_ddr4_1600_11_11_11 || l_def_ddr4_1600_11_11_11_2N) || l_def_ddr4_1600_11_11_11R) || l_def_ddr4_1600_11_11_11_LR) || l_def_ddr4_1600_11_11_11_L2) - || l_def_ddr4_1600_13_12_11) || l_def_ddr4_1600_13_12_11_2N); + || l_def_ddr4_1600_13_12_11) || l_def_ddr4_1600_13_12_11_2N) || l_def_ddr4_1600_13_12_11R); uint64_t l_def_mba_tmr0q_WRSM_dlys32 = ((((((((((((((l_def_ddr4_1866_13_13_13 || l_def_ddr4_1866_13_13_13_2N) || l_def_ddr4_1866_13_13_13R) || l_def_ddr4_1866_13_13_13_LR) || l_def_ddr4_1866_13_13_13_L2) || l_def_ddr3_1866_12_12_12) || l_def_ddr3_1866_12_12_12_2N) || l_def_ddr3_1866_12_12_12R) @@ -759,47 +798,6 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_ddr4_1600_10_10_10_L2); uint64_t l_def_mba_tmr0q_WRSM_dlys24 = ((((l_def_ddr3_1333_9_9_9 || l_def_ddr3_1333_9_9_9_2N) || l_def_ddr3_1333_9_9_9R) || l_def_ddr3_1333_9_9_9_LR) || l_def_ddr3_1333_9_9_9_L2); - uint64_t l_def_mba_tmr0q_RW_dlys11 = (((((((((((((l_def_ddr4_1600_13_12_11 || l_def_ddr4_1866_13_13_13) - || l_def_ddr4_1866_13_13_13_2N) || l_def_ddr4_1866_13_13_13R) || l_def_ddr3_1066_6_6_6_L2) || l_def_ddr3_1066_6_6_6_LR) - || l_def_ddr3_1866_12_12_12) || l_def_ddr3_1866_12_12_12_2N) || l_def_ddr3_1866_12_12_12R) || l_def_ddr4_2400_14_14_14) - || l_def_ddr4_2400_14_14_14_2N) || l_def_ddr4_2400_14_14_14R) || l_def_ddr4_1600_9_9_9_LR) || l_def_ddr4_1600_9_9_9_L2); - uint64_t l_def_margin1 = literal_1; - uint64_t l_def_mba_tmr0q_RW_dlys8 = (((((((((((l_def_ddr3_1066_7_7_7 || l_def_ddr3_1066_7_7_7_2N) - || l_def_ddr3_1066_7_7_7R) || l_def_ddr3_1333_8_8_8) || l_def_ddr3_1600_9_9_9) || l_def_ddr3_1333_8_8_8_2N) - || l_def_ddr3_1600_9_9_9_2N) || l_def_ddr3_1333_8_8_8R) || l_def_ddr3_1600_9_9_9R) || l_def_ddr4_1600_10_10_10) - || l_def_ddr4_1600_10_10_10_2N) || l_def_ddr4_1600_10_10_10R); - uint64_t l_def_mba_tmr0q_RW_dlys7 = (((((l_def_ddr3_1066_6_6_6 || l_def_ddr3_1066_6_6_6_2N) || l_def_ddr3_1066_6_6_6R) - || l_def_ddr4_1600_9_9_9) || l_def_ddr4_1600_9_9_9_2N) || l_def_ddr4_1600_9_9_9R); - uint64_t l_def_mba_tmr0q_RW_dlys15 = (((((l_def_ddr4_1600_13_12_11_LR || l_def_ddr4_1600_13_12_11_L2) - || l_def_ddr4_1866_13_13_13_LR) || l_def_ddr4_1866_13_13_13_L2) || l_def_ddr4_2400_14_14_14_LR) - || l_def_ddr4_2400_14_14_14_L2); - uint64_t l_def_mba_tmr0q_RW_dlys10 = (((((((((((((((((l_def_ddr4_1600_12_12_12 || l_def_ddr4_1600_12_12_12_2N) - || l_def_ddr4_1600_12_12_12R) || l_def_ddr4_2133_13_13_13R) || l_def_ddr4_2133_13_13_13_2N) - || l_def_ddr4_2133_13_13_13) || l_def_ddr3_1600_11_11_11) || l_def_ddr3_1866_11_11_11) || l_def_ddr3_1600_11_11_11_2N) - || l_def_ddr3_1866_11_11_11_2N) || l_def_ddr3_1600_11_11_11R) || l_def_ddr3_1866_11_11_11R) - || l_def_ddr4_1866_12_12_12) || l_def_ddr4_2400_13_13_13) || l_def_ddr4_1866_12_12_12_2N) - || l_def_ddr4_2400_13_13_13_2N) || l_def_ddr4_1866_12_12_12R) || l_def_ddr4_2400_13_13_13R); - uint64_t l_def_mba_tmr0q_RW_dlys13 = ((((((((((l_def_ddr3_1066_8_8_8_L2 || l_def_ddr3_1066_8_8_8_LR) - || l_def_ddr3_1333_9_9_9_L2) || l_def_ddr3_1600_10_10_10_L2) || l_def_ddr3_1866_11_11_11_L2) - || l_def_ddr4_1600_11_11_11_LR) || l_def_ddr4_1866_11_11_11_LR) || l_def_ddr4_2133_12_12_12_LR) - || l_def_ddr4_1600_11_11_11_L2) || l_def_ddr4_1866_11_11_11_L2) || l_def_ddr4_2133_12_12_12_L2); - uint64_t l_def_mba_tmr0q_RW_dlys14 = ((((((((((((((l_def_ddr4_1600_12_12_12_LR || l_def_ddr4_1600_12_12_12_L2) - || l_def_ddr4_2133_13_13_13_L2) || l_def_ddr4_2133_13_13_13_LR) || l_def_ddr3_1600_11_11_11_LR) - || l_def_ddr3_1866_12_12_12_LR) || l_def_ddr3_1600_11_11_11_L2) || l_def_ddr3_1866_12_12_12_L2) - || l_def_ddr4_1866_12_12_12_LR) || l_def_ddr4_2400_13_13_13_LR) || l_def_ddr4_1866_12_12_12_L2) - || l_def_ddr4_2400_13_13_13_L2) || l_def_ddr3_1333_9_9_9_LR) || l_def_ddr3_1600_10_10_10_LR) - || l_def_ddr3_1866_11_11_11_LR); - uint64_t l_def_mba_tmr0q_RW_dlys16 = (l_def_ddr4_1600_13_12_11_LR || l_def_ddr4_1600_13_12_11_L2); - uint64_t l_def_mba_tmr0q_RW_dlys9 = (((((((((((((((((l_def_ddr3_1066_8_8_8 || l_def_ddr3_1066_8_8_8_2N) - || l_def_ddr3_1066_8_8_8R) || l_def_ddr3_1333_9_9_9) || l_def_ddr3_1600_10_10_10) || l_def_ddr3_1333_9_9_9_2N) - || l_def_ddr3_1600_10_10_10_2N) || l_def_ddr3_1333_9_9_9R) || l_def_ddr3_1600_10_10_10R) || l_def_ddr4_1600_11_11_11) - || l_def_ddr4_1866_11_11_11) || l_def_ddr4_2133_12_12_12) || l_def_ddr4_1600_11_11_11_2N) - || l_def_ddr4_1866_11_11_11_2N) || l_def_ddr4_2133_12_12_12_2N) || l_def_ddr4_1600_11_11_11R) - || l_def_ddr4_1866_11_11_11R) || l_def_ddr4_2133_12_12_12R); - uint64_t l_def_mba_tmr0q_RW_dlys12 = (((((((((l_def_ddr4_1600_13_12_11_2N || l_def_ddr4_1600_13_12_11R) - || l_def_ddr3_1066_7_7_7_L2) || l_def_ddr3_1066_7_7_7_LR) || l_def_ddr3_1333_8_8_8_LR) || l_def_ddr3_1600_9_9_9_LR) - || l_def_ddr3_1333_8_8_8_L2) || l_def_ddr3_1600_9_9_9_L2) || l_def_ddr4_1600_10_10_10_LR) - || l_def_ddr4_1600_10_10_10_L2); uint64_t l_def_mba_tmr0q_WRDM_dlys7 = ((((((((((((((((((((l_def_ddr3_1066_6_6_6_group || l_def_ddr4_1600_9_9_9) || l_def_ddr4_1866_11_11_11) || l_def_ddr4_2133_12_12_12) || l_def_ddr4_2400_14_14_14) || l_def_ddr4_1600_9_9_9_2N) || l_def_ddr4_1866_11_11_11_2N) || l_def_ddr4_2133_12_12_12_2N) || l_def_ddr4_2400_14_14_14_2N) @@ -834,6 +832,8 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_ddr4_1866_12_12_12R) || l_def_ddr4_2133_13_13_13R) || l_def_ddr4_1600_10_10_10_LR) || l_def_ddr4_1866_12_12_12_LR) || l_def_ddr4_2133_13_13_13_LR) || l_def_ddr4_1600_10_10_10_L2) || l_def_ddr4_1866_12_12_12_L2) || l_def_ddr4_2133_13_13_13_L2); + fapi2::ATTR_CEN_EFF_DRAM_TRRD_Type l_TGT0_ATTR_CEN_EFF_DRAM_TRRD; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_EFF_DRAM_TRRD, TGT0, l_TGT0_ATTR_CEN_EFF_DRAM_TRRD)); uint64_t l_def_mba_tmr1q_cfg_trap43 = ((((l_def_ddr4_1866_11_11_11 || l_def_ddr4_1866_11_11_11_2N) || l_def_ddr4_1866_11_11_11R) || l_def_ddr4_1866_11_11_11_LR) || l_def_ddr4_1866_11_11_11_L2); uint64_t l_def_mba_tmr1q_cfg_trap27 = (((((l_def_ddr3_1066_7_7_7_group || l_def_ddr3_1333_8_8_8) @@ -850,8 +850,9 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_ddr4_1600_10_10_10_LR) || l_def_ddr4_1600_10_10_10_L2); uint64_t l_def_mba_tmr1q_cfg_trap28 = (((((l_def_ddr3_1066_8_8_8_group || l_def_ddr3_1333_8_8_8) || l_def_ddr3_1333_8_8_8_2N) || l_def_ddr3_1333_8_8_8R) || l_def_ddr3_1333_8_8_8_LR) || l_def_ddr3_1333_8_8_8_L2); - uint64_t l_def_mba_tmr1q_cfg_trap40 = ((((l_def_ddr3_1866_12_12_12 || l_def_ddr3_1866_12_12_12_2N) - || l_def_ddr3_1866_12_12_12R) || l_def_ddr3_1866_12_12_12_LR) || l_def_ddr3_1866_12_12_12_L2); + uint64_t l_def_mba_tmr1q_cfg_trap40 = (((((l_def_ddr4_1600_13_12_11R || l_def_ddr3_1866_12_12_12) + || l_def_ddr3_1866_12_12_12_2N) || l_def_ddr3_1866_12_12_12R) || l_def_ddr3_1866_12_12_12_LR) + || l_def_ddr3_1866_12_12_12_L2); uint64_t l_def_mba_tmr1q_cfg_trap37 = (((((((((l_def_ddr3_1600_9_9_9 || l_def_ddr3_1600_9_9_9_2N) || l_def_ddr3_1600_9_9_9R) || l_def_ddr3_1600_9_9_9_LR) || l_def_ddr3_1600_9_9_9_L2) || l_def_ddr4_1600_9_9_9) || l_def_ddr4_1600_9_9_9_2N) || l_def_ddr4_1600_9_9_9R) || l_def_ddr4_1600_9_9_9_LR) || l_def_ddr4_1600_9_9_9_L2); @@ -902,9 +903,9 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_ddr3_1866_11_11_11_L2); uint64_t l_def_mba_tmr1q_WRSBG_dlys30 = ((((l_def_ddr4_1866_11_11_11 || l_def_ddr4_1866_11_11_11_2N) || l_def_ddr4_1866_11_11_11R) || l_def_ddr4_1866_11_11_11_LR) || l_def_ddr4_1866_11_11_11_L2); - uint64_t l_def_mba_tmr1q_WRSBG_dlys19 = ((((((l_def_ddr4_1600_11_11_11 || l_def_ddr4_1600_11_11_11_2N) + uint64_t l_def_mba_tmr1q_WRSBG_dlys19 = (((((((l_def_ddr4_1600_11_11_11 || l_def_ddr4_1600_11_11_11_2N) || l_def_ddr4_1600_11_11_11R) || l_def_ddr4_1600_11_11_11_LR) || l_def_ddr4_1600_11_11_11_L2) - || l_def_ddr4_1600_13_12_11) || l_def_ddr4_1600_13_12_11_2N); + || l_def_ddr4_1600_13_12_11) || l_def_ddr4_1600_13_12_11_2N) || l_def_ddr4_1600_13_12_11R); uint64_t l_def_mba_tmr1q_WRSBG_dlys31 = ((((l_def_ddr4_1866_12_12_12 || l_def_ddr4_1866_12_12_12_2N) || l_def_ddr4_1866_12_12_12R) || l_def_ddr4_1866_12_12_12_LR) || l_def_ddr4_1866_12_12_12_L2); uint64_t l_def_mba_tmr1q_WRSBG_dlys29 = ((((l_def_ddr4_1600_12_12_12 || l_def_ddr4_1600_12_12_12_2N) @@ -928,6 +929,7 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_ddr4_1866_13_13_13R) || l_def_ddr4_1866_13_13_13_LR) || l_def_ddr4_1866_13_13_13_L2); uint64_t l_def_mba_tmr1q_cfg_twap48 = ((((l_def_ddr4_1600_12_12_12 || l_def_ddr4_1600_12_12_12_2N) || l_def_ddr4_1600_12_12_12R) || l_def_ddr4_1600_12_12_12_LR) || l_def_ddr4_1600_12_12_12_L2); + uint64_t l_def_mba_tmr1q_cfg_twap47 = l_def_ddr4_1600_13_12_11R; uint64_t l_def_mba_tmr1q_cfg_twap51 = (((((((((l_def_ddr3_1866_12_12_12 || l_def_ddr3_1866_12_12_12_2N) || l_def_ddr3_1866_12_12_12R) || l_def_ddr3_1866_12_12_12_LR) || l_def_ddr3_1866_12_12_12_L2) || l_def_ddr4_1866_12_12_12) || l_def_ddr4_1866_12_12_12_2N) || l_def_ddr4_1866_12_12_12R) @@ -983,80 +985,15 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_9))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)); uint64_t l_def_IS3A_IS3B = (((l_def_3b_1socket || l_def_3b_2socket) || l_def_3a_1socket) || l_def_3a_2socket); - uint64_t l_def_7a_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_7a_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_IS7a_C4a_C3a = (((l_def_3a_2socket || l_def_4a_cdimm) || l_def_7a_1socket) || l_def_7a_2socket); - uint64_t l_def_4a_ddr4_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_11)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_11))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_3a_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_8)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_8))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_4a_ddr4_cdimm); - uint64_t l_def_7a_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_7a_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_3a_ddr4_cdimm = ((((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_8)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_8))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))) && (l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2)); - uint64_t l_def_2a_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_3a_ddr4_cdimm); - uint64_t l_def_2a_ddr4_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_2a_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2a_ddr4_cdimm); - uint64_t l_def_C4A_ddr4 = ((((((l_def_2a_1socket_ddr4 || l_def_2a_2socket_ddr4) || l_def_3a_ddr4_cdimm) - || l_def_7a_1socket_ddr4) || l_def_7a_2socket_ddr4) || l_def_3a_2socket_ddr4) || l_def_4a_ddr4_cdimm); - uint64_t l_def_7c_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) + uint64_t l_def_5d_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_17)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_17))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_7c_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) + uint64_t l_def_5d_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_17)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_17))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_IS7C = (l_def_7c_1socket || l_def_7c_2socket); - uint64_t l_def_3c_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_10)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_10))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_2c_2socket = ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)); - uint64_t l_def_2a_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_2c_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2a_cdimm); - uint64_t l_def_C3c = ((l_def_2c_1socket || l_def_2c_2socket) || l_def_3c_cdimm); + uint64_t l_def_IS5D = (l_def_5d_1socket || l_def_5d_2socket); uint64_t l_def_5c_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_16)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_16))) @@ -1113,17 +1050,74 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& uint64_t l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C = ((((((((((l_def_1a_1socket || l_def_1a_2socket) || l_def_1b_1socket) || l_def_1b_2socket) || l_def_1c_cdimm) || l_def_1c_1socket_nodt) || l_def_1c_2socket_nodt) || l_def_5b_1socket) || l_def_5b_2socket) || l_def_5c_1socket) || l_def_5c_2socket); - uint64_t l_def_7c_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_7c_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_7b_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_22)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_22))) + uint64_t l_def_3b_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_9)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_9))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); + uint64_t l_def_2b_2socket = ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_6)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_6))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)); + uint64_t l_def_2b_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_6)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_6))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); + uint64_t l_def_2b_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_6)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_6))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2b_cdimm); + uint64_t l_def_3a_cdimm = ((((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_8)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_8))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))) && (l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_1)); + uint64_t l_def_2c_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); + uint64_t l_def_2a_2socket = ((((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_2c_cdimm) || l_def_3a_cdimm); + uint64_t l_def_2a_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); + uint64_t l_def_2a_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2a_cdimm); + uint64_t l_def_C3b = (((((l_def_2a_1socket || l_def_2a_2socket) || l_def_3a_cdimm) || l_def_2b_1socket) + || l_def_2b_2socket) || l_def_3b_cdimm); + uint64_t l_def_3c_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_10)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_10))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); + uint64_t l_def_2c_2socket = ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)); + uint64_t l_def_2c_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2a_cdimm); + uint64_t l_def_C3c = ((l_def_2c_1socket || l_def_2c_2socket) || l_def_3c_cdimm); + uint64_t l_def_7c_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); + uint64_t l_def_7c_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); + uint64_t l_def_7b_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_22)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_22))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); uint64_t l_def_7b_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_22)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) @@ -1151,6 +1145,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_3c_ddr4_cdimm); + uint64_t l_def_2a_ddr4_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); uint64_t l_def_2c_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) @@ -1177,53 +1176,56 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& || l_def_2c_1socket_ddr4) || l_def_2c_2socket_ddr4) || l_def_3c_ddr4_cdimm) || l_def_3c_1socket_ddr4) || l_def_3c_2socket_ddr4) || l_def_4c_ddr4_cdimm) || l_def_7b_1socket_ddr4) || l_def_7b_2socket_ddr4) || l_def_7c_1socket_ddr4) || l_def_7c_2socket_ddr4); - uint64_t l_def_5d_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_17)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_17))) + uint64_t l_def_7a_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_5d_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_17)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_17))) + uint64_t l_def_7a_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); - uint64_t l_def_IS5D = (l_def_5d_1socket || l_def_5d_2socket); - uint64_t l_def_3b_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_9)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_9))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_2b_2socket = ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_6)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_6))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)); - uint64_t l_def_2b_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_6)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_6))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_2b_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_6)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_6))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2b_cdimm); - uint64_t l_def_3a_cdimm = ((((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_8)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_8))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))) && (l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_1)); - uint64_t l_def_2c_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_7)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_7))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) - && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); - uint64_t l_def_2a_2socket = ((((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_2c_cdimm) || l_def_3a_cdimm); - uint64_t l_def_2a_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) - && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2a_cdimm); - uint64_t l_def_C3b = (((((l_def_2a_1socket || l_def_2a_2socket) || l_def_3a_cdimm) || l_def_2b_1socket) - || l_def_2b_2socket) || l_def_3b_cdimm); + uint64_t l_def_IS7a_C4a_C3a = (((l_def_3a_2socket || l_def_4a_cdimm) || l_def_7a_1socket) || l_def_7a_2socket); + uint64_t l_def_4a_ddr4_cdimm = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_11)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_11))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); + uint64_t l_def_3a_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_8)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_8))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_4a_ddr4_cdimm); + uint64_t l_def_7a_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); + uint64_t l_def_7a_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_21)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_21))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); + uint64_t l_def_3a_ddr4_cdimm = ((((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_8)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_8))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) + && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))) && (l_TGT0_ATTR_CEN_EFF_DRAM_GEN == literal_2)); + uint64_t l_def_2a_2socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) || l_def_3a_ddr4_cdimm); + uint64_t l_def_2a_1socket_ddr4 = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_5)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_5))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) || l_def_2a_ddr4_cdimm); + uint64_t l_def_C4A_ddr4 = ((((((l_def_2a_1socket_ddr4 || l_def_2a_2socket_ddr4) || l_def_3a_ddr4_cdimm) + || l_def_7a_1socket_ddr4) || l_def_7a_2socket_ddr4) || l_def_3a_2socket_ddr4) || l_def_4a_ddr4_cdimm); + uint64_t l_def_7c_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_2)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); + uint64_t l_def_7c_1socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_23)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_23))) + && (l_TGT0_ATTR_CEN_EFF_NUM_DROPS_PER_PORT == literal_1)) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)); + uint64_t l_def_IS7C = (l_def_7c_1socket || l_def_7c_2socket); uint64_t l_def_7b_2socket = (((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_1][literal_0] == literal_22)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) && (l_TGT0_ATTR_CEN_EFF_IBM_TYPE[literal_0][literal_0] == literal_22))) @@ -1239,6 +1241,7 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& && (l_TGT0_ATTR_CEN_EFF_CUSTOM_DIMM == literal_1))); uint64_t l_def_IS3b_IS7b = ((((l_def_3b_1socket || l_def_3b_2socket) || l_def_4b_ddr4_cdimm) || l_def_7b_1socket) || l_def_7b_2socket); + uint64_t l_def_IS3B = (l_def_3b_1socket || l_def_3b_2socket); fapi2::ATTR_CEN_MSS_MEM_THROTTLE_NUMERATOR_PER_MBA_Type l_TGT0_ATTR_CEN_MSS_MEM_THROTTLE_NUMERATOR_PER_MBA; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_MSS_MEM_THROTTLE_NUMERATOR_PER_MBA, TGT0, l_TGT0_ATTR_CEN_MSS_MEM_THROTTLE_NUMERATOR_PER_MBA)); @@ -4036,32 +4039,64 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& { FAPI_TRY(fapi2::getScom( TGT0, 0x301040aull, l_scom_buffer )); + if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + { + l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_udimm ); + } + else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + { + l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_lrdimm ); + } + else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) + { + l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_rdimm ); + } + if (literal_1) { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b000101 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b000000 ); } if (literal_1) { - l_scom_buffer.insert<49, 6, 58, uint64_t>(literal_0b000011 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b000101 ); } if (literal_1) { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b000000 ); + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b011000 ); } - if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_lrdimm + l_def_RDODT_duration) ); + l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS2 - literal_1) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_2))) { - l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_udimm + l_def_RDODT_duration) ); + l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL_MINUS2 ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) + else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_1))) { - l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_rdimm + l_def_RDODT_duration) ); + l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL_MINUS1 ); + } + else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_0))) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL0 ); + } + else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_2))) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS2 + l_def_WLO) ); + } + else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_0))) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL0 + l_def_WLO) ); + } + else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_1))) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS1 + l_def_WLO) ); } if ((l_def_mba_dsm0q_cfg_rdtag_dly14 == literal_1)) @@ -4137,302 +4172,199 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011011 + l_def_margin_rdtag) ); } - if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) - { - l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_rdimm + l_def_RDODT_duration) - literal_2) ); - } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + if (literal_1) { - l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_lrdimm + l_def_RDODT_duration) - literal_2) ); + l_scom_buffer.insert<42, 1, 63, uint64_t>(literal_0 ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + + if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) { l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_udimm + l_def_RDODT_duration) - literal_2) ); } - - if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) { - l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_udimm ); + l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_rdimm + l_def_RDODT_duration) - literal_2) ); } else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) { - l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_lrdimm ); + l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_lrdimm + l_def_RDODT_duration) - literal_2) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_rdimm ); + l_scom_buffer.insert<49, 6, 58, uint64_t>(literal_0b000011 ); } if (literal_1) { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b000000 ); + l_scom_buffer.insert<55, 1, 63, uint64_t>(literal_0b0 ); } if (literal_1) { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b000101 ); + l_scom_buffer.insert<56, 2, 62, uint64_t>(literal_0b00 ); } if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b011000 ); + l_scom_buffer.insert<58, 1, 63, uint64_t>(literal_0b0 ); } - if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + if (literal_1) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS2 - literal_1) ); + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b00000 ); } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_2))) + + if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL_MINUS2 ); + l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_lrdimm + l_def_RDODT_duration) ); } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_1))) + else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL_MINUS1 ); - } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_0))) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL0 ); - } - else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_2))) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS2 + l_def_WLO) ); - } - else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_0))) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL0 + l_def_WLO) ); + l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_udimm + l_def_RDODT_duration) ); } - else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_1))) + else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS1 + l_def_WLO) ); + l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_rdimm + l_def_RDODT_duration) ); } - if ((l_def_mba_dsm0q_cfg_rdtag_dly14 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b001110 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly20 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010100 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly25 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011001 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly15 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b001111 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly28 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011100 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly13 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b001101 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly16 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010000 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly29 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011101 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly26 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011010 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly18 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010010 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly24 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011000 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly23 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010111 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly22 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010110 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly17 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010001 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly12 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b001100 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly21 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010101 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly19 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b010011 + l_def_margin_rdtag) ); - } - else if ((l_def_mba_dsm0q_cfg_rdtag_dly27 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>((literal_0b011011 + l_def_margin_rdtag) ); - } + FAPI_TRY(fapi2::putScom(TGT0, 0x301040aull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x301040bull, l_scom_buffer )); if (literal_1) { - l_scom_buffer.insert<42, 1, 63, uint64_t>(literal_0 ); + l_scom_buffer.insert<0, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); } - - if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) + && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) + && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) { - l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_udimm + l_def_RDODT_duration) - literal_2) ); + l_scom_buffer.insert<0, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) + + if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) { - l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_rdimm + l_def_RDODT_duration) - literal_2) ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) { - l_scom_buffer.insert<43, 6, 58, uint64_t>(((l_def_RDODT_start_lrdimm + l_def_RDODT_duration) - literal_2) ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) { - l_scom_buffer.insert<49, 6, 58, uint64_t>(literal_0b000011 ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) { - l_scom_buffer.insert<55, 1, 63, uint64_t>(literal_0b0 ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) { - l_scom_buffer.insert<56, 2, 62, uint64_t>(literal_0b00 ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) { - l_scom_buffer.insert<58, 1, 63, uint64_t>(literal_0b0 ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) { - l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b00000 ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); } - - if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_lrdimm + l_def_RDODT_duration) ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_udimm + l_def_RDODT_duration) ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) + else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>((l_def_RDODT_start_rdimm + l_def_RDODT_duration) ); + l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); } - if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2)) + if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) { - l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_udimm ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) + else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) { - l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_lrdimm ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); } - else if ((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1)) + else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) { - l_scom_buffer.insert<0, 6, 58, uint64_t>(l_def_RDODT_start_rdimm ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); } - - if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS2 - literal_1) ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_2))) + else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL_MINUS2 ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_1))) + else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL_MINUS1 ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_2) && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_0))) + else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(l_def_WL_AL0 ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); } - else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_2))) + else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS2 + l_def_WLO) ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); } - else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_0))) + else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL0 + l_def_WLO) ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); } - else if ((((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3)) - && (l_TGT0_ATTR_CEN_EFF_DRAM_AL == literal_1))) + else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((l_def_WL_AL_MINUS1 + l_def_WLO) ); + l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); } - if (literal_1) + if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b011000 ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); } - - FAPI_TRY(fapi2::putScom(TGT0, 0x301040aull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x301040bull, l_scom_buffer )); - - if ((l_TGT1_ATTR_CEN_MSS_FREQ == literal_2400)) + else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) { - l_scom_buffer.insert<48, 4, 60, uint64_t>((literal_0b1001 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); } - else if ((((l_TGT1_ATTR_CEN_MSS_FREQ == literal_1066) || (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1333)) - || (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600))) + else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) { - l_scom_buffer.insert<48, 4, 60, uint64_t>((literal_0b0111 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); } - else if (((l_TGT1_ATTR_CEN_MSS_FREQ == literal_1866) || (l_TGT1_ATTR_CEN_MSS_FREQ == literal_2133))) + else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) { - l_scom_buffer.insert<48, 4, 60, uint64_t>((literal_0b1000 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) { - l_scom_buffer.insert<60, 4, 60, uint64_t>(l_TGT0_ATTR_CEN_EFF_DRAM_TRRD ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) { - l_scom_buffer.insert<0, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); } - else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) + else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) { - l_scom_buffer.insert<0, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); } - - if (literal_1) + else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) { - l_scom_buffer.insert<44, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); } - else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) + else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) { - l_scom_buffer.insert<44, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); + } + else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) + { + l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); } if ((l_def_mba_tmr0q_WRSM_dlys23 == literal_1)) @@ -4496,247 +4428,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011000 + l_def_margin2) ); } - if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) + if ((l_def_mba_tmr0q_WRSM_dlys23 == literal_1)) { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); + l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b010111 + l_def_margin2) ); } - else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); - } - - if (literal_1) - { - l_scom_buffer.insert<0, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); - } - else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) - { - l_scom_buffer.insert<0, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); - } - - if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) - { - l_scom_buffer.insert<12, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); - } - - if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); - } - - if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); - } - - if ((l_def_mba_tmr0q_WRSM_dlys23 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b010111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys21 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b010101 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys30 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011110 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys28 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011100 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys29 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011101 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys33 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b100001 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys27 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011011 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys15 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b001111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys32 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b100000 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys31 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys19 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b010011 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys20 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b010100 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys25 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011001 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys26 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011010 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys24 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>((literal_0b011000 + l_def_margin2) ); - } - - if ((l_def_mba_tmr0q_WRSM_dlys23 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b010111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys30 == literal_1)) + else if ((l_def_mba_tmr0q_WRSM_dlys30 == literal_1)) { l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011110 + l_def_margin2) ); } @@ -4878,222 +4574,24 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<8, 4, 60, uint64_t>((literal_0b1000 + l_def_margin2) ); } - if ((l_def_mba_tmr0q_WRSM_dlys23 == literal_1)) + FAPI_TRY(fapi2::putScom(TGT0, 0x301040bull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x301040cull, l_scom_buffer )); + + if ((l_def_mba_tmr1q_cfg_trap43 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b010111 + l_def_margin2) ); + l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101011 ); } - else if ((l_def_mba_tmr0q_WRSM_dlys30 == literal_1)) + else if ((l_def_mba_tmr1q_cfg_trap27 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011110 + l_def_margin2) ); + l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011011 ); } - else if ((l_def_mba_tmr0q_WRSM_dlys28 == literal_1)) + else if ((l_def_mba_tmr1q_cfg_trap26 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011100 + l_def_margin2) ); + l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011010 ); } - else if ((l_def_mba_tmr0q_WRSM_dlys29 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011101 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys33 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b100001 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys15 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b001111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys27 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011011 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys32 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b100000 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys31 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys25 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011001 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys26 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011010 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRSM_dlys24 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>((literal_0b011000 + l_def_margin2) ); - } - - if (literal_1) - { - l_scom_buffer.insert<52, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); - } - - if ((l_TGT1_ATTR_CEN_MSS_FREQ == literal_2400)) - { - l_scom_buffer.insert<8, 4, 60, uint64_t>((literal_0b1001 + l_def_margin2) ); - } - else if ((((l_TGT1_ATTR_CEN_MSS_FREQ == literal_1066) || (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1333)) - || (l_TGT1_ATTR_CEN_MSS_FREQ == literal_1600))) - { - l_scom_buffer.insert<8, 4, 60, uint64_t>((literal_0b0111 + l_def_margin2) ); - } - else if (((l_TGT1_ATTR_CEN_MSS_FREQ == literal_1866) || (l_TGT1_ATTR_CEN_MSS_FREQ == literal_2133))) - { - l_scom_buffer.insert<8, 4, 60, uint64_t>((literal_0b1000 + l_def_margin2) ); - } - - if ((l_def_mba_tmr0q_WRDM_dlys7 == literal_1)) - { - l_scom_buffer.insert<36, 4, 60, uint64_t>((literal_0b0111 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRDM_dlys8 == literal_1)) - { - l_scom_buffer.insert<36, 4, 60, uint64_t>((literal_0b1000 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRDM_dlys4 == literal_1)) - { - l_scom_buffer.insert<36, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRDM_dlys5 == literal_1)) - { - l_scom_buffer.insert<36, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); - } - else if ((l_def_mba_tmr0q_WRDM_dlys6 == literal_1)) - { - l_scom_buffer.insert<36, 4, 60, uint64_t>((literal_0b0110 + l_def_margin2) ); - } - - if (literal_1) - { - l_scom_buffer.insert<4, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); - } - else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) - { - l_scom_buffer.insert<4, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); - } - - if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) - { - l_scom_buffer.insert<16, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); - } - - if ((l_def_mba_tmr0q_RW_dlys11 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1011 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys8 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys7 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b0111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys15 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1111 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys10 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1010 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys13 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1101 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys14 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1110 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b0000 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys9 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1001 + l_def_margin1) ); - } - else if ((l_def_mba_tmr0q_RW_dlys12 == literal_1)) - { - l_scom_buffer.insert<20, 4, 60, uint64_t>((literal_0b1100 + l_def_margin1) ); - } - - if (literal_1) - { - l_scom_buffer.insert<40, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); - } - else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) - { - l_scom_buffer.insert<40, 4, 60, uint64_t>((literal_0b0101 + l_def_margin2) ); - } - - if (literal_1) - { - l_scom_buffer.insert<56, 4, 60, uint64_t>((literal_0b0100 + l_def_margin2) ); - } - - FAPI_TRY(fapi2::putScom(TGT0, 0x301040bull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x301040cull, l_scom_buffer )); - - if ((l_def_mba_tmr1q_cfg_trap43 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101011 ); - } - else if ((l_def_mba_tmr1q_cfg_trap27 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011011 ); - } - else if ((l_def_mba_tmr1q_cfg_trap26 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011010 ); - } - else if ((l_def_mba_tmr1q_cfg_trap46 == literal_1)) + else if ((l_def_mba_tmr1q_cfg_trap46 == literal_1)) { l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101110 ); } @@ -5215,7 +4713,7 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& { l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0110000 ); } - else if ((l_def_ddr4_1600_13_12_11 == literal_1)) + else if (((l_def_mba_tmr1q_cfg_twap47 == literal_1) || (l_def_ddr4_1600_13_12_11 == literal_1))) { l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0101111 ); } @@ -5260,233 +4758,57 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0101100 ); } - if (((l_def_mba_tmr1q_RRSBG_dlys5 == literal_1) || (((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2))))) + FAPI_TRY(fapi2::putScom(TGT0, 0x301040cull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x301040eull, l_scom_buffer )); + + if (literal_1) { - l_scom_buffer.insert<20, 4, 60, uint64_t>(literal_0b0101 ); + l_scom_buffer.insert<57, 1, 63, uint64_t>(literal_0b1 ); } - else if ((l_def_mba_tmr1q_RRSBG_dlys6 == literal_1)) + + FAPI_TRY(fapi2::putScom(TGT0, 0x301040eull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x301040full, l_scom_buffer )); + + if (literal_1) { - l_scom_buffer.insert<20, 4, 60, uint64_t>(literal_0b0110 ); + l_scom_buffer.insert<13, 4, 60, uint64_t>(literal_0b0100 ); } - else if ((l_def_mba_tmr1q_RRSBG_dlys0 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<20, 4, 60, uint64_t>(literal_0b0000 ); + l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00000000 ); } - if ((l_def_mba_tmr1q_cfg_twap53 == literal_1)) + if (literal_1) { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0110101 ); + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } - else if ((l_def_mba_tmr1q_cfg_twap48 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0110000 ); + l_scom_buffer.insert<25, 4, 60, uint64_t>(literal_0b0000 ); } - else if ((l_def_ddr4_1600_13_12_11 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0101111 ); + l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b0 ); } - else if ((l_def_mba_tmr1q_cfg_twap51 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0110011 ); + l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); } - else if ((l_def_mba_tmr1q_cfg_twap46 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0101110 ); + l_scom_buffer.insert<53, 3, 61, uint64_t>(literal_0b000 ); } - else if ((l_def_mba_tmr1q_cfg_twap42 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0101010 ); - } - else if ((l_def_mba_tmr1q_cfg_twap34 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0100010 ); - } - else if ((l_def_mba_tmr1q_cfg_twap37 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0100101 ); - } - else if ((l_def_mba_tmr1q_cfg_twap49 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0110001 ); - } - else if ((l_def_mba_tmr1q_cfg_twap32 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0100000 ); - } - else if ((l_def_mba_tmr1q_cfg_twap30 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0011110 ); - } - else if ((l_def_mba_tmr1q_cfg_twap39 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0100111 ); - } - else if ((l_def_mba_tmr1q_cfg_twap44 == literal_1)) - { - l_scom_buffer.insert<7, 7, 57, uint64_t>(literal_0b0101100 ); - } - - if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<50, 1, 63, uint64_t>(literal_0b0 ); - } - - if ((l_def_mba_tmr1q_WRSBG_dlys30 == literal_1)) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b11110 ); - } - else if ((((l_TGT0_ATTR_CHIP_UNIT_POS == literal_1) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_1][literal_0] == literal_2)) || ((l_TGT0_ATTR_CHIP_UNIT_POS == literal_0) - && (l_TGT0_ATTR_CEN_EFF_STACK_TYPE[literal_0][literal_0] == literal_2)))) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b10011 ); - } - else if ((l_def_mba_tmr1q_WRSBG_dlys31 == literal_1)) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b11111 ); - } - else if ((l_def_mba_tmr1q_WRSBG_dlys29 == literal_1)) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b11101 ); - } - else if ((l_def_mba_tmr1q_WRSBG_dlys0 == literal_1)) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b00000 ); - } - else if ((l_def_mba_tmr1q_WRSBG_dlys27 == literal_1)) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b11011 ); - } - else if ((l_def_mba_tmr1q_WRSBG_dlys26 == literal_1)) - { - l_scom_buffer.insert<24, 5, 59, uint64_t>(literal_0b11010 ); - } - - if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<49, 1, 63, uint64_t>(literal_0b0 ); - } - - if ((l_TGT0_ATTR_CEN_EFF_DRAM_TFAW != literal_16)) - { - l_scom_buffer.insert<14, 6, 58, uint64_t>(l_TGT0_ATTR_CEN_EFF_DRAM_TFAW ); - } - else if ((l_TGT0_ATTR_CEN_EFF_DRAM_TFAW == literal_16)) - { - l_scom_buffer.insert<14, 6, 58, uint64_t>(literal_0b0001111 ); - } - - if ((l_def_mba_tmr0q_RW_dlys16 == literal_1)) - { - l_scom_buffer.insert<48, 1, 63, uint64_t>(literal_0b0 ); - } - - if ((l_def_mba_tmr1q_cfg_trap43 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101011 ); - } - else if ((l_def_mba_tmr1q_cfg_trap27 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011011 ); - } - else if ((l_def_mba_tmr1q_cfg_trap26 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011010 ); - } - else if ((l_def_mba_tmr1q_cfg_trap46 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101110 ); - } - else if ((l_def_mba_tmr1q_cfg_trap42 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101010 ); - } - else if ((l_def_mba_tmr1q_cfg_trap38 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0100110 ); - } - else if ((l_def_mba_tmr1q_cfg_trap28 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0011100 ); - } - else if ((l_def_mba_tmr1q_cfg_trap40 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101000 ); - } - else if ((l_def_mba_tmr1q_cfg_trap37 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0100101 ); - } - else if ((l_def_mba_tmr1q_cfg_trap32 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0100000 ); - } - else if ((l_def_mba_tmr1q_cfg_trap33 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0100001 ); - } - else if ((l_def_mba_tmr1q_cfg_trap44 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0101100 ); - } - else if ((l_def_mba_tmr1q_cfg_trap39 == literal_1)) - { - l_scom_buffer.insert<0, 7, 57, uint64_t>(literal_0b0100111 ); - } - - FAPI_TRY(fapi2::putScom(TGT0, 0x301040cull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x301040eull, l_scom_buffer )); - - if (literal_1) - { - l_scom_buffer.insert<57, 1, 63, uint64_t>(literal_0b1 ); - } - - FAPI_TRY(fapi2::putScom(TGT0, 0x301040eull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x301040full, l_scom_buffer )); - - if (literal_1) - { - l_scom_buffer.insert<13, 4, 60, uint64_t>(literal_0b0100 ); - } - - if (literal_1) - { - l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00000000 ); - } - - if (literal_1) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - - if (literal_1) - { - l_scom_buffer.insert<25, 4, 60, uint64_t>(literal_0b0000 ); - } - - if (literal_1) - { - l_scom_buffer.insert<18, 1, 63, uint64_t>(literal_0b0 ); - } - - if (literal_1) - { - l_scom_buffer.insert<23, 1, 63, uint64_t>(literal_0b0 ); - } - - if (literal_1) - { - l_scom_buffer.insert<53, 3, 61, uint64_t>(literal_0b000 ); - } - - if (literal_1) + + if (literal_1) { l_scom_buffer.insert<19, 4, 60, uint64_t>(literal_0b0000 ); } @@ -5929,1507 +5251,556 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<42, 8, 56, uint64_t>(literal_0b11111111 ); } - if (literal_1) - { - l_scom_buffer.insert<50, 2, 62, uint64_t>(literal_0b11 ); - } - - if (literal_1) - { - l_scom_buffer.insert<52, 8, 56, uint64_t>(literal_0b11111111 ); - } - - if (literal_1) - { - l_scom_buffer.insert<52, 8, 56, uint64_t>(literal_0b11111111 ); - } - - if (literal_1) - { - l_scom_buffer.insert<40, 2, 62, uint64_t>(literal_0b11 ); - } - - if (literal_1) - { - l_scom_buffer.insert<0, 2, 62, uint64_t>(literal_0b11 ); - } - - if (literal_1) - { - l_scom_buffer.insert<32, 8, 56, uint64_t>(literal_0b11111111 ); - } - - if (literal_1) - { - l_scom_buffer.insert<2, 8, 56, uint64_t>(literal_0b11111111 ); - } - - if (literal_1) - { - l_scom_buffer.insert<12, 8, 56, uint64_t>(literal_0b11111111 ); - } - - if (literal_1) - { - l_scom_buffer.insert<30, 2, 62, uint64_t>(literal_0b11 ); - } - - if (literal_1) - { - l_scom_buffer.insert<22, 8, 56, uint64_t>(literal_0b11111111 ); - } - - if (literal_1) - { - l_scom_buffer.insert<20, 2, 62, uint64_t>(literal_0b11 ); - } - - if (literal_1) - { - l_scom_buffer.insert<10, 2, 62, uint64_t>(literal_0b11 ); - } - - FAPI_TRY(fapi2::putScom(TGT0, 0x3010412ull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x3010413ull, l_scom_buffer )); - - if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3))) - { - l_scom_buffer.insert<61, 1, 63, uint64_t>(literal_0b1 ); - } - - if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3))) - { - l_scom_buffer.insert<60, 1, 63, uint64_t>(literal_0b0 ); - } - - if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3))) - { - l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b1 ); - } - else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE != literal_1) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE != literal_3))) - { - l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b0 ); - } - - FAPI_TRY(fapi2::putScom(TGT0, 0x3010413ull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x3010414ull, l_scom_buffer )); - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b110100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111000 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b011110 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b110100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010001 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010010 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b100000 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101110 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b011010 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b011001 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101000 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b010101 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b110110 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b010110 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111010 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b011110 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b011101 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b101100 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1101 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1111 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1101 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b1 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b110100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); - } - - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b1 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); - } - - if ((l_def_ddr4_1600_13_12_11 == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b110100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b110100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_ddr4_1600_13_12_11 == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111000 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111000 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_ddr4_1600_13_12_11 == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); - } - - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b011110 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010001 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b110100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b100000 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010010 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101110 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b011001 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101000 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b011010 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b110110 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b010101 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b010110 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111010 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b011101 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b011110 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_ddr4_1600_13_12_11 == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b110100 ); - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11111 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11111 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11001 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11011 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11111 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11001 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11001 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11001 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b11111 ); - } - - FAPI_TRY(fapi2::putScom(TGT0, 0x3010414ull, l_scom_buffer)); - } - { - FAPI_TRY(fapi2::getScom( TGT0, 0x3010415ull, l_scom_buffer )); - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b100000 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b100000 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b100000 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b100000 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b101100 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b100100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); - } - - if ((l_def_IS3A_IS3B == literal_1)) + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<50, 2, 62, uint64_t>(literal_0b11 ); } - else if ((l_def_C3b == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<52, 8, 56, uint64_t>(literal_0b11111111 ); } - else if ((l_def_C3c == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<52, 8, 56, uint64_t>(literal_0b11111111 ); } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b100001 ); + l_scom_buffer.insert<40, 2, 62, uint64_t>(literal_0b11 ); } - else if ((l_def_C4A_ddr4 == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 2, 62, uint64_t>(literal_0b11 ); } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111000 ); + l_scom_buffer.insert<32, 8, 56, uint64_t>(literal_0b11111111 ); } - else if ((l_def_IS3b_IS7b == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<2, 8, 56, uint64_t>(literal_0b11111111 ); } - else if ((l_def_IS5D == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 8, 56, uint64_t>(literal_0b11111111 ); } - else if ((l_def_IS7C == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b100010 ); + l_scom_buffer.insert<30, 2, 62, uint64_t>(literal_0b11 ); } - else if ((l_def_IS7a_C4a_C3a == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<22, 8, 56, uint64_t>(literal_0b11111111 ); } - if ((l_def_IS3A_IS3B == literal_1)) + if (literal_1) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<20, 2, 62, uint64_t>(literal_0b11 ); } - else if ((l_def_C3b == literal_1)) + + if (literal_1) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<10, 2, 62, uint64_t>(literal_0b11 ); } - else if ((l_def_C3c == literal_1)) + + FAPI_TRY(fapi2::putScom(TGT0, 0x3010412ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x3010413ull, l_scom_buffer )); + + if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3))) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<61, 1, 63, uint64_t>(literal_0b1 ); } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + + if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3))) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101001 ); + l_scom_buffer.insert<60, 1, 63, uint64_t>(literal_0b0 ); } - else if ((l_def_C4A_ddr4 == literal_1)) + + if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_1) || (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE == literal_3))) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b1 ); } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) + else if (((l_TGT0_ATTR_CEN_EFF_DIMM_TYPE != literal_1) && (l_TGT0_ATTR_CEN_EFF_DIMM_TYPE != literal_3))) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_0b0 ); } - else if ((l_def_IS3b_IS7b == literal_1)) + + FAPI_TRY(fapi2::putScom(TGT0, 0x3010413ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x3010414ull, l_scom_buffer )); + + if ((l_def_IS3A_IS3B == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); } - else if ((l_def_IS5D == literal_1)) + else if ((l_def_ddr4_1600_13_12_11 == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); } - else if ((l_def_IS7C == literal_1)) + else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101010 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); } - else if ((l_def_IS7a_C4a_C3a == literal_1)) + else if ((l_def_IS5D == literal_1)) { - l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); } - - if ((l_def_IS3A_IS3B == literal_1)) + else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_C3b == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_C3c == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b100101 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); + } + else if ((l_def_IS7a_C4a_C3a == literal_1)) + { + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_C4A_ddr4 == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010100 ); } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) + else if ((l_def_IS7C == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b010000 ); } - else if ((l_def_IS3b_IS7b == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } - else if ((l_def_IS5D == literal_1)) + else if ((l_def_IS7a_C4a_C3a == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS7C == literal_1)) + else if ((l_def_C3c == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b100110 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b110100 ); } - else if ((l_def_IS7a_C4a_C3a == literal_1)) + else if ((l_def_IS7C == literal_1)) { - l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } - - if ((l_def_IS3A_IS3B == literal_1)) + else if ((l_def_ddr4_1600_13_12_11 == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } - else if ((l_def_C3b == literal_1)) + else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_C3b == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b110100 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b101101 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } else if ((l_def_C4A_ddr4 == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS3b_IS7b == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } else if ((l_def_IS5D == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b010100 ); } - else if ((l_def_IS7C == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b101110 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { - l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); } - - if ((l_def_IS3A_IS3B == literal_1)) + else if ((l_def_C3c == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111000 ); } - else if ((l_def_C3b == literal_1)) + else if ((l_def_IS7C == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_ddr4_1600_13_12_11 == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); + } + else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + { + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); + } + else if ((l_def_C3b == literal_1)) + { + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111000 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_C4A_ddr4 == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS3b_IS7b == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_IS5D == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b011100 ); } - else if ((l_def_IS7C == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111000 ); + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } - - if ((l_def_C3b == literal_1)) + else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b011110 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b110100 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010001 ); } - else if ((l_def_C4A_ddr4 == literal_1)) + else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010010 ); } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) + else if ((l_def_IS5D == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b100000 ); } - else if ((l_def_IS3b_IS7b == literal_1)) + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS5D == literal_1)) + else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b010001 ); } - else if ((l_def_IS7C == literal_1)) + else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS7a_C4a_C3a == literal_1)) + else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_ddr4_1600_13_12_11 == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_C3b == literal_1)) + else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101110 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b011010 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b011001 ); + } + else if ((l_def_IS5D == literal_1)) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b101000 ); + } + else if ((l_def_C3b == literal_1)) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } - - if ((l_def_ddr4_1600_13_12_11 == literal_1)) + else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b010101 ); } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b110110 ); } - else if ((l_def_C3b == literal_1)) + else if ((l_def_IS5D == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b100100 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b010110 ); } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS5D == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS7C == literal_1)) + else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111010 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } - - if ((l_def_ddr4_1600_13_12_11 == literal_1)) - { - } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b011110 ); } - else if ((l_def_C3b == literal_1)) + else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b011101 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_IS5D == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b101100 ); } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS5D == literal_1)) + + if ((l_def_IS3B == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1100 ); + } + else if ((l_def_IS3A_IS3B == literal_1)) + { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1101 ); } else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1100 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1111 ); } - - if ((l_def_C3b == literal_1)) + else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1101 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1111 ); } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1111 ); } - else if ((l_def_C4A_ddr4 == literal_1)) + else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1111 ); } else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1100 ); } else if ((l_def_IS5D == literal_1)) { + l_scom_buffer.insert<48, 4, 60, uint64_t>(literal_0b1100 ); } - else if ((l_def_IS7C == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } - - if ((l_def_C3b == literal_1)) + else if ((l_def_IS5D == literal_1)) + { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b1 ); + } + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_IS3b_IS7b == literal_1)) { - } - else if ((l_def_IS5D == literal_1)) - { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } else if ((l_def_IS7C == literal_1)) { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { + l_scom_buffer.insert<52, 1, 63, uint64_t>(literal_0b0 ); } - if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<53, 1, 63, uint64_t>(literal_0b0 ); } - else if ((l_def_C4A_ddr4 == literal_1)) + + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) + else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011100 ); } else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b110100 ); } - - if ((l_def_C3b == literal_1)) + else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); } - else if ((l_def_C3c == literal_1)) + else if ((l_def_ddr4_1600_13_12_11 == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) + else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } - else if ((l_def_C4A_ddr4 == literal_1)) + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) + else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } else if ((l_def_IS5D == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b011000 ); } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) + + FAPI_TRY(fapi2::putScom(TGT0, 0x3010414ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x3010415ull, l_scom_buffer )); + + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b100000 ); } - - if ((l_def_C3b == literal_1)) + else if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7466,44 +5837,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<0, 6, 58, uint64_t>(literal_0b101100 ); } - if ((l_def_C3b == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); - } - else if ((l_def_IS5D == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); - } - else if ((l_def_IS7C == literal_1)) - { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) { - l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111000 ); + l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b100100 ); } - - if ((l_def_C3b == literal_1)) + else if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7540,7 +5878,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<12, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_C3b == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) + { + l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b101100 ); + } + else if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7577,7 +5919,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<18, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_C3b == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) + { + l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); + } + else if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7614,7 +5960,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_C3b == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); + } + else if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7651,41 +6001,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<30, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_ddr4_1600_13_12_11 == literal_1)) - { - } - else if ((l_def_ddr4_1600_13_12_11_2N == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) { + l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_C3b == literal_1)) - { - } - else if ((l_def_C3c == literal_1)) - { - } - else if ((l_def_C3c_C4C_ddr4 == literal_1)) - { - } - else if ((l_def_C4A_ddr4 == literal_1)) - { - } - else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) - { - } - else if ((l_def_IS3b_IS7b == literal_1)) - { - } - else if ((l_def_IS5D == literal_1)) - { - } - else if ((l_def_IS7C == literal_1)) - { - } - else if ((l_def_IS7a_C4a_C3a == literal_1)) - { - } - - if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7722,7 +6042,11 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<36, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_C3b == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) + { + l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); + } + else if ((l_def_C3b == literal_1)) { l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } @@ -7759,32 +6083,45 @@ fapi2::ReturnCode centaur_mba_scom(const fapi2::Target& l_scom_buffer.insert<42, 6, 58, uint64_t>(literal_0b111100 ); } - if ((l_def_C3b == literal_1)) + if ((l_def_IS3A_IS3B == literal_1)) + { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); + } + else if ((l_def_C3b == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_C3c == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_C3c_C4C_ddr4 == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); } else if ((l_def_C4A_ddr4 == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101100 ); } else if ((l_def_IS1A_IS1B_IS1D_C1A_C1B_C1C_C1D_C5C == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS3b_IS7b == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); } else if ((l_def_IS5D == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111100 ); } else if ((l_def_IS7C == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b101000 ); } else if ((l_def_IS7a_C4a_C3a == literal_1)) { + l_scom_buffer.insert<6, 6, 58, uint64_t>(literal_0b111000 ); } FAPI_TRY(fapi2::putScom(TGT0, 0x3010415ull, l_scom_buffer)); diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.C index 0b060fb98ea..582b7b793df 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.C @@ -185,6 +185,10 @@ extern "C" (o_spd_data->mtb_dividend[i_port][i_dimm] * 1000) / o_spd_data->mtb_divisor[i_port][i_dimm]); + // DDR4 RDIMM/LRDIMM Support + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_SPD_ADDR_MAP_REG_TO_DRAM, i_target_dimm, + o_spd_data->addr_map_reg_to_dram[i_port][i_dimm])); + // 3 trfc values, 1x, 2x, 4x FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_SPD_TRFC1MIN_DDR4, i_target_dimm, o_spd_data->trfc1min[i_port][i_dimm])); FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_SPD_TRFC2MIN_DDR4, i_target_dimm, o_spd_data->trfc2min[i_port][i_dimm])); @@ -1906,6 +1910,17 @@ extern "C" } } + //Adding timer overrides for 1600 DDR4 TSV DIMMs + //TSV tRCD Override when requiring 1600 freq override (i.e. using 2666 parts) + if ((i_mss_eff_config_data->mss_freq == 1600) + && (o_atts->eff_stack_type[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_EFF_STACK_TYPE_STACK_3DS)) + { + o_atts->eff_dram_trcd = 0x0C; + o_atts->eff_dram_trp = 0x0B; + o_atts->eff_dram_tras_u32 = 0x0000001C; + o_atts->eff_dram_trc_u32 = 0x00000027; + } + // AST HERE: Needed SPD byte33[7,1:0], for expanded IBM_TYPE if ( o_atts->eff_dimm_type == fapi2::ENUM_ATTR_CEN_EFF_DIMM_TYPE_RDIMM ) { @@ -1917,13 +1932,15 @@ extern "C" { o_atts->eff_ibm_type[l_cur_mba_port][l_cur_mba_dimm] = fapi2::ENUM_ATTR_CEN_EFF_IBM_TYPE_TYPE_1B; } - else if (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 4) + else if ((o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 4) + && (o_atts->eff_stack_type[0][0] == fapi2::ENUM_ATTR_CEN_EFF_STACK_TYPE_STACK_3DS)) { - o_atts->eff_ibm_type[l_cur_mba_port][l_cur_mba_dimm] = fapi2::ENUM_ATTR_CEN_EFF_IBM_TYPE_TYPE_1D; + o_atts->eff_ibm_type[l_cur_mba_port][l_cur_mba_dimm] = fapi2::ENUM_ATTR_CEN_EFF_IBM_TYPE_TYPE_3A; } - else if (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 8) + else if ((o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 8) + && (o_atts->eff_stack_type[0][0] == fapi2::ENUM_ATTR_CEN_EFF_STACK_TYPE_STACK_3DS)) { - o_atts->eff_ibm_type[l_cur_mba_port][l_cur_mba_dimm] = fapi2::ENUM_ATTR_CEN_EFF_IBM_TYPE_TYPE_3A; + o_atts->eff_ibm_type[l_cur_mba_port][l_cur_mba_dimm] = fapi2::ENUM_ATTR_CEN_EFF_IBM_TYPE_TYPE_3B; } else { @@ -2022,26 +2039,86 @@ extern "C" "Currently unsupported DIMM_TYPE on %s!", mss::c_str(i_target_mba)); } + if ( (o_atts->eff_dimm_type == fapi2::ENUM_ATTR_CEN_EFF_DIMM_TYPE_LRDIMM) && + (i_data->dram_device_type[l_cur_mba_port][l_cur_mba_dimm] == + fapi2::ENUM_ATTR_CEN_SPD_DRAM_DEVICE_TYPE_DDR3) && + (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 8) ) + { + o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port] + [l_cur_mba_dimm] = 1; + } + else if ((i_data->dram_device_type[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_DRAM_DEVICE_TYPE_DDR4) + && (i_data->sdram_device_type_signal_loading[l_cur_mba_port][l_cur_mba_dimm] == + fapi2::ENUM_ATTR_CEN_SPD_SDRAM_DEVICE_TYPE_SIGNAL_LOADING_SINGLE_LOAD_STACK)) + { + if(i_data->num_ranks[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_NUM_RANKS_R1) + { + o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = 1; + o_atts->eff_dimm_ranks_configed[l_cur_mba_port][l_cur_mba_dimm] = 0x80; + } + else if(i_data->num_ranks[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_NUM_RANKS_R2) + { + o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = 2; + o_atts->eff_dimm_ranks_configed[l_cur_mba_port][l_cur_mba_dimm] = 0xC0; + } + else if(i_data->num_ranks[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_NUM_RANKS_R4) + { + o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = 4; + o_atts->eff_dimm_ranks_configed[l_cur_mba_port][l_cur_mba_dimm] = 0xF0; + } + } + else + { + // AST HERE: Needs SPD byte33[7,1:0], + // currently hard coded to no stacking + o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = + o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm]; + } + // Support for new attribute ATTR_EFF_DRAM_ADDRESS_MIRRORING + // Bit wise map bit4=RANK0_MIRRORED, bit5=RANK1_MIRRORED, bit6=RANK2_MIRRORED, bit7=RANK3_MIRRORED if ( o_atts->eff_dimm_type == fapi2::ENUM_ATTR_CEN_EFF_DIMM_TYPE_RDIMM ) { if (o_atts->eff_dram_gen == fapi2::ENUM_ATTR_CEN_EFF_DRAM_GEN_DDR4) { // Assuming Byte136[7:0] right align based on dimm_spd_attributes.xml // Mask for bit0 of Byte136 = 0x00000001 - if ((i_data->addr_map_reg_to_dram[l_cur_mba_port][l_cur_mba_dimm] & 0x00000001) != 0) + if ((i_data->addr_map_reg_to_dram[l_cur_mba_port][l_cur_mba_dimm] & 0x01) != 0) { - if (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 4) - { - o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x05; - } - else if (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 2) + + if (o_atts->eff_stack_type[0][0] == fapi2::ENUM_ATTR_CEN_EFF_STACK_TYPE_STACK_3DS) { - o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x04; + if (o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 1) + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x00; + } + else if (o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 2) + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x04; + } + else if (o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 4) + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x05; + } + else + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x00; + } } else { - o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x00; + if (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 4) + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x05; + } + else if (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 2) + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x04; + } + else + { + o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x00; + } } } else @@ -2049,10 +2126,6 @@ extern "C" o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x00; } } - else - { - o_atts->eff_dram_address_mirroring[l_cur_mba_port][l_cur_mba_dimm] = 0x00; - } } else if (( o_atts->eff_dimm_type == fapi2::ENUM_ATTR_CEN_EFF_DIMM_TYPE_UDIMM ) && ( o_atts->eff_custom_dimm == fapi2::ENUM_ATTR_CEN_EFF_CUSTOM_DIMM_YES )) @@ -2137,45 +2210,6 @@ extern "C" [l_cur_mba_dimm] = 0; } - - if ( (o_atts->eff_dimm_type == fapi2::ENUM_ATTR_CEN_EFF_DIMM_TYPE_LRDIMM) && - (i_data->dram_device_type[l_cur_mba_port][l_cur_mba_dimm] == - fapi2::ENUM_ATTR_CEN_SPD_DRAM_DEVICE_TYPE_DDR3) && - (o_atts->eff_num_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] == 8) ) - { - o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port] - [l_cur_mba_dimm] = 1; - } - else if ((i_data->dram_device_type[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_DRAM_DEVICE_TYPE_DDR4) - && (i_data->sdram_device_type_signal_loading[l_cur_mba_port][l_cur_mba_dimm] == - fapi2::ENUM_ATTR_CEN_SPD_SDRAM_DEVICE_TYPE_SIGNAL_LOADING_SINGLE_LOAD_STACK)) - { - if(i_data->num_ranks[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_NUM_RANKS_R1) - { - o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = 1; - o_atts->eff_dimm_ranks_configed[l_cur_mba_port][l_cur_mba_dimm] = 0x80; - } - else if(i_data->num_ranks[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_NUM_RANKS_R2) - { - o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = 2; - o_atts->eff_dimm_ranks_configed[l_cur_mba_port][l_cur_mba_dimm] = 0xC0; - } - else if(i_data->num_ranks[l_cur_mba_port][l_cur_mba_dimm] == fapi2::ENUM_ATTR_CEN_SPD_NUM_RANKS_R4) - { - o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port][l_cur_mba_dimm] = 4; - o_atts->eff_dimm_ranks_configed[l_cur_mba_port][l_cur_mba_dimm] = 0xF0; - } - } - else - { - // AST HERE: Needs SPD byte33[7,1:0], - // currently hard coded to no stacking - o_atts->eff_num_master_ranks_per_dimm[l_cur_mba_port] - [l_cur_mba_dimm] = - o_atts->eff_num_ranks_per_dimm[l_cur_mba_port] - [l_cur_mba_dimm]; - } - o_atts->eff_dimm_rcd_cntl_word_0_15[l_cur_mba_port][l_cur_mba_dimm] = 0x0000000000000000LL; if(o_atts->eff_vpd_version == 0xFFFFFF || diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.H b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.H index a15b4d47d5a..1c70a3918d1 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.H +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config.H @@ -120,7 +120,7 @@ struct mss_eff_config_spd_data uint32_t trfc4min[MAX_PORTS_PER_MBA][MAX_DIMM_PER_PORT]; uint8_t twtrsmin[MAX_PORTS_PER_MBA][MAX_DIMM_PER_PORT]; uint8_t twtrlmin[MAX_PORTS_PER_MBA][MAX_DIMM_PER_PORT]; - uint32_t addr_map_reg_to_dram[MAX_PORTS_PER_MBA][MAX_DIMM_PER_PORT]; // Assuming right align based on dimm_spd_attributes.xml + uint8_t addr_map_reg_to_dram[MAX_PORTS_PER_MBA][MAX_DIMM_PER_PORT]; // Assuming right align based on dimm_spd_attributes.xml // Not needed for GA1 CDIMM, will need to enable check for ISDIMM. uint8_t sdram_optional_features[MAX_PORTS_PER_MBA][MAX_DIMM_PER_PORT]; diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_rank_group.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_rank_group.C index dfdd41e8913..ffcbe28f7f8 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_rank_group.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_rank_group.C @@ -120,34 +120,43 @@ extern "C" { if((l_num_master_ranks[cur_port][0] != 0) && (dram_gen_u8 == 2) && (l_stack_type[cur_port][0] == 2)) { - if(num_ranks_per_dimm_u8array[cur_port][0] == 2) + //Single Drop; TSV; RDIMM; Configure primary rank groups + if(l_num_master_ranks[cur_port][0] == 2) { primary_rank_group0_u8array[cur_port] = 0; - primary_rank_group1_u8array[cur_port] = INVALID; + primary_rank_group1_u8array[cur_port] = 1; primary_rank_group2_u8array[cur_port] = INVALID; primary_rank_group3_u8array[cur_port] = INVALID; - secondary_rank_group0_u8array[cur_port] = 1; + secondary_rank_group0_u8array[cur_port] = INVALID; secondary_rank_group1_u8array[cur_port] = INVALID; secondary_rank_group2_u8array[cur_port] = INVALID; secondary_rank_group3_u8array[cur_port] = INVALID; + tertiary_rank_group0_u8array[cur_port] = INVALID; + tertiary_rank_group1_u8array[cur_port] = INVALID; + tertiary_rank_group2_u8array[cur_port] = INVALID; + tertiary_rank_group3_u8array[cur_port] = INVALID; + quanternary_rank_group0_u8array[cur_port] = INVALID; + quanternary_rank_group1_u8array[cur_port] = INVALID; + quanternary_rank_group2_u8array[cur_port] = INVALID; + quanternary_rank_group3_u8array[cur_port] = INVALID; } //if 4H - else if(num_ranks_per_dimm_u8array[cur_port][0] == 4) + else if(l_num_master_ranks[cur_port][0] == 4) { primary_rank_group0_u8array[cur_port] = 0; - primary_rank_group1_u8array[cur_port] = INVALID; - primary_rank_group2_u8array[cur_port] = INVALID; - primary_rank_group3_u8array[cur_port] = INVALID; - secondary_rank_group0_u8array[cur_port] = 1; + primary_rank_group1_u8array[cur_port] = 1; + primary_rank_group2_u8array[cur_port] = 2; + primary_rank_group3_u8array[cur_port] = 3; + secondary_rank_group0_u8array[cur_port] = INVALID; secondary_rank_group1_u8array[cur_port] = INVALID; secondary_rank_group2_u8array[cur_port] = INVALID; secondary_rank_group3_u8array[cur_port] = INVALID; - tertiary_rank_group0_u8array[cur_port] = 2; + tertiary_rank_group0_u8array[cur_port] = INVALID; tertiary_rank_group1_u8array[cur_port] = INVALID; tertiary_rank_group2_u8array[cur_port] = INVALID; tertiary_rank_group3_u8array[cur_port] = INVALID; - quanternary_rank_group0_u8array[cur_port] = 3; + quanternary_rank_group0_u8array[cur_port] = INVALID; quanternary_rank_group1_u8array[cur_port] = INVALID; quanternary_rank_group2_u8array[cur_port] = INVALID; quanternary_rank_group3_u8array[cur_port] = INVALID; diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_freq.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_freq.C index 283a4a456c1..5df87b9cd40 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_freq.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_freq.C @@ -604,6 +604,13 @@ fapi2::ReturnCode p9c_mss_freq(const fapi2::Target 13) + { + FAPI_INF( "Setting CL to 13 from %d", l_cas_latency); + l_cas_latency = 13; + } + l_cl_mult_tck = l_cas_latency * l_spd_min_tck_max; // If the CL proposed is not supported or the TAA exceeds TAA max