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