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