This serie of patches adds support of magnetometer inside MPU925x chips. It is using the MPU i2c master to drive the integrated magnetometer and read data into the MPU FIFO. Beware that this is disabling access to the i2c auxiliary bus. Since this can break existing setup, it is an optional feature requiring to enable the corresponding Kconfig option. Jean-Baptiste Maneyrol (8): iio: imu: inv_mpu6050: disable i2c mux for 925x under Kconfig iio: imu: inv_mpu6050: add header include protection macro iio: imu: inv_mpu6050: add defines for supporting 9-axis chips iio: imu: inv_mpu6050: fix objects syntax in Makefile iio: imu: inv_mpu6050: helpers for using i2c master on auxiliary bus iio: imu: inv_mpu6050: add magnetometer implementation for MPU925x iio: imu: inv_mpu6050: add magnetometer support inside mpu driver iio: imu: inv_mpu6050: add fifo support for magnetometer data drivers/iio/imu/inv_mpu6050/Kconfig | 9 + drivers/iio/imu/inv_mpu6050/Makefile | 8 +- .../iio/imu/inv_mpu6050/inv_mpu9250_magn.c | 239 ++++++++++++++++++ .../iio/imu/inv_mpu6050/inv_mpu9250_magn.h | 27 ++ drivers/iio/imu/inv_mpu6050/inv_mpu_aux.c | 191 ++++++++++++++ drivers/iio/imu/inv_mpu6050/inv_mpu_aux.h | 46 ++++ drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 141 ++++++++++- drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 5 + drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 79 +++++- drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c | 120 +++++++++ drivers/iio/imu/inv_mpu6050/inv_mpu_magn.h | 107 ++++++++ drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 14 +- drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c | 90 ++++++- 13 files changed, 1055 insertions(+), 21 deletions(-) create mode 100644 drivers/iio/imu/inv_mpu6050/inv_mpu9250_magn.c create mode 100644 drivers/iio/imu/inv_mpu6050/inv_mpu9250_magn.h create mode 100644 drivers/iio/imu/inv_mpu6050/inv_mpu_aux.c create mode 100644 drivers/iio/imu/inv_mpu6050/inv_mpu_aux.h create mode 100644 drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c create mode 100644 drivers/iio/imu/inv_mpu6050/inv_mpu_magn.h -- 2.17.1