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