diff options
4 files changed, 60 insertions, 7 deletions
diff --git a/src/include/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.H b/src/include/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.H index f2696525c..8696dba16 100644 --- a/src/include/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.H +++ b/src/include/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2013 */ +/* COPYRIGHT International Business Machines Corp. 2013,2014 */ /* */ /* p1 */ /* */ @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: getPllRingInfoAttr.H,v 1.1 2013/12/05 18:23:29 mjjones Exp $ +// $Id: getPllRingInfoAttr.H,v 1.2 2014/01/17 23:50:25 whs Exp $ /** * @file getPllRingInfoAttr.H * @@ -46,6 +46,7 @@ namespace fapi PROC_ABUS_CUPLL_REFCLKSEL_OFFSET = 0x04, MEMB_DMI_CUPLL_PFD360_OFFSET = 0x05, MEMB_DMI_CUPLL_REFCLKSEL_OFFSET = 0x06, + MEMB_MEM_PLL_CFG_UPDATE_OFFSET = 0x07, }; } } diff --git a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H index 709f70a93..8deb64e68 100644 --- a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H +++ b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* COPYRIGHT International Business Machines Corp. 2011,2014 */ /* */ /* p1 */ /* */ @@ -1633,6 +1633,11 @@ fapi::ReturnCode fapiPlatGetL3DDAttr(const fapi::Target * i_pProcTarget, #define ATTR_MEMB_DMI_CUPLL_REFCLKSEL_OFFSET_GETMACRO(ID, PTARGET, VAL) \ fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ? fapi::FAPI_RC_SUCCESS : \ fapi::platAttrSvc::fapiPlatGetPllInfoAttr(PTARGET, fapi::getPllRingInfo::MEMB_DMI_CUPLL_REFCLKSEL_OFFSET, &VAL, sizeof(VAL)) +#define ATTR_MEMB_MEM_PLL_CFG_UPDATE_OFFSET_GETMACRO(ID, PTARGET, VAL) \ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : \ + fapi::platAttrSvc::fapiPlatGetPllInfoAttr(PTARGET,\ + fapi::getPllRingInfo::MEMB_MEM_PLL_CFG_UPDATE_OFFSET, &VAL, sizeof(VAL)) //------------------------------------------------------------------------------ // MACROs to support DIMM SPD Attributes that are handled by an Accessor HWP diff --git a/src/usr/hwpf/hwp/dram_training/mem_pll_setup/memb_pll_ring_attributes.xml b/src/usr/hwpf/hwp/dram_training/mem_pll_setup/memb_pll_ring_attributes.xml index 3a0740fd5..65a8e8982 100644 --- a/src/usr/hwpf/hwp/dram_training/mem_pll_setup/memb_pll_ring_attributes.xml +++ b/src/usr/hwpf/hwp/dram_training/mem_pll_setup/memb_pll_ring_attributes.xml @@ -5,7 +5,7 @@ <!-- --> <!-- IBM CONFIDENTIAL --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2013 --> +<!-- COPYRIGHT International Business Machines Corp. 2013,2014 --> <!-- --> <!-- p1 --> <!-- --> @@ -22,7 +22,7 @@ <!-- IBM_PROLOG_END_TAG --> <attributes> <!-- ********************************************************************* --> - <!-- $Id: memb_pll_ring_attributes.xml,v 1.11 2013/10/24 19:29:14 mfred Exp $ --> + <!-- $Id: memb_pll_ring_attributes.xml,v 1.12 2014/01/14 16:13:30 jmcgill Exp $ --> <attribute> <id>ATTR_MEMB_TP_BNDY_PLL_DATA</id> <targetType>TARGET_TYPE_MEMBUF_CHIP</targetType> @@ -347,4 +347,16 @@ <persistRuntime/> </attribute> <!-- ********************************************************************* --> + <attribute> + <id>ATTR_MEMB_MEM_PLL_CFG_UPDATE_OFFSET</id> + <targetType>TARGET_TYPE_MEMBUF_CHIP</targetType> + <description>Scan chain position of MEM PLL PLLCTRL1(44) bit in tp_pll_bndy chain (Offset from beginning of chain) + creator: platform + firmware notes: + </description> + <valueType>uint32</valueType> + <platInit/> + <persistRuntime/> + </attribute> + <!-- ********************************************************************* --> </attributes> diff --git a/src/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.C b/src/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.C index 66cec9e0e..b8d7e7d52 100644 --- a/src/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.C +++ b/src/usr/hwpf/hwp/pll_accessors/getPllRingInfoAttr.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2013 */ +/* COPYRIGHT International Business Machines Corp. 2013,2014 */ /* */ /* p1 */ /* */ @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: getPllRingInfoAttr.C,v 1.1 2013/12/05 18:23:19 mjjones Exp $ +// $Id: getPllRingInfoAttr.C,v 1.2 2014/01/17 23:50:05 whs Exp $ /** * @file getPllRingInfoAttr.C * @@ -497,6 +497,38 @@ fapi::ReturnCode get_MEMB_DMI_CUPLL_REFCLKSEL_OFFSET( return l_rc; } +/** + * @brief Returns MEMB_MEM_PLL_CFG_UPDATE_OFFSET data + * + * This is the scan chain position of MEM PLL PLLCTRL1(44) bit in tp_pll_bndy + * chain (Offset from beginning of chain) + * + * @param[in] i_membChip Reference to Membuf Chip fapi target + * @param[out] o_pVal Pointer to data buffer filled in with attribute data + * @param[in] i_len Size of o_pVal + * + * @return fapi::ReturnCode Indicating success or error + */ +fapi::ReturnCode get_MEMB_MEM_PLL_CFG_UPDATE_OFFSET( + const fapi::Target & i_membChip, + void * o_pVal, + const size_t i_len) +{ + fapi::ATTR_MEMB_MEM_PLL_CFG_UPDATE_OFFSET_Type & o_val = + *(reinterpret_cast<fapi::ATTR_MEMB_MEM_PLL_CFG_UPDATE_OFFSET_Type *>( + o_pVal)); + + fapi::ReturnCode l_rc = pllInfoCheckSize( + fapi::getPllRingInfo::MEMB_MEM_PLL_CFG_UPDATE_OFFSET, i_len, + sizeof(o_val)); + + if (!l_rc) + { + o_val = 322; // for all current Centaur ECs + } + return l_rc; +} + //----------------------------------------------------------------------------- // getPllRingInfoAttr HWP - See header file for details //----------------------------------------------------------------------------- @@ -527,6 +559,9 @@ fapi::ReturnCode getPllRingInfoAttr(const fapi::Target & i_chip, case fapi::getPllRingInfo::MEMB_DMI_CUPLL_REFCLKSEL_OFFSET: l_rc = get_MEMB_DMI_CUPLL_REFCLKSEL_OFFSET(i_chip, o_pVal, i_len); break; + case fapi::getPllRingInfo::MEMB_MEM_PLL_CFG_UPDATE_OFFSET: + l_rc = get_MEMB_MEM_PLL_CFG_UPDATE_OFFSET(i_chip, o_pVal, i_len); + break; default: FAPI_ERR("getPllRingInfoAttr: Invalid Attribute ID 0x%02x", i_attr); const fapi::getPllRingInfo::Attr & ATTR_ID = i_attr; |