diff options
Diffstat (limited to 'src/include/usr/hwpf')
3 files changed, 458 insertions, 1 deletions
diff --git a/src/include/usr/hwpf/fapi/fapiMBvpdAccess.H b/src/include/usr/hwpf/fapi/fapiMBvpdAccess.H index f53c89a8e..5fa79f5fa 100644 --- a/src/include/usr/hwpf/fapi/fapiMBvpdAccess.H +++ b/src/include/usr/hwpf/fapi/fapiMBvpdAccess.H @@ -28,13 +28,14 @@ * must implement * */ - +// $Id: fapiMBvpdAccess.H,v 1.2 2013/04/29 16:09:31 whs Exp $ /* * Change Log ****************************************************************** * Flag Defect/Feature User Date Description * ------ -------------- ---------- ----------- ---------------------------- * whs 01/24/2013 Added fapiGetMBvpdField + * whs 04/29/2013 Added VSPD record, keywords */ #ifndef _FAPI_FAPIMBVPDACCESS_H_ @@ -52,12 +53,22 @@ namespace fapi MBVPD_RECORD_VEIR = 0x00, MBVPD_RECORD_VER0 = 0x01, MBVPD_RECORD_MER0 = 0x02, + MBVPD_RECORD_VSPD = 0x03, }; enum MBvpdKeyword { MBVPD_KEYWORD_PDI = 0x00, + MBVPD_KEYWORD_PF = 0x01, + MBVPD_KEYWORD_MT = 0x02, + MBVPD_KEYWORD_MR = 0x03, + MBVPD_KEYWORD_PDA = 0x04, + MBVPD_KEYWORD_EL = 0x05, + MBVPD_KEYWORD_LM = 0x06, + MBVPD_KEYWORD_MW = 0x07, + MBVPD_KEYWORD_MV = 0x08, }; + } extern "C" diff --git a/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdPhaseRotatorData.H b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdPhaseRotatorData.H new file mode 100644 index 000000000..88616a179 --- /dev/null +++ b/src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdPhaseRotatorData.H @@ -0,0 +1,128 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdPhaseRotatorData.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: getMBvpdPhaseRotatorData.H,v 1.2 2013/04/29 16:48:15 whs Exp + +/** + * @file getMBvpdPhaseRotatorData.H + * + * @brief Prototype for getMBvpdPhaseRotatorData() - + * get Phase Rotator Data from MBvpd + */ + +#ifndef _HWP_MVPDPHASERATORDATA_ +#define _HWP_MVPDPHASERATORDATA_ + +#include <fapi.H> + +namespace fapi +{ + +// values match offset into MR keyword data + enum MBvpdPhaseRotatorData + { + PHASE_ROT_M0_CLK_P0 = 0x00, + PHASE_ROT_M0_CLK_P1 = 0x01, + PHASE_ROT_M1_CLK_P0 = 0x02, + PHASE_ROT_M1_CLK_P1 = 0x03, + PHASE_ROT_M_CMD_A0 = 0x04, + PHASE_ROT_M_CMD_A1 = 0x05, + PHASE_ROT_M_CMD_A2 = 0x06, + PHASE_ROT_M_CMD_A3 = 0x07, + PHASE_ROT_M_CMD_A4 = 0x08, + PHASE_ROT_M_CMD_A5 = 0x09, + PHASE_ROT_M_CMD_A6 = 0x0a, + PHASE_ROT_M_CMD_A7 = 0x0b, + PHASE_ROT_M_CMD_A8 = 0x0c, + PHASE_ROT_M_CMD_A9 = 0x0d, + PHASE_ROT_M_CMD_A10 = 0x0e, + PHASE_ROT_M_CMD_A11 = 0xf, + PHASE_ROT_M_CMD_A12 = 0x10, + PHASE_ROT_M_CMD_A13 = 0x11, + PHASE_ROT_M_CMD_A14 = 0x12, + PHASE_ROT_M_CMD_A15 = 0x13, + PHASE_ROT_M_CMD_BA0 = 0x14, + PHASE_ROT_M_CMD_BA1 = 0x15, + PHASE_ROT_M_CMD_BA2 = 0x16, + PHASE_ROT_M_CMD_CASN = 0x17, + PHASE_ROT_M_CMD_RASN = 0x18, + PHASE_ROT_M_CMD_WEN = 0x19, + PHASE_ROT_M_PAR = 0x1a, + PHASE_ROT_M_ACTN = 0x1b, + PHASE_ROT_M0_CNTL_CKE0 = 0x1c, + PHASE_ROT_M0_CNTL_CKE1 = 0x1d, + PHASE_ROT_M0_CNTL_CKE2 = 0x1e, + PHASE_ROT_M0_CNTL_CKE3 = 0x1f, + PHASE_ROT_M0_CNTL_CSN0 = 0x20, + PHASE_ROT_M0_CNTL_CSN1 = 0x21, + PHASE_ROT_M0_CNTL_CSN2 = 0x22, + PHASE_ROT_M0_CNTL_CSN3 = 0x23, + PHASE_ROT_M0_CNTL_ODT0 = 0x24, + PHASE_ROT_M0_CNTL_ODT1 = 0x25, + PHASE_ROT_M1_CNTL_CKE0 = 0x26, + PHASE_ROT_M1_CNTL_CKE1 = 0x27, + PHASE_ROT_M1_CNTL_CKE2 = 0x28, + PHASE_ROT_M1_CNTL_CKE3 = 0x29, + PHASE_ROT_M1_CNTL_CSN0 = 0x2a, + PHASE_ROT_M1_CNTL_CSN1 = 0x2b, + PHASE_ROT_M1_CNTL_CSN2 = 0x2c, + PHASE_ROT_M1_CNTL_CSN3 = 0x2d, + PHASE_ROT_M1_CNTL_ODT0 = 0x2e, + PHASE_ROT_M1_CNTL_ODT1 = 0x2f, +// The max value is 0x3f. The MR keyword is 255 bytes. There is only room for +// 63 attributes per port. There are 4 x 64 byte sections, +// but the last one is 1 byte short. + }; +} + +// function pointer typedef definition for HWP call support +typedef fapi::ReturnCode (*getMBvpdPhaseRotatorData_FP_t) + (const fapi::Target &, const fapi::MBvpdPhaseRotatorData, + uint8_t (&)[2]); + + +extern "C" +{ +/** + * @brief get Phase Rotator Data from cvpd record VSPD keyword MR + * + * There are Phase Rotator attributes for the mba's 2 ports in cvpd + * record VSPD keyword MR. Each attribute has 2 bytes, one for each port. + * There are two mba per memory buffer, position 0 and position 1. + * + * @param i_mbaTarget - mba target + * @param i_attr - Phase Rotator Data attribute enumerator + * @param o_val - Phase Rotator Data for each of the 2 ports + * [0] port A (position 0) Port C (position 1) + * [1] port B (position 0) Port D (position 1) + * + * @return fapi::ReturnCode - FAPI_RC_SUCCESS if success, + * relevant error code for failure. + */ +fapi::ReturnCode getMBvpdPhaseRotatorData( + const fapi::Target &i_mbaTarget, + const fapi::MBvpdPhaseRotatorData i_attr, + uint8_t (&o_val)[2]); + +} + +#endif diff --git a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H index 3fb49a56d..812ecb6fc 100644 --- a/src/include/usr/hwpf/plat/fapiPlatAttributeService.H +++ b/src/include/usr/hwpf/plat/fapiPlatAttributeService.H @@ -53,6 +53,7 @@ #include <hwpf/fapi/fapiReturnCode.H> #include <hwpf/fapi/fapiTarget.H> #include <hwpf/plat/fapiPlatAttrOverrideSync.H> +#include <hwpf/hwp/mvpd_accessors/getMBvpdPhaseRotatorData.H> #include <vpd/spdenums.H> #include <dimmConsts.H> #include <util/singleton.H> @@ -442,6 +443,21 @@ fapi::ReturnCode fapiPlatGetSingleMemberEnableAttr( const fapi::Target * i_pTarget, uint32_t & o_val); +/** + * @brief This function is called by the FAPI_ATTR_GET macro when getting + * the Phase Rotator Data attributes + * It should not be called directly. + * + * @param[in] i_pTarget Target pointer + * @param[in] i_attr Phase Rotator Data enumerator item + * @param[out] o_val Phase Rotator Data for each of the 2 ports + * @return ReturnCode. Zero on success, else platform specified error + */ +fapi::ReturnCode fapiPlatGetPhaseRotatorData ( + const fapi::Target * i_pTarget, + const fapi::MBvpdPhaseRotatorData i_attr, + uint8_t (&o_val) [2] ); + } // namespace platAttrSvc } // namespace fapi @@ -750,4 +766,306 @@ fapi::ReturnCode fapiPlatGetSingleMemberEnableAttr( #define ATTR_EX_L2_SINGLE_MEMBER_ENABLE_GETMACRO( ID, PTARGET, VAL ) \ fapi::platAttrSvc::fapiPlatGetSingleMemberEnableAttr ( PTARGET, VAL ) +// TODO: RTC 69935 complete Phase Rotator Data. +// Use this code to fully implements 59048. +// Remove Phase Rotator attributes from attribute_types.xml +// and target_types.xml then enable the following. +// The "sets" are only needed to temporarily allow mss_eff_config_termination.C +// to do FAPI_ATTR_SET, but need to be removed when fully complete. +#define RTC69935 0 +#if RTC69935 +//------------------------------------------------------------------------------ +// MACROS to support MBVPD Phase Rotator attributes +//------------------------------------------------------------------------------ +#define ATTR_EFF_CEN_PHASE_ROT_M0_CLK_P0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CLK_P0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CLK_P1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CLK_P1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CLK_P0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CLK_P0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CLK_P1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CLK_P1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A2_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A2, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A3_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A3, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A4_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A4, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A5_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A5, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A6_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A6, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A7_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A7, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A8_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A8, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A9_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A9, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A10_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A10, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A11_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A11, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A12_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A12, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A13_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A13, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A14_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A14, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A15_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_A15, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_BA0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_BA0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_BA1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_BA1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_BA2_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_BA2, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_CASN_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_CASN, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_RASN_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_RASN, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_WEN_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_CMD_WEN, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_PAR_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_PAR, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M_ACTN_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M_ACTN, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CKE0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CKE1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE2_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CKE2, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE3_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CKE3, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CSN0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CSN1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN2_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CSN2, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN3_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_CSN3, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_ODT0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_ODT0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_ODT1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M0_CNTL_ODT1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CKE0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CKE1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE2_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CKE2, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE3_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CKE3, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CSN0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CSN1, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN2_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CSN2, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN3_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_CSN3, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_ODT0_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_ODT0, VAL) +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_ODT1_GETMACRO(ID, PTARGET, VAL)\ + fapi::AttrOverrideSync::getAttrOverrideFunc(fapi::ID, PTARGET, &VAL) ?\ + fapi::FAPI_RC_SUCCESS : fapi::platAttrSvc::fapiPlatGetPhaseRotatorData\ + (PTARGET, PHASE_ROT_M1_CNTL_ODT1, VAL) +// TODO: RTC 69935: remove the no op sets once work around in +// mss_eff_config_termination.C is removed +#define ATTR_EFF_CEN_PHASE_ROT_M0_CLK_P0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CLK_P1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CLK_P0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CLK_P1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A2_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A3_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A4_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A5_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A6_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A7_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A8_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A9_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A10_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A11_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A12_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A13_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A14_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_A15_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_BA0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_BA1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_BA2_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_CASN_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_RASN_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_CMD_WEN_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_PAR_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M_ACTN_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE2_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CKE3_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN2_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_CSN3_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_ODT0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M0_CNTL_ODT1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE2_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CKE3_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN2_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_CSN3_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_ODT0_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#define ATTR_EFF_CEN_PHASE_ROT_M1_CNTL_ODT1_SETMACRO(ID, PTARGET, VAL)\ + fapi::FAPI_RC_SUCCESS +#endif #endif // FAPIPLATATTRIBUTESERVICE_H_ |

