Skip to content

Commit

Permalink
iio: imu: add Bosch Sensortec BNO055 core driver
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
andreamerello authored and jic23 committed Sep 21, 2022
1 parent e0d27ea commit 4aefe1c
Show file tree
Hide file tree
Showing 6 changed files with 1,707 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/iio/imu/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ config ADIS16480
ADIS16485, ADIS16488 inertial sensors.

source "drivers/iio/imu/bmi160/Kconfig"
source "drivers/iio/imu/bno055/Kconfig"

config FXOS8700
tristate
Expand Down
1 change: 1 addition & 0 deletions drivers/iio/imu/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ adis_lib-$(CONFIG_IIO_ADIS_LIB_BUFFER) += adis_buffer.o
obj-$(CONFIG_IIO_ADIS_LIB) += adis_lib.o

obj-y += bmi160/
obj-y += bno055/

obj-$(CONFIG_FXOS8700) += fxos8700_core.o
obj-$(CONFIG_FXOS8700_I2C) += fxos8700_i2c.o
Expand Down
4 changes: 4 additions & 0 deletions drivers/iio/imu/bno055/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SPDX-License-Identifier: GPL-2.0

config BOSCH_BNO055
tristate
3 changes: 3 additions & 0 deletions drivers/iio/imu/bno055/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0

obj-$(CONFIG_BOSCH_BNO055) += bno055.o
Loading

0 comments on commit 4aefe1c

Please sign in to comment.