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 help 102 Say Y here if you want to build i2c support for the Analog Devices 103 ADXL355 3-axis digital accelerometer. 104 105 To compile this driver as a module, choose M here: the module 106 will be called adxl355_i2c and you will also get adxl355_core 107 for the core module. 108 109config ADXL355_SPI 110 tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer SPI Driver" 111 depends on SPI 112 select ADXL355 113 select REGMAP_SPI 114 help 115 Say Y here if you want to build spi support for the Analog Devices 116 ADXL355 3-axis digital accelerometer. 117 118 To compile this driver as a module, choose M here: the module 119 will be called adxl355_spi and you will also get adxl355_core 120 for the core module. 121 122config ADXL372 123 tristate 124 select IIO_BUFFER 125 select IIO_TRIGGERED_BUFFER 126 127config ADXL372_SPI 128 tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver" 129 depends on SPI 130 select ADXL372 131 select REGMAP_SPI 132 help 133 Say yes here to add support for the Analog Devices ADXL372 triaxial 134 acceleration sensor. 135 To compile this driver as a module, choose M here: the 136 module will be called adxl372_spi. 137 138config ADXL372_I2C 139 tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver" 140 depends on I2C 141 select ADXL372 142 select REGMAP_I2C 143 help 144 Say yes here to add support for the Analog Devices ADXL372 triaxial 145 acceleration sensor. 146 To compile this driver as a module, choose M here: the 147 module will be called adxl372_i2c. 148 149config BMA180 150 tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver" 151 depends on I2C && INPUT_BMA150=n 152 select IIO_BUFFER 153 select IIO_TRIGGERED_BUFFER 154 help 155 Say Y here if you want to build a driver for the Bosch BMA023, BMA150 156 BMA180, BMA250 or SMB380 triaxial acceleration sensor. 157 158 To compile this driver as a module, choose M here: the 159 module will be called bma180. 160 161config BMA220 162 tristate "Bosch BMA220 3-Axis Accelerometer Driver" 163 depends on SPI 164 select IIO_BUFFER 165 select IIO_TRIGGERED_BUFFER 166 help 167 Say yes here to add support for the Bosch BMA220 triaxial 168 acceleration sensor. 169 170 To compile this driver as a module, choose M here: the 171 module will be called bma220_spi. 172 173config BMA400 174 tristate "Bosch BMA400 3-Axis Accelerometer Driver" 175 select REGMAP 176 select BMA400_I2C if I2C 177 select BMA400_SPI if SPI 178 help 179 Say Y here if you want to build a driver for the Bosch BMA400 180 triaxial acceleration sensor. 181 182 To compile this driver as a module, choose M here: the 183 module will be called bma400_core and you will also get 184 bma400_i2c if I2C is enabled and bma400_spi if SPI is 185 enabled. 186 187config BMA400_I2C 188 tristate 189 depends on BMA400 190 191config BMA400_SPI 192 tristate 193 depends on BMA400 194 195config BMC150_ACCEL 196 tristate "Bosch BMC150 Accelerometer Driver" 197 select IIO_BUFFER 198 select IIO_TRIGGERED_BUFFER 199 select REGMAP 200 select BMC150_ACCEL_I2C if I2C 201 select BMC150_ACCEL_SPI if SPI 202 help 203 Say yes here to build support for the following Bosch accelerometers: 204 BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156 205 BMI055. 206 207 Note that some of these are combo modules: 208 - BMC150/BMC156: accelerometer and magnetometer 209 - BMI055: accelerometer and gyroscope 210 211 This driver is only implementing accelerometer part, which has 212 its own address and register map. 213 214config BMC150_ACCEL_I2C 215 tristate 216 select REGMAP_I2C 217 218config BMC150_ACCEL_SPI 219 tristate 220 select REGMAP_SPI 221 222config BMI088_ACCEL 223 tristate "Bosch BMI088 Accelerometer Driver" 224 depends on SPI 225 select IIO_BUFFER 226 select IIO_TRIGGERED_BUFFER 227 select REGMAP 228 select BMI088_ACCEL_SPI 229 help 230 Say yes here to build support for the Bosch BMI088 accelerometer. 231 232 This is a combo module with both accelerometer and gyroscope. This 233 driver only implements the accelerometer part, which has its own 234 address and register map. BMG160 provides the gyroscope driver. 235 236config BMI088_ACCEL_SPI 237 tristate 238 select REGMAP_SPI 239 240config DA280 241 tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver" 242 depends on I2C 243 help 244 Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit 245 digital accelerometer. 246 247 To compile this driver as a module, choose M here: the 248 module will be called da280. 249 250config DA311 251 tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver" 252 depends on I2C 253 help 254 Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit 255 digital accelerometer. 256 257 To compile this driver as a module, choose M here: the 258 module will be called da311. 259 260config DMARD06 261 tristate "Domintech DMARD06 Digital Accelerometer Driver" 262 depends on OF || COMPILE_TEST 263 depends on I2C 264 help 265 Say yes here to build support for the Domintech low-g tri-axial 266 digital accelerometers: DMARD05, DMARD06, DMARD07. 267 268 To compile this driver as a module, choose M here: the 269 module will be called dmard06. 270 271config DMARD09 272 tristate "Domintech DMARD09 3-axis Accelerometer Driver" 273 depends on I2C 274 help 275 Say yes here to get support for the Domintech DMARD09 3-axis 276 accelerometer. 277 278 Choosing M will build the driver as a module. If so, the module 279 will be called dmard09. 280 281config DMARD10 282 tristate "Domintech DMARD10 3-axis Accelerometer Driver" 283 depends on I2C 284 help 285 Say yes here to get support for the Domintech DMARD10 3-axis 286 accelerometer. 287 288 Choosing M will build the driver as a module. If so, the module 289 will be called dmard10. 290 291config FXLS8962AF 292 tristate 293 depends on I2C || !I2C # cannot be built-in for modular I2C 294 295config FXLS8962AF_I2C 296 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver" 297 depends on I2C 298 select FXLS8962AF 299 select REGMAP_I2C 300 help 301 Say yes here to build support for the NXP 3-axis automotive 302 accelerometer FXLS8962AF/FXLS8964AF with I2C support. 303 304 To compile this driver as a module, choose M here: the module 305 will be called fxls8962af_i2c. 306 307config FXLS8962AF_SPI 308 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver" 309 depends on SPI 310 depends on I2C || !I2C 311 select FXLS8962AF 312 select REGMAP_SPI 313 help 314 Say yes here to build support for the NXP 3-axis automotive 315 accelerometer FXLS8962AF/FXLS8964AF with SPI support. 316 317 To compile this driver as a module, choose M here: the module 318 will be called fxls8962af_spi. 319 320config HID_SENSOR_ACCEL_3D 321 depends on HID_SENSOR_HUB 322 select IIO_BUFFER 323 select HID_SENSOR_IIO_COMMON 324 select HID_SENSOR_IIO_TRIGGER 325 tristate "HID Accelerometers 3D" 326 help 327 Say yes here to build support for the HID SENSOR 328 accelerometers 3D. 329 330 To compile this driver as a module, choose M here: the 331 module will be called hid-sensor-accel-3d. 332 333config IIO_CROS_EC_ACCEL_LEGACY 334 tristate "ChromeOS EC Legacy Accelerometer Sensor" 335 depends on IIO_CROS_EC_SENSORS_CORE 336 help 337 Say yes here to get support for accelerometers on Chromebook using 338 legacy EC firmware. 339 Sensor data is retrieved through IO memory. 340 Newer devices should use IIO_CROS_EC_SENSORS. 341 342config IIO_ST_ACCEL_3AXIS 343 tristate "STMicroelectronics accelerometers 3-Axis Driver" 344 depends on (I2C || SPI_MASTER) && SYSFS 345 depends on !SENSORS_LIS3_I2C 346 depends on !SENSORS_LIS3_SPI 347 select IIO_ST_SENSORS_CORE 348 select IIO_ST_ACCEL_I2C_3AXIS if (I2C) 349 select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER) 350 select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) 351 help 352 Say yes here to build support for STMicroelectronics accelerometers: 353 LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, 354 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, 355 LNG2DM, LIS3DE, LIS2DE12, LIS2HH12 356 357 This driver can also be built as a module. If so, these modules 358 will be created: 359 - st_accel (core functions for the driver [it is mandatory]); 360 - st_accel_i2c (necessary for the I2C devices [optional*]); 361 - st_accel_spi (necessary for the SPI devices [optional*]); 362 363 (*) one of these is necessary to do something. 364 365config IIO_ST_ACCEL_I2C_3AXIS 366 tristate 367 depends on IIO_ST_ACCEL_3AXIS 368 depends on IIO_ST_SENSORS_I2C 369 370config IIO_ST_ACCEL_SPI_3AXIS 371 tristate 372 depends on IIO_ST_ACCEL_3AXIS 373 depends on IIO_ST_SENSORS_SPI 374 375config KXSD9 376 tristate "Kionix KXSD9 Accelerometer Driver" 377 select IIO_BUFFER 378 select IIO_TRIGGERED_BUFFER 379 help 380 Say yes here to build support for the Kionix KXSD9 accelerometer. 381 It can be accessed using an (optional) SPI or I2C interface. 382 383 To compile this driver as a module, choose M here: the module 384 will be called kxsd9. 385 386config KXSD9_SPI 387 tristate "Kionix KXSD9 SPI transport" 388 depends on KXSD9 389 depends on SPI 390 default KXSD9 391 select REGMAP_SPI 392 help 393 Say yes here to enable the Kionix KXSD9 accelerometer 394 SPI transport channel. 395 396config KXSD9_I2C 397 tristate "Kionix KXSD9 I2C transport" 398 depends on KXSD9 399 depends on I2C 400 default KXSD9 401 select REGMAP_I2C 402 help 403 Say yes here to enable the Kionix KXSD9 accelerometer 404 I2C transport channel. 405 406config KXCJK1013 407 tristate "Kionix 3-Axis Accelerometer Driver" 408 depends on I2C 409 select IIO_BUFFER 410 select IIO_TRIGGERED_BUFFER 411 help 412 Say Y here if you want to build a driver for the Kionix KXCJK-1013 413 triaxial acceleration sensor. This driver also supports KXCJ9-1008, 414 KXTJ2-1009 and KXTF9. 415 416 To compile this driver as a module, choose M here: the module will 417 be called kxcjk-1013. 418 419config MC3230 420 tristate "mCube MC3230 Digital Accelerometer Driver" 421 depends on I2C 422 help 423 Say yes here to build support for the mCube MC3230 low-g tri-axial 424 digital accelerometer. 425 426 To compile this driver as a module, choose M here: the 427 module will be called mc3230. 428 429config MMA7455 430 tristate 431 select IIO_BUFFER 432 select IIO_TRIGGERED_BUFFER 433 434config MMA7455_I2C 435 tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver" 436 depends on I2C 437 select MMA7455 438 select REGMAP_I2C 439 help 440 Say yes here to build support for the Freescale MMA7455L and 441 MMA7456L 3-axis accelerometer. 442 443 To compile this driver as a module, choose M here: the module 444 will be called mma7455_i2c. 445 446config MMA7455_SPI 447 tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver" 448 depends on SPI_MASTER 449 select MMA7455 450 select REGMAP_SPI 451 help 452 Say yes here to build support for the Freescale MMA7455L and 453 MMA7456L 3-axis accelerometer. 454 455 To compile this driver as a module, choose M here: the module 456 will be called mma7455_spi. 457 458config MMA7660 459 tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver" 460 depends on I2C 461 help 462 Say yes here to get support for the Freescale MMA7660FC 3-Axis 463 accelerometer. 464 465 Choosing M will build the driver as a module. If so, the module 466 will be called mma7660. 467 468config MMA8452 469 tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver" 470 depends on I2C 471 select IIO_BUFFER 472 select IIO_TRIGGERED_BUFFER 473 help 474 Say yes here to build support for the following Freescale / NXP 3-axis 475 accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC, 476 FXLS8471Q. 477 478 To compile this driver as a module, choose M here: the module 479 will be called mma8452. 480 481config MMA9551_CORE 482 tristate 483 484config MMA9551 485 tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver" 486 depends on I2C 487 select MMA9551_CORE 488 489 help 490 Say yes here to build support for the Freescale MMA9551L 491 Intelligent Motion-Sensing Platform Driver. 492 493 To compile this driver as a module, choose M here: the module 494 will be called mma9551. 495 496config MMA9553 497 tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver" 498 depends on I2C 499 select MMA9551_CORE 500 help 501 Say yes here to build support for the Freescale MMA9553L 502 Intelligent Pedometer Platform Driver. 503 504 To compile this driver as a module, choose M here: the module 505 will be called mma9553. 506 507config MXC4005 508 tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver" 509 depends on I2C 510 select IIO_BUFFER 511 select IIO_TRIGGERED_BUFFER 512 select REGMAP_I2C 513 help 514 Say yes here to build support for the Memsic MXC4005XC 3-axis 515 accelerometer. 516 517 To compile this driver as a module, choose M. The module will be 518 called mxc4005. 519 520config MXC6255 521 tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver" 522 depends on I2C 523 select REGMAP_I2C 524 help 525 Say yes here to build support for the Memsic MXC6255 Orientation 526 Sensing Accelerometer Driver. 527 528 To compile this driver as a module, choose M here: the module will be 529 called mxc6255. 530 531config SCA3000 532 select IIO_BUFFER 533 select IIO_KFIFO_BUF 534 depends on SPI 535 tristate "VTI SCA3000 series accelerometers" 536 help 537 Say Y here to build support for the VTI SCA3000 series of SPI 538 accelerometers. These devices use a hardware ring buffer. 539 540 To compile this driver as a module, say M here: the module will be 541 called sca3000. 542 543config SCA3300 544 tristate "Murata SCA3300 3-Axis Accelerometer Driver" 545 depends on SPI 546 select CRC8 547 select IIO_BUFFER 548 select IIO_TRIGGERED_BUFFER 549 help 550 Say yes here to build support for Murata SCA3300 3-Axis 551 accelerometer. 552 553 To compile this driver as a module, choose M here: the module will be 554 called sca3300. 555 556config STK8312 557 tristate "Sensortek STK8312 3-Axis Accelerometer Driver" 558 depends on I2C 559 select IIO_BUFFER 560 select IIO_TRIGGERED_BUFFER 561 help 562 Say yes here to get support for the Sensortek STK8312 3-axis 563 accelerometer. 564 565 Choosing M will build the driver as a module. If so, the module 566 will be called stk8312. 567 568config STK8BA50 569 tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver" 570 depends on I2C 571 select IIO_BUFFER 572 select IIO_TRIGGERED_BUFFER 573 help 574 Say yes here to get support for the Sensortek STK8BA50 3-axis 575 accelerometer. 576 577 Choosing M will build the driver as a module. If so, the module 578 will be called stk8ba50. 579 580endmenu 581