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