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 ADXL367 127 tristate 128 select IIO_BUFFER 129 select IIO_TRIGGERED_BUFFER 130 131config ADXL367_SPI 132 tristate "Analog Devices ADXL367 3-Axis Accelerometer SPI Driver" 133 depends on SPI 134 select ADXL367 135 select REGMAP_SPI 136 help 137 Say yes here to add support for the Analog Devices ADXL367 triaxial 138 acceleration sensor. 139 To compile this driver as a module, choose M here: the 140 module will be called adxl367_spi. 141 142config ADXL367_I2C 143 tristate "Analog Devices ADXL367 3-Axis Accelerometer I2C Driver" 144 depends on I2C 145 select ADXL367 146 select REGMAP_I2C 147 help 148 Say yes here to add support for the Analog Devices ADXL367 triaxial 149 acceleration sensor. 150 To compile this driver as a module, choose M here: the 151 module will be called adxl367_i2c. 152 153config ADXL372 154 tristate 155 select IIO_BUFFER 156 select IIO_TRIGGERED_BUFFER 157 158config ADXL372_SPI 159 tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver" 160 depends on SPI 161 select ADXL372 162 select REGMAP_SPI 163 help 164 Say yes here to add support for the Analog Devices ADXL372 triaxial 165 acceleration sensor. 166 To compile this driver as a module, choose M here: the 167 module will be called adxl372_spi. 168 169config ADXL372_I2C 170 tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver" 171 depends on I2C 172 select ADXL372 173 select REGMAP_I2C 174 help 175 Say yes here to add support for the Analog Devices ADXL372 triaxial 176 acceleration sensor. 177 To compile this driver as a module, choose M here: the 178 module will be called adxl372_i2c. 179 180config BMA180 181 tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver" 182 depends on I2C && INPUT_BMA150=n 183 select IIO_BUFFER 184 select IIO_TRIGGERED_BUFFER 185 help 186 Say Y here if you want to build a driver for the Bosch BMA023, BMA150 187 BMA180, BMA250 or SMB380 triaxial acceleration sensor. 188 189 To compile this driver as a module, choose M here: the 190 module will be called bma180. 191 192config BMA220 193 tristate "Bosch BMA220 3-Axis Accelerometer Driver" 194 depends on SPI 195 select IIO_BUFFER 196 select IIO_TRIGGERED_BUFFER 197 help 198 Say yes here to add support for the Bosch BMA220 triaxial 199 acceleration sensor. 200 201 To compile this driver as a module, choose M here: the 202 module will be called bma220_spi. 203 204config BMA400 205 tristate "Bosch BMA400 3-Axis Accelerometer Driver" 206 select REGMAP 207 select IIO_BUFFER 208 select IIO_TRIGGERED_BUFFER 209 select BMA400_I2C if I2C 210 select BMA400_SPI if SPI 211 help 212 Say Y here if you want to build a driver for the Bosch BMA400 213 triaxial acceleration sensor. 214 215 To compile this driver as a module, choose M here: the 216 module will be called bma400_core and you will also get 217 bma400_i2c if I2C is enabled and bma400_spi if SPI is 218 enabled. 219 220config BMA400_I2C 221 tristate 222 select REGMAP_I2C 223 depends on BMA400 224 225config BMA400_SPI 226 tristate 227 select REGMAP_SPI 228 depends on BMA400 229 230config BMC150_ACCEL 231 tristate "Bosch BMC150 Accelerometer Driver" 232 select IIO_BUFFER 233 select IIO_TRIGGERED_BUFFER 234 select REGMAP 235 select BMC150_ACCEL_I2C if I2C 236 select BMC150_ACCEL_SPI if SPI 237 help 238 Say yes here to build support for the following Bosch accelerometers: 239 BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156 240 BMI055. 241 242 Note that some of these are combo modules: 243 - BMC150/BMC156: accelerometer and magnetometer 244 - BMI055: accelerometer and gyroscope 245 246 This driver is only implementing accelerometer part, which has 247 its own address and register map. 248 249config BMC150_ACCEL_I2C 250 tristate 251 select REGMAP_I2C 252 253config BMC150_ACCEL_SPI 254 tristate 255 select REGMAP_SPI 256 257config BMI088_ACCEL 258 tristate "Bosch BMI088 Accelerometer Driver" 259 select IIO_BUFFER 260 select IIO_TRIGGERED_BUFFER 261 select REGMAP 262 select BMI088_ACCEL_SPI if SPI 263 select BMI088_ACCEL_I2C if I2C 264 help 265 Say yes here to build support for the following Bosch accelerometers: 266 BMI088, BMI085, BMI090L. Note that all of these are combo module that 267 include both accelerometer and gyroscope. 268 269 This driver only implements the accelerometer part, which has its own 270 address and register map. BMG160 provides the gyroscope driver. 271 272config BMI088_ACCEL_I2C 273 tristate 274 select REGMAP_I2C 275 276config BMI088_ACCEL_SPI 277 tristate 278 select REGMAP_SPI 279 280config DA280 281 tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver" 282 depends on I2C 283 help 284 Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit 285 digital accelerometer. 286 287 To compile this driver as a module, choose M here: the 288 module will be called da280. 289 290config DA311 291 tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver" 292 depends on I2C 293 help 294 Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit 295 digital accelerometer. 296 297 To compile this driver as a module, choose M here: the 298 module will be called da311. 299 300config DMARD06 301 tristate "Domintech DMARD06 Digital Accelerometer Driver" 302 depends on I2C 303 help 304 Say yes here to build support for the Domintech low-g tri-axial 305 digital accelerometers: DMARD05, DMARD06, DMARD07. 306 307 To compile this driver as a module, choose M here: the 308 module will be called dmard06. 309 310config DMARD09 311 tristate "Domintech DMARD09 3-axis Accelerometer Driver" 312 depends on I2C 313 help 314 Say yes here to get support for the Domintech DMARD09 3-axis 315 accelerometer. 316 317 Choosing M will build the driver as a module. If so, the module 318 will be called dmard09. 319 320config DMARD10 321 tristate "Domintech DMARD10 3-axis Accelerometer Driver" 322 depends on I2C 323 help 324 Say yes here to get support for the Domintech DMARD10 3-axis 325 accelerometer. 326 327 Choosing M will build the driver as a module. If so, the module 328 will be called dmard10. 329 330config FXLS8962AF 331 tristate 332 depends on I2C || !I2C # cannot be built-in for modular I2C 333 select IIO_BUFFER 334 select IIO_KFIFO_BUF 335 336config FXLS8962AF_I2C 337 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver" 338 depends on I2C 339 select FXLS8962AF 340 select REGMAP_I2C 341 help 342 Say yes here to build support for the NXP 3-axis automotive 343 accelerometer FXLS8962AF/FXLS8964AF with I2C support. 344 345 To compile this driver as a module, choose M here: the module 346 will be called fxls8962af_i2c. 347 348config FXLS8962AF_SPI 349 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver" 350 depends on SPI 351 depends on I2C || !I2C 352 select FXLS8962AF 353 select REGMAP_SPI 354 help 355 Say yes here to build support for the NXP 3-axis automotive 356 accelerometer FXLS8962AF/FXLS8964AF with SPI support. 357 358 To compile this driver as a module, choose M here: the module 359 will be called fxls8962af_spi. 360 361config HID_SENSOR_ACCEL_3D 362 depends on HID_SENSOR_HUB 363 select IIO_BUFFER 364 select HID_SENSOR_IIO_COMMON 365 select HID_SENSOR_IIO_TRIGGER 366 tristate "HID Accelerometers 3D" 367 help 368 Say yes here to build support for the HID SENSOR 369 accelerometers 3D. 370 371 To compile this driver as a module, choose M here: the 372 module will be called hid-sensor-accel-3d. 373 374config IIO_CROS_EC_ACCEL_LEGACY 375 tristate "ChromeOS EC Legacy Accelerometer Sensor" 376 depends on IIO_CROS_EC_SENSORS_CORE 377 help 378 Say yes here to get support for accelerometers on Chromebook using 379 legacy EC firmware. 380 Sensor data is retrieved through IO memory. 381 Newer devices should use IIO_CROS_EC_SENSORS. 382 383config IIO_ST_ACCEL_3AXIS 384 tristate "STMicroelectronics accelerometers 3-Axis Driver" 385 depends on (I2C || SPI_MASTER) && SYSFS 386 depends on !SENSORS_LIS3_I2C 387 depends on !SENSORS_LIS3_SPI 388 select IIO_ST_SENSORS_CORE 389 select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) 390 help 391 Say yes here to build support for STMicroelectronics accelerometers: 392 LSM303C, LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, 393 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, 394 LNG2DM, LIS3DE, LIS2DE12, LIS2HH12 395 396 Also need to enable at least one of I2C and SPI interface drivers 397 below. 398 399config IIO_ST_ACCEL_I2C_3AXIS 400 tristate "STMicroelectronics accelerometers 3-Axis I2C Interface" 401 depends on I2C && IIO_ST_ACCEL_3AXIS 402 default I2C && IIO_ST_ACCEL_3AXIS 403 select IIO_ST_SENSORS_I2C 404 help 405 Build support for STMicroelectronics accelerometers I2C interface. 406 407 To compile this driver as a module, choose M here. The module 408 will be called st_accel_i2c. 409 410config IIO_ST_ACCEL_SPI_3AXIS 411 tristate "STMicroelectronics accelerometers 3-Axis SPI Interface" 412 depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS 413 default SPI_MASTER && IIO_ST_ACCEL_3AXIS 414 select IIO_ST_SENSORS_SPI 415 help 416 Build support for STMicroelectronics accelerometers SPI interface. 417 418 To compile this driver as a module, choose M here. The module 419 will be called st_accel_spi. 420 421config IIO_KX022A 422 tristate 423 424config IIO_KX022A_SPI 425 tristate "Kionix KX022A tri-axis digital accelerometer SPI interface" 426 depends on SPI 427 select IIO_KX022A 428 select REGMAP_SPI 429 help 430 Enable support for the Kionix digital tri-axis accelerometers 431 connected to SPI interface. Supported devices are: 432 KX022A, KX132-1211, KX132ACR-LBZ 433 434config IIO_KX022A_I2C 435 tristate "Kionix KX022A tri-axis digital accelerometer I2C interface" 436 depends on I2C 437 select IIO_KX022A 438 select REGMAP_I2C 439 help 440 Enable support for the Kionix digital tri-axis accelerometers 441 connected to I2C interface. Supported devices are: 442 KX022A, KX132-1211, KX132ACR-LBZ 443 444config KXSD9 445 tristate "Kionix KXSD9 Accelerometer Driver" 446 select IIO_BUFFER 447 select IIO_TRIGGERED_BUFFER 448 help 449 Say yes here to build support for the Kionix KXSD9 accelerometer. 450 It can be accessed using an (optional) SPI or I2C interface. 451 452 To compile this driver as a module, choose M here: the module 453 will be called kxsd9. 454 455config KXSD9_SPI 456 tristate "Kionix KXSD9 SPI transport" 457 depends on KXSD9 458 depends on SPI 459 default KXSD9 460 select REGMAP_SPI 461 help 462 Say yes here to enable the Kionix KXSD9 accelerometer 463 SPI transport channel. 464 465config KXSD9_I2C 466 tristate "Kionix KXSD9 I2C transport" 467 depends on KXSD9 468 depends on I2C 469 default KXSD9 470 select REGMAP_I2C 471 help 472 Say yes here to enable the Kionix KXSD9 accelerometer 473 I2C transport channel. 474 475config KXCJK1013 476 tristate "Kionix 3-Axis Accelerometer Driver" 477 depends on I2C 478 select IIO_BUFFER 479 select IIO_TRIGGERED_BUFFER 480 help 481 Say Y here if you want to build a driver for the Kionix KXCJK-1013 482 triaxial acceleration sensor. This driver also supports KXCJ9-1008, 483 KXTJ2-1009 and KXTF9. 484 485 To compile this driver as a module, choose M here: the module will 486 be called kxcjk-1013. 487 488config MC3230 489 tristate "mCube MC3230 Digital Accelerometer Driver" 490 depends on I2C 491 help 492 Say yes here to build support for the mCube MC3230 low-g tri-axial 493 digital accelerometer. 494 495 To compile this driver as a module, choose M here: the 496 module will be called mc3230. 497 498config MMA7455 499 tristate 500 select IIO_BUFFER 501 select IIO_TRIGGERED_BUFFER 502 503config MMA7455_I2C 504 tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver" 505 depends on I2C 506 select MMA7455 507 select REGMAP_I2C 508 help 509 Say yes here to build support for the Freescale MMA7455L and 510 MMA7456L 3-axis accelerometer. 511 512 To compile this driver as a module, choose M here: the module 513 will be called mma7455_i2c. 514 515config MMA7455_SPI 516 tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver" 517 depends on SPI_MASTER 518 select MMA7455 519 select REGMAP_SPI 520 help 521 Say yes here to build support for the Freescale MMA7455L and 522 MMA7456L 3-axis accelerometer. 523 524 To compile this driver as a module, choose M here: the module 525 will be called mma7455_spi. 526 527config MMA7660 528 tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver" 529 depends on I2C 530 help 531 Say yes here to get support for the Freescale MMA7660FC 3-Axis 532 accelerometer. 533 534 Choosing M will build the driver as a module. If so, the module 535 will be called mma7660. 536 537config MMA8452 538 tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver" 539 depends on I2C 540 select IIO_BUFFER 541 select IIO_TRIGGERED_BUFFER 542 help 543 Say yes here to build support for the following Freescale / NXP 3-axis 544 accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC, 545 FXLS8471Q. 546 547 To compile this driver as a module, choose M here: the module 548 will be called mma8452. 549 550config MMA9551_CORE 551 tristate 552 553config MMA9551 554 tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver" 555 depends on I2C 556 select MMA9551_CORE 557 558 help 559 Say yes here to build support for the Freescale MMA9551L 560 Intelligent Motion-Sensing Platform Driver. 561 562 To compile this driver as a module, choose M here: the module 563 will be called mma9551. 564 565config MMA9553 566 tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver" 567 depends on I2C 568 select MMA9551_CORE 569 help 570 Say yes here to build support for the Freescale MMA9553L 571 Intelligent Pedometer Platform Driver. 572 573 To compile this driver as a module, choose M here: the module 574 will be called mma9553. 575 576config MSA311 577 tristate "MEMSensing Digital 3-Axis Accelerometer Driver" 578 depends on I2C 579 select IIO_BUFFER 580 select IIO_TRIGGERED_BUFFER 581 select REGMAP_I2C 582 help 583 Say yes here to build support for the MEMSensing MSA311 584 accelerometer driver. 585 586 To compile this driver as a module, choose M here: the module will be 587 called msa311. 588 589config MXC4005 590 tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver" 591 depends on I2C 592 select IIO_BUFFER 593 select IIO_TRIGGERED_BUFFER 594 select REGMAP_I2C 595 help 596 Say yes here to build support for the Memsic MXC4005XC 3-axis 597 accelerometer. 598 599 To compile this driver as a module, choose M. The module will be 600 called mxc4005. 601 602config MXC6255 603 tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver" 604 depends on I2C 605 select REGMAP_I2C 606 help 607 Say yes here to build support for the Memsic MXC6255 Orientation 608 Sensing Accelerometer Driver. 609 610 To compile this driver as a module, choose M here: the module will be 611 called mxc6255. 612 613config SCA3000 614 select IIO_BUFFER 615 select IIO_KFIFO_BUF 616 depends on SPI 617 tristate "VTI SCA3000 series accelerometers" 618 help 619 Say Y here to build support for the VTI SCA3000 series of SPI 620 accelerometers. These devices use a hardware ring buffer. 621 622 To compile this driver as a module, say M here: the module will be 623 called sca3000. 624 625config SCA3300 626 tristate "Murata SCA3300 3-Axis Accelerometer Driver" 627 depends on SPI 628 select CRC8 629 select IIO_BUFFER 630 select IIO_TRIGGERED_BUFFER 631 help 632 Say yes here to build support for Murata SCA3300 3-Axis 633 accelerometer. 634 635 To compile this driver as a module, choose M here: the module will be 636 called sca3300. 637 638config STK8312 639 tristate "Sensortek STK8312 3-Axis Accelerometer Driver" 640 depends on I2C 641 select IIO_BUFFER 642 select IIO_TRIGGERED_BUFFER 643 help 644 Say yes here to get support for the Sensortek STK8312 3-axis 645 accelerometer. 646 647 Choosing M will build the driver as a module. If so, the module 648 will be called stk8312. 649 650config STK8BA50 651 tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver" 652 depends on I2C 653 select IIO_BUFFER 654 select IIO_TRIGGERED_BUFFER 655 help 656 Say yes here to get support for the Sensortek STK8BA50 3-axis 657 accelerometer. 658 659 Choosing M will build the driver as a module. If so, the module 660 will be called stk8ba50. 661 662endmenu 663