diff options
author | Andre Marin <aamarin@us.ibm.com> | 2019-02-27 13:58:49 -0600 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2019-03-20 09:36:15 -0500 |
commit | e5a493e300da10cd6fe39ecb2e614d63dd11b9fb (patch) | |
tree | b6a1b87872f58946999316a35dd70d604cb00a07 /src/import/generic/memory/lib/data_engine/data_engine_traits_def.H | |
parent | 6d28e5b524f23fb473a6eff52b37f08fbafaf641 (diff) | |
download | talos-hostboot-e5a493e300da10cd6fe39ecb2e614d63dd11b9fb.tar.gz talos-hostboot-e5a493e300da10cd6fe39ecb2e614d63dd11b9fb.zip |
Add attribute engine algorithm for eff_config and pre_eff_config
Change-Id: I8498c143109fa1d1a2c9ad5492476e72f51ba509
Original-Change-Id: I2c89e6da17511462afbc661680d19df18a4708f4
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72962
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/74689
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/generic/memory/lib/data_engine/data_engine_traits_def.H')
-rw-r--r-- | src/import/generic/memory/lib/data_engine/data_engine_traits_def.H | 94 |
1 files changed, 88 insertions, 6 deletions
diff --git a/src/import/generic/memory/lib/data_engine/data_engine_traits_def.H b/src/import/generic/memory/lib/data_engine/data_engine_traits_def.H index 37fb596b4..4a802bd46 100644 --- a/src/import/generic/memory/lib/data_engine/data_engine_traits_def.H +++ b/src/import/generic/memory/lib/data_engine/data_engine_traits_def.H @@ -47,12 +47,67 @@ namespace mss /// enum pre_data_init_fields { - DIMM_TYPE, - DRAM_GEN, - HYBRID, - HYBRID_MEDIA, - MRANKS, - DIMM_RANKS_CNFG, + // Template recursive base case + ATTR_PRE_DATA_ENGINE_CASE = 0, + + DIMM_TYPE = 1, + DRAM_GEN = 2, + HYBRID = 3, + HYBRID_MEDIA = 4, + MRANKS = 5, + DIMM_RANKS_CNFG = 6, + + // Dispatcher set to last enum value + ATTR_PRE_DATA_ENG_DISPATCHER = DIMM_RANKS_CNFG, +}; + +/// +/// @brief enum list of SPD based attr fields to set +/// +enum attr_eff_engine_fields +{ + // Template recursive base case + ATTR_EFF_BASE_CASE = 0, + + // Attrs to set + DRAM_WIDTH = 1, + + // Dispatcher set to last enum value + ATTR_EFF_DISPATCHER = DRAM_WIDTH, +}; + +/// +/// @brief enum list of SI attr fields to set +/// +enum attr_si_engine_fields +{ + // Template recursive base case + ATTR_SI_BASE_CASE = 0, + + // Attrs to set + SI_MC_RCV_IMP_DQ_DQS = 1, + SI_MC_DRV_IMP_DQ_DQS_PULL_UP = 2, + SI_MC_DRV_IMP_DQ_DQS_PULL_DOWN = 3, + SI_MC_DRV_SLEW_RATE_DQ_DQS = 4, + SI_MC_DRV_IMP_CMD_ADDR = 5, + SI_MC_DRV_SLEW_RATE_CMD_ADDR = 6, + SI_MC_DRV_IMP_CLK = 7, + SI_MC_DRV_SLEW_RATE_CLK = 8, + SI_MC_RCV_IMP_ALERT_N = 9, + SI_DRAM_RTT_NOM = 10, + SI_DRAM_RTT_WR = 11, + SI_DRAM_RTT_PARK = 12, + SI_DRAM_PREAMBLE = 13, + SI_MC_DRV_EQ_DQ_DQS = 14, + SI_DRAM_DRV_IMP_DQ_DQS = 15, + SI_VREF_DQ_TRAIN_RANGE = 16, + SI_VREF_DQ_TRAIN_VALUE = 17, + SI_ODT_WR = 18, + SI_ODT_RD = 19, + SI_GEARDOWN_MODE = 20, + + // Dispatcher set to last enum value + ATTR_SI_DISPATCHER = SI_GEARDOWN_MODE, }; /// @@ -64,6 +119,33 @@ enum pre_data_init_fields template< proc_type T, pre_data_init_fields TT > class preDataInitTraits; + +/// +/// @brief Forward declartion of traits for attrEngineTraits +/// @class attrEngineTraits +/// @tparam ET enum type +/// @tparam T enum value +/// +template < typename ET, ET T> +struct attrEngineTraits; + +/// +/// @brief Forward declartion of traits for setTimingTraits +/// @class setTimingTraits +/// @tparam ET enum type +/// @tparam T enum value +/// +template < typename ET, ET T > +struct setTimingTraits; + +/// +/// @brief Forward declartion of traits for attr_engine +/// @class attrEnumTraits +/// @tparam ET enum type +/// +template < typename ET > +struct attrEnumTraits; + }// mss #endif |