![Linus Walleij](/assets/img/avatar_default.png)
This adds support for the BMA254 variant of this accelerometer. The only difference for the simple IIO driver is that values are 12 bit and the temperature offset differs by 1 degree. Whilst wildcards in naming are normally frowned upon: The cases where I have labeled variables "25x" is where the models are identical, so as to make things easier for people that want to add support for BMA253 and BMA255. Cc: Peter Meerwald <pmeerw@pmeerw.net> Cc: Oleksandr Kravchenko <o.v.kravchenko@globallogic.com> Cc: devicetree@vger.kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
454 lines
12 KiB
Plaintext
454 lines
12 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Accelerometer drivers
|
|
#
|
|
# When adding new entries keep the list in alphabetical order
|
|
|
|
menu "Accelerometers"
|
|
|
|
config ADIS16201
|
|
tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer"
|
|
depends on SPI
|
|
select IIO_ADIS_LIB
|
|
select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
|
|
help
|
|
Say Y here to build support for Analog Devices adis16201 dual-axis
|
|
digital inclinometer and accelerometer.
|
|
|
|
To compile this driver as a module, say M here: the module will
|
|
be called adis16201.
|
|
|
|
config ADIS16209
|
|
tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer"
|
|
depends on SPI
|
|
select IIO_ADIS_LIB
|
|
select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
|
|
help
|
|
Say Y here to build support for Analog Devices adis16209 dual-axis digital inclinometer
|
|
and accelerometer.
|
|
|
|
To compile this driver as a module, say M here: the module will be
|
|
called adis16209.
|
|
|
|
config ADXL345
|
|
tristate
|
|
|
|
config ADXL345_I2C
|
|
tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
|
|
depends on INPUT_ADXL34X=n
|
|
depends on I2C
|
|
select ADXL345
|
|
select REGMAP_I2C
|
|
help
|
|
Say Y here if you want to build support for the Analog Devices
|
|
ADXL345 or ADXL375 3-axis digital accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called adxl345_i2c and you will also get adxl345_core
|
|
for the core module.
|
|
|
|
config ADXL345_SPI
|
|
tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver"
|
|
depends on INPUT_ADXL34X=n
|
|
depends on SPI
|
|
select ADXL345
|
|
select REGMAP_SPI
|
|
help
|
|
Say Y here if you want to build support for the Analog Devices
|
|
ADXL345 or ADXL375 3-axis digital accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called adxl345_spi and you will also get adxl345_core
|
|
for the core module.
|
|
|
|
config ADXL372
|
|
tristate
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
config ADXL372_SPI
|
|
tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
|
|
depends on SPI
|
|
select ADXL372
|
|
select REGMAP_SPI
|
|
help
|
|
Say yes here to add support for the Analog Devices ADXL372 triaxial
|
|
acceleration sensor.
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called adxl372_spi.
|
|
|
|
config ADXL372_I2C
|
|
tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
|
|
depends on I2C
|
|
select ADXL372
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to add support for the Analog Devices ADXL372 triaxial
|
|
acceleration sensor.
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called adxl372_i2c.
|
|
|
|
config BMA180
|
|
tristate "Bosch BMA180/BMA25x 3-Axis Accelerometer Driver"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y here if you want to build a driver for the Bosch BMA180 or
|
|
BMA25x triaxial acceleration sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bma180.
|
|
|
|
config BMA220
|
|
tristate "Bosch BMA220 3-Axis Accelerometer Driver"
|
|
depends on SPI
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to add support for the Bosch BMA220 triaxial
|
|
acceleration sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bma220_spi.
|
|
|
|
config BMA400
|
|
tristate "Bosch BMA400 3-Axis Accelerometer Driver"
|
|
select REGMAP
|
|
select BMA400_I2C if I2C
|
|
help
|
|
Say Y here if you want to build a driver for the Bosch BMA400
|
|
triaxial acceleration sensor.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bma400_core and you will also get
|
|
bma400_i2c if I2C is enabled.
|
|
|
|
config BMA400_I2C
|
|
tristate
|
|
depends on BMA400
|
|
|
|
config BMC150_ACCEL
|
|
tristate "Bosch BMC150 Accelerometer Driver"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP
|
|
select BMC150_ACCEL_I2C if I2C
|
|
select BMC150_ACCEL_SPI if SPI
|
|
help
|
|
Say yes here to build support for the following Bosch accelerometers:
|
|
BMC150, BMI055, BMA250E, BMA222E, BMA255, BMA280.
|
|
|
|
This is a combo module with both accelerometer and magnetometer.
|
|
This driver is only implementing accelerometer part, which has
|
|
its own address and register map.
|
|
|
|
config BMC150_ACCEL_I2C
|
|
tristate
|
|
select REGMAP_I2C
|
|
|
|
config BMC150_ACCEL_SPI
|
|
tristate
|
|
select REGMAP_SPI
|
|
|
|
config DA280
|
|
tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
|
|
digital accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called da280.
|
|
|
|
config DA311
|
|
tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
|
|
digital accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called da311.
|
|
|
|
config DMARD06
|
|
tristate "Domintech DMARD06 Digital Accelerometer Driver"
|
|
depends on OF || COMPILE_TEST
|
|
depends on I2C
|
|
help
|
|
Say yes here to build support for the Domintech low-g tri-axial
|
|
digital accelerometers: DMARD05, DMARD06, DMARD07.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called dmard06.
|
|
|
|
config DMARD09
|
|
tristate "Domintech DMARD09 3-axis Accelerometer Driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to get support for the Domintech DMARD09 3-axis
|
|
accelerometer.
|
|
|
|
Choosing M will build the driver as a module. If so, the module
|
|
will be called dmard09.
|
|
|
|
config DMARD10
|
|
tristate "Domintech DMARD10 3-axis Accelerometer Driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to get support for the Domintech DMARD10 3-axis
|
|
accelerometer.
|
|
|
|
Choosing M will build the driver as a module. If so, the module
|
|
will be called dmard10.
|
|
|
|
config HID_SENSOR_ACCEL_3D
|
|
depends on HID_SENSOR_HUB
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select HID_SENSOR_IIO_COMMON
|
|
select HID_SENSOR_IIO_TRIGGER
|
|
tristate "HID Accelerometers 3D"
|
|
help
|
|
Say yes here to build support for the HID SENSOR
|
|
accelerometers 3D.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called hid-sensor-accel-3d.
|
|
|
|
config IIO_CROS_EC_ACCEL_LEGACY
|
|
tristate "ChromeOS EC Legacy Accelerometer Sensor"
|
|
depends on IIO_CROS_EC_SENSORS_CORE
|
|
help
|
|
Say yes here to get support for accelerometers on Chromebook using
|
|
legacy EC firmware.
|
|
Sensor data is retrieved through IO memory.
|
|
Newer devices should use IIO_CROS_EC_SENSORS.
|
|
|
|
config IIO_ST_ACCEL_3AXIS
|
|
tristate "STMicroelectronics accelerometers 3-Axis Driver"
|
|
depends on (I2C || SPI_MASTER) && SYSFS
|
|
depends on !SENSORS_LIS3_I2C
|
|
depends on !SENSORS_LIS3_SPI
|
|
select IIO_ST_SENSORS_CORE
|
|
select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
|
|
select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
|
|
select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
|
|
help
|
|
Say yes here to build support for STMicroelectronics accelerometers:
|
|
LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
|
|
LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
|
|
LNG2DM, LIS3DE, LIS2DE12
|
|
|
|
This driver can also be built as a module. If so, these modules
|
|
will be created:
|
|
- st_accel (core functions for the driver [it is mandatory]);
|
|
- st_accel_i2c (necessary for the I2C devices [optional*]);
|
|
- st_accel_spi (necessary for the SPI devices [optional*]);
|
|
|
|
(*) one of these is necessary to do something.
|
|
|
|
config IIO_ST_ACCEL_I2C_3AXIS
|
|
tristate
|
|
depends on IIO_ST_ACCEL_3AXIS
|
|
depends on IIO_ST_SENSORS_I2C
|
|
|
|
config IIO_ST_ACCEL_SPI_3AXIS
|
|
tristate
|
|
depends on IIO_ST_ACCEL_3AXIS
|
|
depends on IIO_ST_SENSORS_SPI
|
|
|
|
config KXSD9
|
|
tristate "Kionix KXSD9 Accelerometer Driver"
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for the Kionix KXSD9 accelerometer.
|
|
It can be accessed using an (optional) SPI or I2C interface.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called kxsd9.
|
|
|
|
config KXSD9_SPI
|
|
tristate "Kionix KXSD9 SPI transport"
|
|
depends on KXSD9
|
|
depends on SPI
|
|
default KXSD9
|
|
select REGMAP_SPI
|
|
help
|
|
Say yes here to enable the Kionix KXSD9 accelerometer
|
|
SPI transport channel.
|
|
|
|
config KXSD9_I2C
|
|
tristate "Kionix KXSD9 I2C transport"
|
|
depends on KXSD9
|
|
depends on I2C
|
|
default KXSD9
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to enable the Kionix KXSD9 accelerometer
|
|
I2C transport channel.
|
|
|
|
config KXCJK1013
|
|
tristate "Kionix 3-Axis Accelerometer Driver"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say Y here if you want to build a driver for the Kionix KXCJK-1013
|
|
triaxial acceleration sensor. This driver also supports KXCJ9-1008,
|
|
KXTJ2-1009 and KXTF9.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called kxcjk-1013.
|
|
|
|
config MC3230
|
|
tristate "mCube MC3230 Digital Accelerometer Driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to build support for the mCube MC3230 low-g tri-axial
|
|
digital accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called mc3230.
|
|
|
|
config MMA7455
|
|
tristate
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
|
|
config MMA7455_I2C
|
|
tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
|
|
depends on I2C
|
|
select MMA7455
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to build support for the Freescale MMA7455L and
|
|
MMA7456L 3-axis accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mma7455_i2c.
|
|
|
|
config MMA7455_SPI
|
|
tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
|
|
depends on SPI_MASTER
|
|
select MMA7455
|
|
select REGMAP_SPI
|
|
help
|
|
Say yes here to build support for the Freescale MMA7455L and
|
|
MMA7456L 3-axis accelerometer.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mma7455_spi.
|
|
|
|
config MMA7660
|
|
tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
|
|
depends on I2C
|
|
help
|
|
Say yes here to get support for the Freescale MMA7660FC 3-Axis
|
|
accelerometer.
|
|
|
|
Choosing M will build the driver as a module. If so, the module
|
|
will be called mma7660.
|
|
|
|
config MMA8452
|
|
tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to build support for the following Freescale / NXP 3-axis
|
|
accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
|
|
FXLS8471Q.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mma8452.
|
|
|
|
config MMA9551_CORE
|
|
tristate
|
|
|
|
config MMA9551
|
|
tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
|
|
depends on I2C
|
|
select MMA9551_CORE
|
|
|
|
help
|
|
Say yes here to build support for the Freescale MMA9551L
|
|
Intelligent Motion-Sensing Platform Driver.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mma9551.
|
|
|
|
config MMA9553
|
|
tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
|
|
depends on I2C
|
|
select MMA9551_CORE
|
|
help
|
|
Say yes here to build support for the Freescale MMA9553L
|
|
Intelligent Pedometer Platform Driver.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called mma9553.
|
|
|
|
config MXC4005
|
|
tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to build support for the Memsic MXC4005XC 3-axis
|
|
accelerometer.
|
|
|
|
To compile this driver as a module, choose M. The module will be
|
|
called mxc4005.
|
|
|
|
config MXC6255
|
|
tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Say yes here to build support for the Memsic MXC6255 Orientation
|
|
Sensing Accelerometer Driver.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called mxc6255.
|
|
|
|
config SCA3000
|
|
select IIO_BUFFER
|
|
select IIO_KFIFO_BUF
|
|
depends on SPI
|
|
tristate "VTI SCA3000 series accelerometers"
|
|
help
|
|
Say Y here to build support for the VTI SCA3000 series of SPI
|
|
accelerometers. These devices use a hardware ring buffer.
|
|
|
|
To compile this driver as a module, say M here: the module will be
|
|
called sca3000.
|
|
|
|
config STK8312
|
|
tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to get support for the Sensortek STK8312 3-axis
|
|
accelerometer.
|
|
|
|
Choosing M will build the driver as a module. If so, the module
|
|
will be called stk8312.
|
|
|
|
config STK8BA50
|
|
tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
|
|
depends on I2C
|
|
select IIO_BUFFER
|
|
select IIO_TRIGGERED_BUFFER
|
|
help
|
|
Say yes here to get support for the Sensortek STK8BA50 3-axis
|
|
accelerometer.
|
|
|
|
Choosing M will build the driver as a module. If so, the module
|
|
will be called stk8ba50.
|
|
|
|
endmenu
|