summaryrefslogtreecommitdiffstats
path: root/src/include/usr/hwpf
diff options
context:
space:
mode:
authorBill Schwartz <whs@us.ibm.com>2013-04-25 10:26:12 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-05-08 10:50:44 -0500
commit750329e0758039e2692b3c26c28a4debb8feea1c (patch)
treeb969bc3db446d62892f20e002456cea2f7cd21ec /src/include/usr/hwpf
parent1d3a43698a3abc6c39098c2d4684ab47fb9a41bc (diff)
downloadblackbird-hostboot-750329e0758039e2692b3c26c28a4debb8feea1c.tar.gz
blackbird-hostboot-750329e0758039e2692b3c26c28a4debb8feea1c.zip
Retrieve Phase Rotator Values from CDIMM VPD
Update cvpd dd for VSPD record, including MR keyword Update fapiGetPlatMBvpdAccess for VSPD record Create an accessor to retrieve Phase Rotator attributes from MR keyword Add, but comment out FAPI_ATTR_GET changes until CDIMM vpd is valid (69935). Change-Id: I053aac1f7477f6e9c6d53bfa68c29cb53f872034 RTC: 59048 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4212 Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/hwpf')
-rw-r--r--src/include/usr/hwpf/fapi/fapiMBvpdAccess.H13
-rw-r--r--src/include/usr/hwpf/hwp/mvpd_accessors/getMBvpdPhaseRotatorData.H128
-rw-r--r--src/include/usr/hwpf/plat/fapiPlatAttributeService.H318
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_
OpenPOWER on IntegriCloud