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