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