summaryrefslogtreecommitdiff
path: root/driver/accelgyro_bmi160.c
diff options
context:
space:
mode:
authorVijay Hiremath <vijay.p.hiremath@intel.com>2015-08-03 23:37:54 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-09-23 15:10:08 -0700
commitf9272713da615e51ea14f70872fec46fbd88e938 (patch)
tree7b12c57a3435a615718c9d3325dfc0671fc297b6 /driver/accelgyro_bmi160.c
parent806aae81f6bed5ab1a26e860eaa2b5b1349a1444 (diff)
downloadchrome-ec-f9272713da615e51ea14f70872fec46fbd88e938.tar.gz
i2c: Add i2ctest console command
Added i2ctest console command to test the reliability of the I2C. By reading/writing to the known registers this tests provides the number of successful read and writes. BUG=chrome-os-partner:57487 TEST=Enabled the i2ctest config on Reef and tested the i2c read/writes. BRANCH=none Change-Id: I9e27ff96f2b85422933bc590d112a083990e2dfb Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/290427 Commit-Ready: Vijay P Hiremath <vijay.p.hiremath@intel.com> Tested-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'driver/accelgyro_bmi160.c')
-rw-r--r--driver/accelgyro_bmi160.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/driver/accelgyro_bmi160.c b/driver/accelgyro_bmi160.c
index c8a6d18bdf..2ecc27fe4c 100644
--- a/driver/accelgyro_bmi160.c
+++ b/driver/accelgyro_bmi160.c
@@ -139,7 +139,7 @@ static inline int spi_raw_read(const int addr, const uint8_t reg,
/**
* Read 8bit register from accelerometer.
*/
-static int raw_read8(const int port, const int addr, const uint8_t reg,
+static int raw_read8(const int port, const int addr, const int reg,
int *data_ptr)
{
int rv = -EC_ERROR_PARAM1;
@@ -163,7 +163,7 @@ static int raw_read8(const int port, const int addr, const uint8_t reg,
/**
* Write 8bit register from accelerometer.
*/
-static int raw_write8(const int port, const int addr, const uint8_t reg,
+static int raw_write8(const int port, const int addr, const int reg,
int data)
{
int rv = -EC_ERROR_PARAM1;
@@ -1248,3 +1248,15 @@ const struct accelgyro_drv bmi160_drv = {
struct bmi160_drv_data_t g_bmi160_data = {
.flags = 0,
};
+
+#ifdef CONFIG_CMD_I2C_STRESS_TEST_ACCEL
+struct i2c_stress_test_dev bmi160_i2c_stress_test_dev = {
+ .reg_info = {
+ .read_reg = BMI160_CHIP_ID,
+ .read_val = BMI160_CHIP_ID_MAJOR,
+ .write_reg = BMI160_PMU_TRIGGER,
+ },
+ .i2c_read = &raw_read8,
+ .i2c_write = &raw_write8,
+};
+#endif /* CONFIG_CMD_I2C_STRESS_TEST_ACCEL */