summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2014-11-13 17:41:19 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-11-20 16:54:41 -0600
commit492abc33bf93995e4766bae6e038eeebe6cf3d10 (patch)
tree7b34dbc0a29c151125ab7f2206805dbd8f63bb28 /src/include
parent0823ea543186a4e804959168c4b017d91e3091b7 (diff)
downloadtalos-hostboot-492abc33bf93995e4766bae6e038eeebe6cf3d10.tar.gz
talos-hostboot-492abc33bf93995e4766bae6e038eeebe6cf3d10.zip
Integrate mss_eff_config HWP and adjust ISDIMM workarounds
Change-Id: I6d55eaf7c32de6ff116d45074e65516597711761 RTC: 117484 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14478 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William H. Schwartz <whs@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdTermData.H23
-rw-r--r--src/include/usr/hwpf/plat/fapiPlatAttributeService.H16
2 files changed, 35 insertions, 4 deletions
diff --git a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdTermData.H b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdTermData.H
index 16437279d..6b15ea68d 100644
--- a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdTermData.H
+++ b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdTermData.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -64,6 +66,16 @@ const uint16_t TERM_DATA_SPECIAL_MASK = 0x0300;
// checked for work around.
const uint8_t TERM_DATA_CHK60 = 0x40; // check version for keyword to use
+// Values for DIMM_RCD_IBT when using custom dimm or when the
+// VPD version is earlier than "13"
+const uint32_t TERM_DATA_IBT_CDIMM = 0x0;
+const uint32_t TERM_DATA_IBT_PRE13 = 0x64; // IBT_100
+
+// Values for DIMM_RCD_OUTPUT_TIMING when using custom dimm or when the
+// VPD version is earlier than "13"
+const uint8_t TERM_DATA_OUTPUT_TIMING_CDIMM = 0x0;
+const uint8_t TERM_DATA_OUTPUT_TIMING_PRE13 = 0x1; // 1T
+
// There are multiple types of output values. The type is shown in the comment.
//
// Some values are returned directly from the vpd and some vpd values
@@ -78,7 +90,9 @@ const uint8_t TERM_DATA_CHK60 = 0x40; // check version for keyword to use
TERM_DATA_DRAM_RTT_WR = 0x0a, //uint8_t [2][2][4] <translated>
TERM_DATA_ODT_RD = 0x12, //uint8_t [2][2][4]
TERM_DATA_ODT_WR = 0x1a, //uint8_t [2][2][4]
- TERM_DATA_CEN_RD_VREF = 0x22, //uint32_t [2] <translated>
+ TERM_DATA_DIMM_RCD_IBT = 0x22, //uint32_t [2][2]
+ TERM_DATA_DIMM_RCD_OUTPUT_TIMING = 0x24, //uint8_t [2][2]
+ TERM_DATA_CEN_RD_VREF = 0x25, //uint32_t [2] <translated>
TERM_DATA_DRAM_WR_VREF = 0x26, //uint32_t [2] <translated>
TERM_DATA_DRAM_WRDDR4_VREF = 0x2a, //uint8_t [2]
TERM_DATA_CEN_RCV_IMP_DQ_DQS = 0x2b, //uint8_t [2]
@@ -121,6 +135,10 @@ template<>class MBvpdTermDataSize<fapi::TERM_DATA_ODT_RD>
{ public: typedef uint8_t Type[2][2][4]; };
template<>class MBvpdTermDataSize<fapi::TERM_DATA_ODT_WR>
{ public: typedef uint8_t Type[2][2][4]; };
+template<>class MBvpdTermDataSize<fapi::TERM_DATA_DIMM_RCD_IBT>
+ { public: typedef uint32_t Type[2][2]; };
+template<>class MBvpdTermDataSize<fapi::TERM_DATA_DIMM_RCD_OUTPUT_TIMING>
+ { public: typedef uint8_t Type[2][2]; };
template<>class MBvpdTermDataSize<fapi::TERM_DATA_CEN_RD_VREF>
{ public: typedef uint32_t Type[2]; };
template<>class MBvpdTermDataSize<fapi::TERM_DATA_DRAM_WR_VREF>
@@ -236,7 +254,6 @@ fapi::ReturnCode getMBvpdTermData(
const fapi::MBvpdTermData i_attr,
void * o_pVal,
const uint32_t i_valSize);
-
}
#endif
diff --git a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
index e82d7f556..79dd46229 100644
--- a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
+++ b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H
@@ -760,7 +760,8 @@ fapi::ReturnCode getIsDimmToC4DQS
(const fapi::Target * i_pTarget,
uint8_t (&o_val) [DIMM_TO_C4_PORTS][DIMM_TO_C4_DQS_ENTRIES]);
-/* @brief This function is called by the FAPI_ATTR_GET macro when getting
+/**
+ * @brief This function is called by the FAPI_ATTR_GET macro when getting
* the ATTR_VPD_DIMM_RCD_CNTL_WORD_0_15 attribute.
* It should not be called directly.
*
@@ -770,6 +771,7 @@ fapi::ReturnCode getIsDimmToC4DQS
*/
fapi::ReturnCode fapiPlatGetRCDCntlWord015 (const fapi::Target * i_pTarget,
uint64_t & o_val);
+
} // namespace platAttrSvc
} // namespace fapi
@@ -1890,6 +1892,18 @@ fapi::ReturnCode fapiPlatGetRCDCntlWord015 (const fapi::Target * i_pTarget,
(checkTermDataType<fapi::TERM_DATA_ODT_WR>(VAL), \
fapi::platAttrSvc::fapiPlatGetTermData\
(PTARGET, fapi::TERM_DATA_ODT_WR , VAL, sizeof(VAL)))
+#define ATTR_VPD_DIMM_RCD_IBT_GETMACRO(ID, PTARGET, VAL)\
+ fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
+ fapi::FAPI_RC_SUCCESS :\
+ (checkTermDataType<fapi::TERM_DATA_DIMM_RCD_IBT>(VAL), \
+ fapi::platAttrSvc::fapiPlatGetTermData\
+ (PTARGET, fapi::TERM_DATA_DIMM_RCD_IBT , VAL, sizeof(VAL)))
+#define ATTR_VPD_DIMM_RCD_OUTPUT_TIMING_GETMACRO(ID, PTARGET, VAL)\
+ fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
+ fapi::FAPI_RC_SUCCESS :\
+ (checkTermDataType<fapi::TERM_DATA_DIMM_RCD_OUTPUT_TIMING>(VAL), \
+ fapi::platAttrSvc::fapiPlatGetTermData\
+ (PTARGET, fapi::TERM_DATA_DIMM_RCD_OUTPUT_TIMING , VAL, sizeof(VAL)))
#define ATTR_VPD_CEN_RD_VREF_GETMACRO(ID, PTARGET, VAL)\
fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\
fapi::FAPI_RC_SUCCESS :\
OpenPOWER on IntegriCloud