diff options
author | Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> | 2014-03-19 20:56:00 +0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2014-03-29 14:45:09 +0400 |
commit | 6f174fd312d50abf3e98c0c5f7adf0cf434ae705 (patch) | |
tree | bcb0dd44a2df1d364317168eddf7efde4a35d24a /drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | |
parent | d913971ecaf31d7d5a6836224b669e1972469445 (diff) | |
download | linux-6f174fd312d50abf3e98c0c5f7adf0cf434ae705.tar.xz |
iio: imu: inv_mpu6050: Add compatibity with MPU6500
Adding MPU6500 in target list for this driver.
Description:
Source
Document: MPU-6500 Register Map and Descriptions Revision 2.1
Section 3: Register Map
This section describes difference in terms device programmability
between MPU6050 and MPU6500.
These are different registers, which differs between MPU6050 and
MPU6500.
Addr Name
---------------------
1E LP_ACCEL_ODR
6C PWR_MGMT_2
77 XA_OFFSET_H
78 XA_OFFSET_L
7A YA_OFFSET_H
7B YA_OFFSET_L
7D ZA_OFFSET_H
7E ZA_OFFSET_L
But the current MPU6050 driver doesn't use registers which are different
except PWR_MGMT_2. The difference is support of "LP_WAKE_CTRL" at bit6-7
in MPU6050 mode. In MPU6500 they are not defined.
In current mpu6050 driver, only values used for this register are for
standby mode for gyro and accelerometer.
In both case frequency of wakeups is set to default and not using
bit 6-7.
So this driver van as well support MPU6500. In addition MPU6500 can
run MPU6050 mode by changing device trim settings.
So changing config comments to allow MPU6500 to use this driver.
When the driver is enhanced to support more functions, i2c driver
data INV_MPU6500 or "WHO_AM_I" register can be used to add additional
functionality.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h')
-rw-r--r-- | drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h index 0ab382be1e64..e7799315d4dc 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h @@ -59,6 +59,7 @@ struct inv_mpu6050_reg_map { /*device enum */ enum inv_devices { INV_MPU6050, + INV_MPU6500, INV_NUM_PARTS }; |