iio: imu: add Bosch Sensortec BNO055 core driver
authorAndrea Merello <andrea.merello@iit.it>
Wed, 7 Sep 2022 13:21:59 +0000 (15:21 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 21 Sep 2022 17:42:56 +0000 (18:42 +0100)
commit4aefe1c2bd0cb0223130671d459cd16efa3d3462
tree5b5e6368b0bb3ebda77b956adb29e2eb04b07cbc
parente0d27ea3ba1332c81060d9d52182953dbc835b40
iio: imu: add Bosch Sensortec BNO055 core driver

Add the core driver for the BNO055 IMU from Bosch. This IMU can be
connected via both serial and I2C busses; separate patches will add support
for them.

The driver supports "AMG" (Accelerometer, Magnetometer, Gyroscope) mode,
that provides raw data from the said internal sensors, and a couple of
"fusion" modes (i.e. the IMU also does calculations in order to provide
euler angles, quaternions, linear acceleration and gravity measurements).

In fusion modes the AMG data is still available (with some calibration
refinements done by the IMU), but certain settings such as low pass filters
cut-off frequency and sensors' ranges are fixed, while in AMG mode they can
be customized; this is why AMG mode can still be interesting.

Signed-off-by: Andrea Merello <andrea.merello@iit.it>
Link: https://lore.kernel.org/r/20220907132205.28021-9-andrea.merello@iit.it
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/Kconfig
drivers/iio/imu/Makefile
drivers/iio/imu/bno055/Kconfig [new file with mode: 0644]
drivers/iio/imu/bno055/Makefile [new file with mode: 0644]
drivers/iio/imu/bno055/bno055.c [new file with mode: 0644]
drivers/iio/imu/bno055/bno055.h [new file with mode: 0644]