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