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