1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Accelerometer drivers 4# 5# When adding new entries keep the list in alphabetical order 6 7menu "Accelerometers" 8 9config ADIS16201 10 tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer" 11 depends on SPI 12 select IIO_ADIS_LIB 13 select IIO_ADIS_LIB_BUFFER if IIO_BUFFER 14 help 15 Say Y here to build support for Analog Devices adis16201 dual-axis 16 digital inclinometer and accelerometer. 17 18 To compile this driver as a module, say M here: the module will 19 be called adis16201. 20 21config ADIS16209 22 tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer" 23 depends on SPI 24 select IIO_ADIS_LIB 25 select IIO_ADIS_LIB_BUFFER if IIO_BUFFER 26 help 27 Say Y here to build support for Analog Devices adis16209 dual-axis digital inclinometer 28 and accelerometer. 29 30 To compile this driver as a module, say M here: the module will be 31 called adis16209. 32 33config ADXL345 34 tristate 35 36config ADXL345_I2C 37 tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver" 38 depends on INPUT_ADXL34X=n 39 depends on I2C 40 select ADXL345 41 select REGMAP_I2C 42 help 43 Say Y here if you want to build support for the Analog Devices 44 ADXL345 or ADXL375 3-axis digital accelerometer. 45 46 To compile this driver as a module, choose M here: the module 47 will be called adxl345_i2c and you will also get adxl345_core 48 for the core module. 49 50config ADXL345_SPI 51 tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver" 52 depends on INPUT_ADXL34X=n 53 depends on SPI 54 select ADXL345 55 select REGMAP_SPI 56 help 57 Say Y here if you want to build support for the Analog Devices 58 ADXL345 or ADXL375 3-axis digital accelerometer. 59 60 To compile this driver as a module, choose M here: the module 61 will be called adxl345_spi and you will also get adxl345_core 62 for the core module. 63 64config ADXL372 65 tristate 66 select IIO_BUFFER 67 select IIO_TRIGGERED_BUFFER 68 69config ADXL372_SPI 70 tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver" 71 depends on SPI 72 select ADXL372 73 select REGMAP_SPI 74 help 75 Say yes here to add support for the Analog Devices ADXL372 triaxial 76 acceleration sensor. 77 To compile this driver as a module, choose M here: the 78 module will be called adxl372_spi. 79 80config ADXL372_I2C 81 tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver" 82 depends on I2C 83 select ADXL372 84 select REGMAP_I2C 85 help 86 Say yes here to add support for the Analog Devices ADXL372 triaxial 87 acceleration sensor. 88 To compile this driver as a module, choose M here: the 89 module will be called adxl372_i2c. 90 91config BMA180 92 tristate "Bosch BMA023/BMA1x0/BMA25x 3-Axis Accelerometer Driver" 93 depends on I2C && INPUT_BMA150=n 94 select IIO_BUFFER 95 select IIO_TRIGGERED_BUFFER 96 help 97 Say Y here if you want to build a driver for the Bosch BMA023, BMA150 98 BMA180, SMB380, or BMA25x triaxial acceleration sensor. 99 100 To compile this driver as a module, choose M here: the 101 module will be called bma180. 102 103config BMA220 104 tristate "Bosch BMA220 3-Axis Accelerometer Driver" 105 depends on SPI 106 select IIO_BUFFER 107 select IIO_TRIGGERED_BUFFER 108 help 109 Say yes here to add support for the Bosch BMA220 triaxial 110 acceleration sensor. 111 112 To compile this driver as a module, choose M here: the 113 module will be called bma220_spi. 114 115config BMA400 116 tristate "Bosch BMA400 3-Axis Accelerometer Driver" 117 select REGMAP 118 select BMA400_I2C if I2C 119 select BMA400_SPI if SPI 120 help 121 Say Y here if you want to build a driver for the Bosch BMA400 122 triaxial acceleration sensor. 123 124 To compile this driver as a module, choose M here: the 125 module will be called bma400_core and you will also get 126 bma400_i2c if I2C is enabled and bma400_spi if SPI is 127 enabled. 128 129config BMA400_I2C 130 tristate 131 depends on BMA400 132 133config BMA400_SPI 134 tristate 135 depends on BMA400 136 137config BMC150_ACCEL 138 tristate "Bosch BMC150 Accelerometer Driver" 139 select IIO_BUFFER 140 select IIO_TRIGGERED_BUFFER 141 select REGMAP 142 select BMC150_ACCEL_I2C if I2C 143 select BMC150_ACCEL_SPI if SPI 144 help 145 Say yes here to build support for the following Bosch accelerometers: 146 BMC150, BMI055, BMA250E, BMA222E, BMA255, BMA280. 147 148 This is a combo module with both accelerometer and magnetometer. 149 This driver is only implementing accelerometer part, which has 150 its own address and register map. 151 152config BMC150_ACCEL_I2C 153 tristate 154 select REGMAP_I2C 155 156config BMC150_ACCEL_SPI 157 tristate 158 select REGMAP_SPI 159 160config BMI088_ACCEL 161 tristate "Bosch BMI088 Accelerometer Driver" 162 depends on SPI 163 select IIO_BUFFER 164 select IIO_TRIGGERED_BUFFER 165 select REGMAP 166 select BMI088_ACCEL_SPI 167 help 168 Say yes here to build support for the Bosch BMI088 accelerometer. 169 170 This is a combo module with both accelerometer and gyroscope. This 171 driver only implements the accelerometer part, which has its own 172 address and register map. BMG160 provides the gyroscope driver. 173 174config BMI088_ACCEL_SPI 175 tristate 176 select REGMAP_SPI 177 178config DA280 179 tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver" 180 depends on I2C 181 help 182 Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit 183 digital accelerometer. 184 185 To compile this driver as a module, choose M here: the 186 module will be called da280. 187 188config DA311 189 tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver" 190 depends on I2C 191 help 192 Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit 193 digital accelerometer. 194 195 To compile this driver as a module, choose M here: the 196 module will be called da311. 197 198config DMARD06 199 tristate "Domintech DMARD06 Digital Accelerometer Driver" 200 depends on OF || COMPILE_TEST 201 depends on I2C 202 help 203 Say yes here to build support for the Domintech low-g tri-axial 204 digital accelerometers: DMARD05, DMARD06, DMARD07. 205 206 To compile this driver as a module, choose M here: the 207 module will be called dmard06. 208 209config DMARD09 210 tristate "Domintech DMARD09 3-axis Accelerometer Driver" 211 depends on I2C 212 help 213 Say yes here to get support for the Domintech DMARD09 3-axis 214 accelerometer. 215 216 Choosing M will build the driver as a module. If so, the module 217 will be called dmard09. 218 219config DMARD10 220 tristate "Domintech DMARD10 3-axis Accelerometer Driver" 221 depends on I2C 222 help 223 Say yes here to get support for the Domintech DMARD10 3-axis 224 accelerometer. 225 226 Choosing M will build the driver as a module. If so, the module 227 will be called dmard10. 228 229config FXLS8962AF 230 tristate 231 232config FXLS8962AF_I2C 233 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver" 234 depends on I2C 235 select FXLS8962AF 236 select REGMAP_I2C 237 help 238 Say yes here to build support for the NXP 3-axis automotive 239 accelerometer FXLS8962AF/FXLS8964AF with I2C support. 240 241 To compile this driver as a module, choose M here: the module 242 will be called fxls8962af_i2c. 243 244config FXLS8962AF_SPI 245 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver" 246 depends on SPI 247 select FXLS8962AF 248 select REGMAP_SPI 249 help 250 Say yes here to build support for the NXP 3-axis automotive 251 accelerometer FXLS8962AF/FXLS8964AF with SPI support. 252 253 To compile this driver as a module, choose M here: the module 254 will be called fxls8962af_spi. 255 256config HID_SENSOR_ACCEL_3D 257 depends on HID_SENSOR_HUB 258 select IIO_BUFFER 259 select HID_SENSOR_IIO_COMMON 260 select HID_SENSOR_IIO_TRIGGER 261 tristate "HID Accelerometers 3D" 262 help 263 Say yes here to build support for the HID SENSOR 264 accelerometers 3D. 265 266 To compile this driver as a module, choose M here: the 267 module will be called hid-sensor-accel-3d. 268 269config IIO_CROS_EC_ACCEL_LEGACY 270 tristate "ChromeOS EC Legacy Accelerometer Sensor" 271 depends on IIO_CROS_EC_SENSORS_CORE 272 help 273 Say yes here to get support for accelerometers on Chromebook using 274 legacy EC firmware. 275 Sensor data is retrieved through IO memory. 276 Newer devices should use IIO_CROS_EC_SENSORS. 277 278config IIO_ST_ACCEL_3AXIS 279 tristate "STMicroelectronics accelerometers 3-Axis Driver" 280 depends on (I2C || SPI_MASTER) && SYSFS 281 depends on !SENSORS_LIS3_I2C 282 depends on !SENSORS_LIS3_SPI 283 select IIO_ST_SENSORS_CORE 284 select IIO_ST_ACCEL_I2C_3AXIS if (I2C) 285 select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER) 286 select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) 287 help 288 Say yes here to build support for STMicroelectronics accelerometers: 289 LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, 290 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, 291 LNG2DM, LIS3DE, LIS2DE12, LIS2HH12 292 293 This driver can also be built as a module. If so, these modules 294 will be created: 295 - st_accel (core functions for the driver [it is mandatory]); 296 - st_accel_i2c (necessary for the I2C devices [optional*]); 297 - st_accel_spi (necessary for the SPI devices [optional*]); 298 299 (*) one of these is necessary to do something. 300 301config IIO_ST_ACCEL_I2C_3AXIS 302 tristate 303 depends on IIO_ST_ACCEL_3AXIS 304 depends on IIO_ST_SENSORS_I2C 305 306config IIO_ST_ACCEL_SPI_3AXIS 307 tristate 308 depends on IIO_ST_ACCEL_3AXIS 309 depends on IIO_ST_SENSORS_SPI 310 311config KXSD9 312 tristate "Kionix KXSD9 Accelerometer Driver" 313 select IIO_BUFFER 314 select IIO_TRIGGERED_BUFFER 315 help 316 Say yes here to build support for the Kionix KXSD9 accelerometer. 317 It can be accessed using an (optional) SPI or I2C interface. 318 319 To compile this driver as a module, choose M here: the module 320 will be called kxsd9. 321 322config KXSD9_SPI 323 tristate "Kionix KXSD9 SPI transport" 324 depends on KXSD9 325 depends on SPI 326 default KXSD9 327 select REGMAP_SPI 328 help 329 Say yes here to enable the Kionix KXSD9 accelerometer 330 SPI transport channel. 331 332config KXSD9_I2C 333 tristate "Kionix KXSD9 I2C transport" 334 depends on KXSD9 335 depends on I2C 336 default KXSD9 337 select REGMAP_I2C 338 help 339 Say yes here to enable the Kionix KXSD9 accelerometer 340 I2C transport channel. 341 342config KXCJK1013 343 tristate "Kionix 3-Axis Accelerometer Driver" 344 depends on I2C 345 select IIO_BUFFER 346 select IIO_TRIGGERED_BUFFER 347 help 348 Say Y here if you want to build a driver for the Kionix KXCJK-1013 349 triaxial acceleration sensor. This driver also supports KXCJ9-1008, 350 KXTJ2-1009 and KXTF9. 351 352 To compile this driver as a module, choose M here: the module will 353 be called kxcjk-1013. 354 355config MC3230 356 tristate "mCube MC3230 Digital Accelerometer Driver" 357 depends on I2C 358 help 359 Say yes here to build support for the mCube MC3230 low-g tri-axial 360 digital accelerometer. 361 362 To compile this driver as a module, choose M here: the 363 module will be called mc3230. 364 365config MMA7455 366 tristate 367 select IIO_BUFFER 368 select IIO_TRIGGERED_BUFFER 369 370config MMA7455_I2C 371 tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver" 372 depends on I2C 373 select MMA7455 374 select REGMAP_I2C 375 help 376 Say yes here to build support for the Freescale MMA7455L and 377 MMA7456L 3-axis accelerometer. 378 379 To compile this driver as a module, choose M here: the module 380 will be called mma7455_i2c. 381 382config MMA7455_SPI 383 tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver" 384 depends on SPI_MASTER 385 select MMA7455 386 select REGMAP_SPI 387 help 388 Say yes here to build support for the Freescale MMA7455L and 389 MMA7456L 3-axis accelerometer. 390 391 To compile this driver as a module, choose M here: the module 392 will be called mma7455_spi. 393 394config MMA7660 395 tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver" 396 depends on I2C 397 help 398 Say yes here to get support for the Freescale MMA7660FC 3-Axis 399 accelerometer. 400 401 Choosing M will build the driver as a module. If so, the module 402 will be called mma7660. 403 404config MMA8452 405 tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver" 406 depends on I2C 407 select IIO_BUFFER 408 select IIO_TRIGGERED_BUFFER 409 help 410 Say yes here to build support for the following Freescale / NXP 3-axis 411 accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC, 412 FXLS8471Q. 413 414 To compile this driver as a module, choose M here: the module 415 will be called mma8452. 416 417config MMA9551_CORE 418 tristate 419 420config MMA9551 421 tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver" 422 depends on I2C 423 select MMA9551_CORE 424 425 help 426 Say yes here to build support for the Freescale MMA9551L 427 Intelligent Motion-Sensing Platform Driver. 428 429 To compile this driver as a module, choose M here: the module 430 will be called mma9551. 431 432config MMA9553 433 tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver" 434 depends on I2C 435 select MMA9551_CORE 436 help 437 Say yes here to build support for the Freescale MMA9553L 438 Intelligent Pedometer Platform Driver. 439 440 To compile this driver as a module, choose M here: the module 441 will be called mma9553. 442 443config MXC4005 444 tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver" 445 depends on I2C 446 select IIO_BUFFER 447 select IIO_TRIGGERED_BUFFER 448 select REGMAP_I2C 449 help 450 Say yes here to build support for the Memsic MXC4005XC 3-axis 451 accelerometer. 452 453 To compile this driver as a module, choose M. The module will be 454 called mxc4005. 455 456config MXC6255 457 tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver" 458 depends on I2C 459 select REGMAP_I2C 460 help 461 Say yes here to build support for the Memsic MXC6255 Orientation 462 Sensing Accelerometer Driver. 463 464 To compile this driver as a module, choose M here: the module will be 465 called mxc6255. 466 467config SCA3000 468 select IIO_BUFFER 469 select IIO_KFIFO_BUF 470 depends on SPI 471 tristate "VTI SCA3000 series accelerometers" 472 help 473 Say Y here to build support for the VTI SCA3000 series of SPI 474 accelerometers. These devices use a hardware ring buffer. 475 476 To compile this driver as a module, say M here: the module will be 477 called sca3000. 478 479config SCA3300 480 tristate "Murata SCA3300 3-Axis Accelerometer Driver" 481 depends on SPI 482 select CRC8 483 select IIO_BUFFER 484 select IIO_TRIGGERED_BUFFER 485 help 486 Say yes here to build support for Murata SCA3300 3-Axis 487 accelerometer. 488 489 To compile this driver as a module, choose M here: the module will be 490 called sca3300. 491 492config STK8312 493 tristate "Sensortek STK8312 3-Axis Accelerometer Driver" 494 depends on I2C 495 select IIO_BUFFER 496 select IIO_TRIGGERED_BUFFER 497 help 498 Say yes here to get support for the Sensortek STK8312 3-axis 499 accelerometer. 500 501 Choosing M will build the driver as a module. If so, the module 502 will be called stk8312. 503 504config STK8BA50 505 tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver" 506 depends on I2C 507 select IIO_BUFFER 508 select IIO_TRIGGERED_BUFFER 509 help 510 Say yes here to get support for the Sensortek STK8BA50 3-axis 511 accelerometer. 512 513 Choosing M will build the driver as a module. If so, the module 514 will be called stk8ba50. 515 516endmenu 517