summaryrefslogtreecommitdiffstats
path: root/src/usr/fsiscom/fsiscom.H
diff options
context:
space:
mode:
authorAdam Muhle <armuhle@us.ibm.com>2011-10-13 14:44:55 -0500
committerADAM R. MUHLE <armuhle@us.ibm.com>2011-10-25 15:17:19 -0500
commit7344f3b265fe12da99ad0a032e558e7cc7fe1cb2 (patch)
treeff7bd2d0d9ac139e63a0f8bda778e3dac1b290f8 /src/usr/fsiscom/fsiscom.H
parent0ad20184aec21ef0560a9eee7e7c26a36ace07e1 (diff)
downloadtalos-hostboot-7344f3b265fe12da99ad0a032e558e7cc7fe1cb2.tar.gz
talos-hostboot-7344f3b265fe12da99ad0a032e558e7cc7fe1cb2.zip
Base FSISCOM Support and test Cases. (Story 3880)
Change-Id: Ia65187cd475da725250a17cec59b1aa6ff805f84 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/453 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
Diffstat (limited to 'src/usr/fsiscom/fsiscom.H')
-rw-r--r--src/usr/fsiscom/fsiscom.H78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/usr/fsiscom/fsiscom.H b/src/usr/fsiscom/fsiscom.H
new file mode 100644
index 000000000..62ed12f27
--- /dev/null
+++ b/src/usr/fsiscom/fsiscom.H
@@ -0,0 +1,78 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/usr/fsiscom/fsiscom.H $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2011
+//
+// 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
+#ifndef __FSISCOM_H
+#define __FSISCOM_H
+
+/** @file fsiscom.H
+ * @brief Provides the interfaces to perform a FSI SCOM
+ */
+
+namespace FSISCOM
+{
+
+ enum {
+ //FSI addresses are byte offsets, so need to multiply by 4 since each register is 4 bytes long.
+ //prefix with 0x10xx for engine offset
+ DATA0_REG = 0x1000, /* SCOM Data Register 0 (0x00) */
+ DATA1_REG = 0x1004, /* SCOM Data Register 1 (0x01) */
+ COMMAND_REG = 0x1008, /* SCOM Command Register (0x02) */
+ STATUS_REG = 0x101C, /* STATUS Register (0x07) */
+ };
+
+/**
+ * @brief Performs an FSI SCOM operation
+ * This function performs an SCom Read/Write operation. It follows a
+ * pre-defined prototype functions in order to be registered with the
+ * device-driver framework.
+ *
+ * @param[in] i_opType Operation type, see DeviceFW::OperationType
+ * in driverif.H
+ * @param[in] i_target SCom target
+ * @param[in/out] io_buffer Read: pointer to output data storage
+ * Write: pointer to data to be written
+ * @param[in/out] io_buflen Input: size of io_buffer (in bytes)
+ * Output: Read: size of output data
+ * Write: size of data written
+ * @param[in] i_accessType Select from DeviceFW::AccessType enum
+ * (usrif.H)
+ * @param[in] i_args This is an argument list for DD framework.
+ * In this function, there's only one argument,
+ * which is the SCom address value.
+ *
+ * @return errlHndl_t
+ */
+errlHndl_t fsiScomPerformOp(DeviceFW::OperationType i_opType,
+ TARGETING::Target* i_target,
+ void* io_buffer,
+ size_t& io_buflen,
+ int64_t i_accessType,
+ va_list i_args);
+
+
+
+
+
+
+}; // End namespace
+
+#endif
OpenPOWER on IntegriCloud