summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/devicefw/driverif.H13
-rw-r--r--src/include/usr/i2c/i2creasoncodes.H31
2 files changed, 36 insertions, 8 deletions
diff --git a/src/include/usr/devicefw/driverif.H b/src/include/usr/devicefw/driverif.H
index 4b721cb63..ee43e0519 100644
--- a/src/include/usr/devicefw/driverif.H
+++ b/src/include/usr/devicefw/driverif.H
@@ -43,7 +43,7 @@ namespace DeviceFW
*/
enum AccessType_DriverOnly
{
- XSCOM = LAST_ACCESS_TYPE,
+ XSCOM = LAST_ACCESS_TYPE,
I2C,
FSISCOM,
@@ -79,9 +79,16 @@ namespace DeviceFW
/**
* Construct the device addressing parameters for the I2C device ops.
+ * @param[in] i_address - I2C address to access on slave device.
+ * @param[in] i_port - Which port to use from the I2C master.
+ * @param[in] i_engine - Which I2C master engine to use.
+ * @param[in] i_devAddr - The device address on a given engine/port.
*/
- #define DEVICE_I2C_ADDRESS( i_address )\
- DeviceFW::I2C, static_cast<uint64_t>(( i_address ))
+ #define DEVICE_I2C_ADDRESS( i_address, i_port, i_engine, i_devAddr )\
+ DeviceFW::I2C, static_cast<uint64_t>(( i_address )),\
+ static_cast<uint64_t>(( i_port )),\
+ static_cast<uint64_t>(( i_engine )),\
+ static_cast<uint64_t>(( i_devAddr ))
/** @class InvalidParameterType
diff --git a/src/include/usr/i2c/i2creasoncodes.H b/src/include/usr/i2c/i2creasoncodes.H
index ad494d739..52b65770e 100644
--- a/src/include/usr/i2c/i2creasoncodes.H
+++ b/src/include/usr/i2c/i2creasoncodes.H
@@ -39,13 +39,20 @@ namespace I2C
/**
* @enum i2cModuleid
*
-* @brief Module Ids used in created errorlogs. Indicates which
+* @brief Module Ids used in created errorlogs. Indicates which
* functions an error log was created in.
*
*/
enum i2cModuleId
{
- I2C_PERFORM_OP = 0x01,
+ I2C_INVALID_MODULE = 0x00,
+ I2C_PERFORM_OP = 0x01,
+ I2C_READ = 0x02,
+ I2C_WRITE = 0x03,
+ I2C_SETUP = 0x04,
+ I2C_WAIT_FOR_CMD_COMP = 0x05,
+ I2C_READ_STATUS_REG = 0x06,
+ I2C_CHECK_FOR_ERRORS = 0x07,
};
/**
@@ -56,9 +63,23 @@ enum i2cModuleId
*/
enum i2cReasonCode
{
- I2C_INVALID_DATA_BUFFER = I2C_COMP_ID | 0x01,
- I2C_INVALID_OP_TYPE = I2C_COMP_ID | 0x02,
-
+ I2C_INVALID_REASONCODE = I2C_COMP_ID | 0x00, // Invalid Reasoncode
+ I2C_INVALID_DATA_BUFFER = I2C_COMP_ID | 0x01, // Invalid Data Buffer pointer
+ I2C_INVALID_OP_TYPE = I2C_COMP_ID | 0x02, // Invalid Operation type
+ I2C_INVALID_COMMAND = I2C_COMP_ID | 0x03, // Invalid Command Status
+ I2C_LBUS_PARITY_ERROR = I2C_COMP_ID | 0x04, // Local Bus Parity Error
+ I2C_BACKEND_OVERRUN_ERROR = I2C_COMP_ID | 0x05, // Backend overrun Error
+ I2C_BACKEND_ACCESS_ERROR = I2C_COMP_ID | 0x06, // Backend access Error
+ I2C_ARBITRATION_LOST_ERROR = I2C_COMP_ID | 0x07, // Arbitration lost
+ I2C_NACK_RECEIVED = I2C_COMP_ID | 0x08, // NACK Received
+ I2C_DATA_REQUEST = I2C_COMP_ID | 0x09, // Data Request
+ I2C_STOP_ERROR = I2C_COMP_ID | 0x0A, // Stop Error
+ I2C_INTERRUPT = I2C_COMP_ID | 0x0B, // Interrupt Present - TODO - more to be added when bad machine path code is added.
+ I2C_FIFO_TIMEOUT = I2C_COMP_ID | 0x0C, // Timed out waiting on FIFO
+ I2C_BUS_NOT_READY = I2C_COMP_ID | 0x0D, // Bus Not ready
+ I2C_CMD_COMP_TIMEOUT = I2C_COMP_ID | 0x0E, // Timeout waiting for Cmd Complete
+ I2C_HW_ERROR_FOUND = I2C_COMP_ID | 0x0F, // Error found in Status register
+ I2C_MASTER_SENTINEL_TARGET = I2C_COMP_ID | 0x10, // Master Sentinel used as target
};
}; // end I2C
OpenPOWER on IntegriCloud