summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/fapi2/attribute_service.H32
-rw-r--r--src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H4
2 files changed, 31 insertions, 5 deletions
diff --git a/src/include/usr/fapi2/attribute_service.H b/src/include/usr/fapi2/attribute_service.H
index 2e20eec45..2a3ebc9c9 100644
--- a/src/include/usr/fapi2/attribute_service.H
+++ b/src/include/usr/fapi2/attribute_service.H
@@ -537,6 +537,14 @@ ReturnCode platGetFreqMcaMhz(const Target<TARGET_TYPE_ALL>& i_fapiTarget,
ReturnCode platSetFreqMcaMhz(const Target<TARGET_TYPE_ALL>& i_fapiTarget,
uint32_t i_val);
+/// @brief This function is called by the FAPI_ATTR_GET macro when getting
+// ATTR_MC_PLL_BUCKET
+// @param[in] i_fapiTarget FAPI2 Target pointer
+// @param[in] o_val PLL bucket associated with a given OMI freq
+// @return ReturnCode Zero on success, else platform specified error.
+ReturnCode platGetMcPllBucket(const Target<TARGET_TYPE_ALL>& i_fapiTarget,
+ uint8_t& o_val);
+
// -----------------------------------------------------------------------------
// End TODO: End to be supported functions
// -----------------------------------------------------------------------------
@@ -1681,10 +1689,6 @@ fapiToTargeting::ID, sizeof(VAL), &(VAL))
// MACRO to route ATTR_FREQ_MCA_MHZ access to the correct HB function
//----------------------------------------------------------------------------
-// For Axone ATTR_FREQ_MCA_MHZ is a regular writable attribute
-// For Nimbus/Cumulus ATTR_FREQ_MCA_MHZ is readonly and based on NEST
-#ifndef CONFIG_AXONE
-
#undef ATTR_FREQ_MCA_MHZ_GETMACRO
#define ATTR_FREQ_MCA_MHZ_GETMACRO(ID, TARGET, VAL) \
AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\
@@ -1697,6 +1701,24 @@ fapiToTargeting::ID, sizeof(VAL), &(VAL))
? fapi2::ReturnCode() : \
fapi2::platAttrSvc::platErrorOnSet(TARGET, VAL)
-#endif
+#ifdef CONFIG_AXONE
+
+//----------------------------------------------------------------------------
+// MACRO to route ATTR_MC_PLL_BUCKET access to the correct HB function
+//----------------------------------------------------------------------------
+
+#undef ATTR_MC_PLL_BUCKET_GETMACRO
+#define ATTR_MC_PLL_BUCKET_GETMACRO(ID, TARGET, VAL) \
+ AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\
+ ? fapi2::ReturnCode() : \
+ fapi2::platAttrSvc::\
+ platGetMcPllBucket(TARGET, VAL)
+#undef ATTR_MC_PLL_BUCKET_SETMACRO
+#define ATTR_MC_PLL_BUCKET_SETMACRO(ID, TARGET, VAL) \
+ AttrOverrideSync::getAttrOverrideFunc(ID, TARGET, &VAL)\
+ ? fapi2::ReturnCode() : \
+ fapi2::platAttrSvc::platErrorOnSet(TARGET, VAL)
+
+#endif //CONFIG_AXONE
#endif // ATTRIBUTESERVICE_H_
diff --git a/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H b/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H
index 9d276b67c..8c85fa1dd 100644
--- a/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H
+++ b/src/include/usr/fapi2/hwpf_fapi2_reasoncodes.H
@@ -69,6 +69,9 @@ namespace fapi2
MOD_FAPI2_MONITOR_FOR_FSP_MSGS = 0x1A,
MOD_FAPI2_PLAT_GET_VPD_OCMB = 0x1B,
MOD_FAPI2_PLAT_ERROR_ON_SET = 0x1C,
+ MOD_FAPI2_PLAT_GET_MC_PLL_BUCKET = 0x1D,
+ MOD_FAPI2_PLAT_GET_FREQ_MCA_MHZ = 0x1E,
+ MOD_GET_OMI_FREQ_AND_VCO = 0x1F,
};
/**
@@ -139,6 +142,7 @@ namespace fapi2
// PLL_BUCKET generated errors
RC_NO_MATCHING_FREQ = HWPF_COMP_ID | 0x31,
RC_FREQ_LIST_NOT_FOUND = HWPF_COMP_ID | 0x32,
+ RC_PROC_FREQ_MISMATCH = HWPF_COMP_ID | 0x33,
};
/**
OpenPOWER on IntegriCloud