summaryrefslogtreecommitdiffstats
path: root/src/import/generic/memory/lib/data_engine/data_engine_traits_def.H
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2019-02-27 13:58:49 -0600
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-03-20 09:36:15 -0500
commite5a493e300da10cd6fe39ecb2e614d63dd11b9fb (patch)
treeb6a1b87872f58946999316a35dd70d604cb00a07 /src/import/generic/memory/lib/data_engine/data_engine_traits_def.H
parent6d28e5b524f23fb473a6eff52b37f08fbafaf641 (diff)
downloadtalos-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.H94
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
OpenPOWER on IntegriCloud