diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2014-11-13 17:41:19 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-11-20 16:54:41 -0600 |
commit | 492abc33bf93995e4766bae6e038eeebe6cf3d10 (patch) | |
tree | 7b34dbc0a29c151125ab7f2206805dbd8f63bb28 /src/include | |
parent | 0823ea543186a4e804959168c4b017d91e3091b7 (diff) | |
download | talos-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.H | 23 | ||||
-rw-r--r-- | src/include/usr/hwpf/plat/fapiPlatAttributeService.H | 16 |
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 :\ |