# SPDX-License-Identifier: GPL-2.0-only
#
# IIO imu drivers configuration
#
# When adding new entries keep the list in alphabetical order

menu "Inertial measurement units"

config ADIS16400
	tristate "Analog Devices ADIS16400 and similar IMU SPI driver"
	depends on SPI
	select IIO_ADIS_LIB
	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
	help
	  Say yes here to build support for Analog Devices adis16300, adis16344,
	  adis16350, adis16354, adis16355, adis16360, adis16362, adis16364,
	  adis16365, adis16400 and adis16405 triaxial inertial sensors
	  (adis16400 series also have magnetometers).

config ADIS16480
	tristate "Analog Devices ADIS16480 and similar IMU driver"
	depends on SPI
	select IIO_ADIS_LIB
	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
	help
	  Say yes here to build support for Analog Devices ADIS16375, ADIS16480,
	  ADIS16485, ADIS16488 inertial sensors.

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

config KMX61
	tristate "Kionix KMX61 6-axis accelerometer and magnetometer"
	depends on I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say Y here if you want to build a driver for Kionix KMX61 6-axis
	  accelerometer and magnetometer.
	  To compile this driver as module, choose M here: the module will
	  be called kmx61.

source "drivers/iio/imu/inv_mpu6050/Kconfig"
source "drivers/iio/imu/st_lsm6dsx/Kconfig"

endmenu

config IIO_ADIS_LIB
	tristate
	help
	  A set of IO helper functions for the Analog Devices ADIS* device family.

config IIO_ADIS_LIB_BUFFER
	bool
	select IIO_TRIGGERED_BUFFER
	help
	  A set of buffer helper functions for the Analog Devices ADIS* device
	  family.
