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