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