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