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