summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorTerry J. Opie <opiet@us.ibm.com>2012-03-07 13:39:53 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-04-04 21:02:11 -0500
commitade5f3e69bf455b78e10da68c0ac0d2d5fdb1f6c (patch)
tree29bcedfb462d476c4d1ace8a29cee543e465510b /src/include
parent4e29fbf87555f7d1b4c9923203f091bde397e2a6 (diff)
downloadblackbird-hostboot-ade5f3e69bf455b78e10da68c0ac0d2d5fdb1f6c.tar.gz
blackbird-hostboot-ade5f3e69bf455b78e10da68c0ac0d2d5fdb1f6c.zip
MVPD Device Driver
- MVPD test cases - Add temp binary image file - Adjust SPD/DIMM Pres Detect tests to operate on 1 DIMM. Change-Id: Iaaacd4787ba8e8a8d74f3c427507d98a5f0b218c RTC: 35329 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/777 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/devicefw/userif.H11
-rw-r--r--src/include/usr/hbotcompid.H18
-rw-r--r--src/include/usr/mvpd/mvpdenums.H124
-rw-r--r--src/include/usr/mvpd/mvpdreasoncodes.H79
4 files changed, 228 insertions, 4 deletions
diff --git a/src/include/usr/devicefw/userif.H b/src/include/usr/devicefw/userif.H
index 8d95db3a9..acd5d5ada 100644
--- a/src/include/usr/devicefw/userif.H
+++ b/src/include/usr/devicefw/userif.H
@@ -48,6 +48,7 @@ namespace DeviceFW
PRESENT,
FSI,
SPD,
+ MVPD,
LAST_ACCESS_TYPE,
};
@@ -97,6 +98,16 @@ namespace DeviceFW
DeviceFW::MAILBOX, static_cast<uint64_t*>((o_status))
/**
+ * Construct the device addressing parameters for the MVPD device ops.
+ * @param[in] i_record - The enumeration of the MVPD record to access.
+ * @param[in] i_keyword - The enumeration of the MVPD keyword, located
+ * within the i_record Record to access.
+ */
+ #define DEVICE_MVPD_ADDRESS( i_record, i_keyword )\
+ DeviceFW::MVPD, static_cast<uint64_t>(( i_record )),\
+ static_cast<uint64_t>(( i_keyword ))
+
+ /**
* @brief Perform a hardware read operation.
*
* @param[in] i_target Device target to operate on.
diff --git a/src/include/usr/hbotcompid.H b/src/include/usr/hbotcompid.H
index df0280f14..7888327f3 100644
--- a/src/include/usr/hbotcompid.H
+++ b/src/include/usr/hbotcompid.H
@@ -171,7 +171,7 @@ const char INTR_COMP_NAME[] = "intr";
//@}
/** @name SPD
- * EEPROM device driver component
+ * DIMM SPD device driver component
*/
//@{
const compId_t SPD_COMP_ID = 0x1000;
@@ -186,9 +186,19 @@ const compId_t HBMBOX_COMP_ID = 0x1100;
const char HBMBOX_COMP_NAME[] = "mbox";
//@}
-/** @name FIPS_ERRL
- * Used to add component trace to an error log
- * so that it can be decoded by the FSP errlog parser
+/** @name MVPD
+ * MVPD device driver component
+ */
+//@{
+const compId_t MVPD_COMP_ID = 0x1200;
+const char MVPD_COMP_NAME[] = "mvpd";
+//@}
+
+/** @name RESERVED
+ * Reserved component ID. x3100 is the component ID
+ * of FipS ERRL component. Due to our use of
+ * of the FipS errl tool, let no Hostboot component
+ * use this component ID.
*/
//@{
const compId_t FIPS_ERRL_COMP_ID = 0x3100;
diff --git a/src/include/usr/mvpd/mvpdenums.H b/src/include/usr/mvpd/mvpdenums.H
new file mode 100644
index 000000000..fdb9486ca
--- /dev/null
+++ b/src/include/usr/mvpd/mvpdenums.H
@@ -0,0 +1,124 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/include/usr/mvpd/mvpdenums.H $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2012
+//
+// 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 other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+/**
+ * @file MVpdenums.H
+ *
+ * @brief Enums for the MVPD fields to be requested.
+ *
+ */
+#ifndef __MVPDENUMS_H
+#define __MVPDENUMS_H
+
+namespace MVPD
+{
+
+/**
+* @brief Enumeration for the MVPD Records that contain
+* the keyword enumerations below.
+*/
+enum mvpdRecord
+{
+ MVPD_FIRST_RECORD = 0x00,
+ CRP0 = MVPD_FIRST_RECORD,
+ CP00 = 0x01,
+ VINI = 0x02,
+ LRP0 = 0x03,
+ LRP1 = 0x04,
+ LRP2 = 0x05,
+ LRP3 = 0x06,
+ LRP4 = 0x07,
+ LRP5 = 0x08,
+ LRP6 = 0x09,
+ LRP7 = 0x0a,
+ LRP8 = 0x0b,
+ LRP9 = 0x0c,
+ LRPA = 0x0d,
+ LRPB = 0x0e,
+ LWP0 = 0x0f,
+ LWP1 = 0x10,
+ LWP2 = 0x11,
+ LWP3 = 0x12,
+ LWP4 = 0x13,
+ LWP5 = 0x14,
+ LWP6 = 0x15,
+ LWP7 = 0x16,
+ LWP8 = 0x17,
+ LWP9 = 0x18,
+ LWPA = 0x19,
+ LWPB = 0x1a,
+ VWML = 0x1b,
+
+ // Last Record
+ MVPD_LAST_RECORD,
+ MVPD_TEST_RECORD, // Test purposes ONLY!
+ MVPD_INVALID_RECORD = 0xFFFF,
+};
+
+/**
+* @brief Enumerations for MVPD keywords that can be
+* accessed in the MVPD.
+*/
+enum mvpdKeyword
+{
+ MVPD_FIRST_KEYWORD = 0x00,
+ VD = MVPD_FIRST_KEYWORD,
+ ED = 0x01,
+ TE = 0x02,
+ DD = 0x03,
+ pdP = 0x04,
+ ST = 0x05,
+ DN = 0x06,
+ PG = 0x07,
+ PK = 0x08,
+ pdR = 0x09,
+ pdV = 0x0a,
+ pdH = 0x0b,
+ SB = 0x0c,
+ DR = 0x0d,
+ VZ = 0x0e,
+ CC = 0x0f,
+ CE = 0x10,
+ FN = 0x11,
+ PN = 0x12,
+ SN = 0x13,
+ PR = 0x14,
+ HE = 0x15,
+ CT = 0x16,
+ HW = 0x17,
+ pdM = 0x18,
+ IN = 0x19,
+ pd2 = 0x1a,
+ pd3 = 0x1b,
+ OC = 0x1c,
+ FO = 0x1d,
+ pdI = 0x1e,
+
+ // Last Keyword
+ MVPD_LAST_KEYWORD,
+ MVPD_TEST_KEYWORD, // Test purposes ONLY!
+ INVALID_MVPD_KEYWORD = 0xFFFF,
+};
+
+}; // end MVPD
+
+#endif
diff --git a/src/include/usr/mvpd/mvpdreasoncodes.H b/src/include/usr/mvpd/mvpdreasoncodes.H
new file mode 100644
index 000000000..8e9317b1a
--- /dev/null
+++ b/src/include/usr/mvpd/mvpdreasoncodes.H
@@ -0,0 +1,79 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/include/usr/mvpd/mvpdreasoncodes.H $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2012
+//
+// 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 other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+/**
+ * @file mvpdreasoncodes.H
+ *
+ * @brief Reason codes and module ids for the MVPD device driver
+ *
+ */
+#ifndef __MVPDREASONCODES_H
+#define __MVPDREASONCODES_H
+// -----------------------------------------------
+// Includes
+// -----------------------------------------------
+#include <hbotcompid.H>
+
+namespace MVPD
+{
+
+/**
+* @enum mvpdModuleid
+*
+* @brief Module Ids used in created errorlogs. Indicates which
+* functions an error log was created in.
+*
+*/
+enum mvpdModuleId
+{
+ MVPD_INVALID_MODULE = 0x00,
+ MVPD_READ_BINARY_FILE = 0x01,
+ MVPD_READ = 0x02,
+ MVPD_WRITE = 0x03,
+ MVPD_TRANSLATE_RECORD = 0x04,
+ MVPD_TRANSLATE_KEYWORD = 0x05,
+ MVPD_FIND_RECORD_OFFSET = 0x06,
+ MVPD_RETRIEVE_KEYWORD = 0x07,
+ MVPD_FETCH_DATA = 0x08,
+ MVPD_CHECK_BUFFER_SIZE = 0x09,
+};
+
+/**
+ * @enum mvpdReasonCode
+ *
+ * @brief Reasoncodes used to describe what errors are being indicated.
+ *
+ */
+enum mvpdReasonCode
+{
+ MVPD_INVALID_REASONCODE = MVPD_COMP_ID | 0x00, // Invalid Reasoncode
+ MVPD_INSUFFICIENT_FILE_SIZE = MVPD_COMP_ID | 0x01,
+ MVPD_OPERATION_NOT_SUPPORTED = MVPD_COMP_ID | 0x02,
+ MVPD_RECORD_NOT_FOUND = MVPD_COMP_ID | 0x03,
+ MVPD_KEYWORD_NOT_FOUND = MVPD_COMP_ID | 0x04,
+ MVPD_RECORD_MISMATCH = MVPD_COMP_ID | 0x05,
+ MVPD_INSUFFICIENT_BUFFER_SIZE = MVPD_COMP_ID | 0x06,
+};
+
+}; // end MVPD
+
+#endif
OpenPOWER on IntegriCloud