diff options
| author | Mike Baiocchi <baiocchi@us.ibm.com> | 2015-08-05 16:10:43 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-09-10 13:59:46 -0500 |
| commit | fe966be1aa16c7816f62b2e6c97aa646dab7ac3e (patch) | |
| tree | 78b878897ded208f4a31742031b3f986009a78da /src/usr/i2c/test | |
| parent | 1ed7acd72d63a49689dffd688d4ddc1b1ba5781b (diff) | |
| download | talos-hostboot-fe966be1aa16c7816f62b2e6c97aa646dab7ac3e.tar.gz talos-hostboot-fe966be1aa16c7816f62b2e6c97aa646dab7ac3e.zip | |
I2C Error Log User Data Improvement
This commit adds more information into the two uint64_t user data
sections for certain error logs, including I2C Master HUID, engine,
port, and bus speed.
Change-Id: Ia2c91795c22619931c37b52fa4ff2091cb5d5ef3
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20060
Tested-by: Jenkins Server
Tested-by: Jenkins OP Build CI
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: FSP CI Jenkins
Tested-by: Jenkins OP HW
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/i2c/test')
| -rwxr-xr-x | src/usr/i2c/test/i2ctest.H | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/usr/i2c/test/i2ctest.H b/src/usr/i2c/test/i2ctest.H index d4bd8a9f2..cfef791a6 100755 --- a/src/usr/i2c/test/i2ctest.H +++ b/src/usr/i2c/test/i2ctest.H @@ -1029,6 +1029,68 @@ class I2CTest: public CxxTest::TestSuite } } + + /** + * @brief Verify the functions that create the userdata values + */ + void test_setI2CUserData( void ) + { + + int64_t fails = 0, num_ops = 0; + + TRACFCOMP( g_trac_i2c, + "test_setI2CUserData - Start" ); + + + // Test userdata_1 + uint64_t userdata_1 = 0x0; + uint64_t userdata_1_result = 0xABCDEFABFFFFFFFF; + + I2C::status_reg_t status_reg; + status_reg.value = 0xABCDEFAB55555555; + + userdata_1 = I2C::I2C_SET_USER_DATA_1 ( + status_reg, + MASTER_PROCESSOR_CHIP_TARGET_SENTINEL); + + num_ops++; + if ( userdata_1 != userdata_1_result ) + { + TS_FAIL( "testI2CUserData - Fail in generating userdata)1: " + "0x%X - should be 0x%X", + userdata_1, userdata_1_result ); + fails++; + } + + // Test userdata_2 + uint64_t userdata_2 = 0x0; + uint64_t userdata_2_result = 0x34679A5D1234FEDC; + + I2C::misc_args_t args; + args.engine = 0x34; + args.port = 0x67; + args.devAddr = 0x1234123412349A5D; + args.bus_speed = 0xFFFFFFFFFFFF1234; + args.bit_rate_divisor = 0xFEDC; + + userdata_2 = I2C::I2C_SET_USER_DATA_2 ( args ); + + num_ops++; + if ( userdata_2 != userdata_2_result ) + { + TS_FAIL( "testI2CUserData - Fail in generating userdata_2: " + "0x%X - should be 0x%X", + userdata_2, userdata_2_result ); + fails++; + } + + TRACFCOMP( g_trac_i2c, + "testI2CUserData - End: %d/%d fails", + fails, num_ops ); + + } + + }; #endif |

