diff options
author | Adam Muhle <armuhle@us.ibm.com> | 2011-10-13 14:44:55 -0500 |
---|---|---|
committer | ADAM R. MUHLE <armuhle@us.ibm.com> | 2011-10-25 15:17:19 -0500 |
commit | 7344f3b265fe12da99ad0a032e558e7cc7fe1cb2 (patch) | |
tree | ff7bd2d0d9ac139e63a0f8bda778e3dac1b290f8 /src/usr/fsiscom/fsiscom.H | |
parent | 0ad20184aec21ef0560a9eee7e7c26a36ace07e1 (diff) | |
download | talos-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.H | 78 |
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 |