diff options
author | Matt K. Light <mklight@us.ibm.com> | 2015-06-09 15:08:55 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2015-12-11 13:40:20 -0600 |
commit | 2bd57345c076ac946012181eb3b4558c6799b6f0 (patch) | |
tree | 0f5fc3ed8a77513fdf24a51529066ae444e081b3 /src | |
parent | 64d96b1ea99f752d961124ecc5b6f514e32e3397 (diff) | |
download | talos-hostboot-2bd57345c076ac946012181eb3b4558c6799b6f0.tar.gz talos-hostboot-2bd57345c076ac946012181eb3b4558c6799b6f0.zip |
added module vpd get/set interfaces
Change-Id: Ib356940399d428d48fc9cf523495fec4c8ceaa15
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/18322
Tested-by: Jenkins Server
Reviewed-by: Derk Rembold <rembold@de.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Brian Silver <bsilver@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/hwpf/fapi2/include/fapi2.H | 23 | ||||
-rw-r--r-- | src/import/hwpf/fapi2/include/mvpd_access.H | 159 |
2 files changed, 180 insertions, 2 deletions
diff --git a/src/import/hwpf/fapi2/include/fapi2.H b/src/import/hwpf/fapi2/include/fapi2.H index 1056811b3..4e7121fdd 100644 --- a/src/import/hwpf/fapi2/include/fapi2.H +++ b/src/import/hwpf/fapi2/include/fapi2.H @@ -1,3 +1,21 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: hwpf/fapi2/include/fapi2.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* 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. */ +/* */ +/* IBM_PROLOG_END_TAG */ /// /// @file fapi2.H /// @brief top level header for fapi2 @@ -19,10 +37,11 @@ #include <hwp_executor.H> +#include <mvpd_access.H> + // Block of headers not currently in fapi2 #ifdef FAPI2_MISSING_HEADERS - #include <mvpdAccess.H> - #include <mbvpdAccess.H> + #include <mbvpdAccess.H> #endif #endif // __FAPI2_TOP_LEVEL__ diff --git a/src/import/hwpf/fapi2/include/mvpd_access.H b/src/import/hwpf/fapi2/include/mvpd_access.H new file mode 100644 index 000000000..8288d8b81 --- /dev/null +++ b/src/import/hwpf/fapi2/include/mvpd_access.H @@ -0,0 +1,159 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: hwpf/fapi2/include/mvpd_access.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* 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. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/// +/// @file mvpd_access.H +/// +/// @brief Defines the Module VPD functions that platform must implement +/// + +#ifndef _FAPI2_MVPDACCESS_H_ +#define _FAPI2_MVPDACCESS_H_ + +#include <stdint.h> +#include <return_code.H> +#include <target.H> + +namespace fapi2 +{ +enum MvpdRecord +{ + MVPD_RECORD_CRP0 = 0x00, + MVPD_RECORD_CP00 = 0x01, + MVPD_RECORD_VINI = 0x02, + MVPD_RECORD_LRP0 = 0x03, + MVPD_RECORD_LRP1 = 0x04, + MVPD_RECORD_LRP2 = 0x05, + MVPD_RECORD_LRP3 = 0x06, + MVPD_RECORD_LRP4 = 0x07, + MVPD_RECORD_LRP5 = 0x08, + MVPD_RECORD_LRP6 = 0x09, + MVPD_RECORD_LRP7 = 0x0a, + MVPD_RECORD_LRP8 = 0x0b, + MVPD_RECORD_LRP9 = 0x0c, + MVPD_RECORD_LRPA = 0x0d, + MVPD_RECORD_LRPB = 0x0e, + MVPD_RECORD_LRPC = 0x0f, + MVPD_RECORD_LRPD = 0x10, + MVPD_RECORD_LRPE = 0x11, + MVPD_RECORD_LWP0 = 0x12, + MVPD_RECORD_LWP1 = 0x13, + MVPD_RECORD_LWP2 = 0x14, + MVPD_RECORD_LWP3 = 0x15, + MVPD_RECORD_LWP4 = 0x16, + MVPD_RECORD_LWP5 = 0x17, + MVPD_RECORD_LWP6 = 0x18, + MVPD_RECORD_LWP7 = 0x19, + MVPD_RECORD_LWP8 = 0x1a, + MVPD_RECORD_LWP9 = 0x1b, + MVPD_RECORD_LWPA = 0x1c, + MVPD_RECORD_LWPB = 0x1d, + MVPD_RECORD_LWPC = 0x1e, + MVPD_RECORD_LWPD = 0x1f, + MVPD_RECORD_LWPE = 0x20, + MVPD_RECORD_VWML = 0x21, + MVPD_RECORD_MER0 = 0x22, +}; + +enum MvpdKeyword +{ + MVPD_KEYWORD_VD = 0x00, + MVPD_KEYWORD_ED = 0x01, + MVPD_KEYWORD_TE = 0x02, + MVPD_KEYWORD_DD = 0x03, + MVPD_KEYWORD_PDP = 0x04, + MVPD_KEYWORD_ST = 0x05, + MVPD_KEYWORD_DN = 0x06, + MVPD_KEYWORD_PG = 0x07, + MVPD_KEYWORD_PK = 0x08, + MVPD_KEYWORD_PDR = 0x09, + MVPD_KEYWORD_PDV = 0x0a, + MVPD_KEYWORD_PDH = 0x0b, + MVPD_KEYWORD_SB = 0x0c, + MVPD_KEYWORD_DR = 0x0d, + MVPD_KEYWORD_VZ = 0x0e, + MVPD_KEYWORD_CC = 0x0f, + MVPD_KEYWORD_CE = 0x10, + MVPD_KEYWORD_FN = 0x11, + MVPD_KEYWORD_PN = 0x12, + MVPD_KEYWORD_SN = 0x13, + MVPD_KEYWORD_PR = 0x14, + MVPD_KEYWORD_HE = 0x15, + MVPD_KEYWORD_CT = 0x16, + MVPD_KEYWORD_HW = 0x17, + MVPD_KEYWORD_PDM = 0x18, + MVPD_KEYWORD_IN = 0x19, + MVPD_KEYWORD_PD2 = 0x1a, + MVPD_KEYWORD_PD3 = 0x1b, + MVPD_KEYWORD_OC = 0x1c, + MVPD_KEYWORD_FO = 0x1d, + MVPD_KEYWORD_PDI = 0x1e, + MVPD_KEYWORD_PDG = 0x1f, + MVPD_KEYWORD_MK = 0x20, + MVPD_KEYWORD_PB = 0x21, + MVPD_KEYWORD_CH = 0x22, + MVPD_KEYWORD_IQ = 0x23, +}; + +/// +/// @brief Get Module VPD field. +/// +/// A Module VPD field is specified using a record and keyword enumerator +/// +/// Suggested way to call this routine is to call it once with a NULL buffer +/// pointer to to retrieve the size of the record, then allocate the proper +/// size of the buffer and call again. +/// +/// @param[in] i_record Record enumerator +/// @param[in] i_keyword Keyword enumerator +/// @param[in] i_target Reference to processor chip target for the record +/// @param[in] i_pBuffer Pointer to buffer where record will be stored. If +/// NULL then the size of record will be stored in +/// io_fieldSize +/// @param[in,out] io_fieldSize Size of i_pBuffer in bytes +/// +/// @return fapi2::ReturnCode. FAPI_RC_SUCCESS, or failure value. +/// +ReturnCode getMvpdField(const MvpdRecord i_record, + const MvpdKeyword i_keyword, + const Target<TARGET_TYPE_PROC_CHIP> &i_target, + uint8_t * const i_pBuffer, + uint32_t &io_fieldSize); + +/// +/// @brief Set Module VPD field. +/// +/// A Module VPD field is specified using a record and keyword enumerator +/// +/// @param[in] i_record Record enumerator +/// @param[in] i_keyword Keyword enumerator +/// @param[in] i_target Reference to processor chip target for the record +/// @param[in] i_pBuffer Pointer to buffer where data to set is stored +/// @param[in] i_fieldSize Size of i_pBuffer in bytes +/// +/// @return fapi2::ReturnCode. FAPI_RC_SUCCESS, or failure value. +/// +ReturnCode setMvpdField(const MvpdRecord i_record, + const MvpdKeyword i_keyword, + const Target<TARGET_TYPE_PROC_CHIP> &i_target, + const uint8_t * const i_pBuffer, + const uint32_t i_fieldSize); +} + +#endif |