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