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 depends on I2C || !I2C # cannot be built-in for modular I2C 235 236config FXLS8962AF_I2C 237 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver" 238 depends on I2C 239 select FXLS8962AF 240 select REGMAP_I2C 241 help 242 Say yes here to build support for the NXP 3-axis automotive 243 accelerometer FXLS8962AF/FXLS8964AF with I2C support. 244 245 To compile this driver as a module, choose M here: the module 246 will be called fxls8962af_i2c. 247 248config FXLS8962AF_SPI 249 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver" 250 depends on SPI 251 depends on I2C || !I2C 252 select FXLS8962AF 253 select REGMAP_SPI 254 help 255 Say yes here to build support for the NXP 3-axis automotive 256 accelerometer FXLS8962AF/FXLS8964AF with SPI support. 257 258 To compile this driver as a module, choose M here: the module 259 will be called fxls8962af_spi. 260 261config HID_SENSOR_ACCEL_3D 262 depends on HID_SENSOR_HUB 263 select IIO_BUFFER 264 select HID_SENSOR_IIO_COMMON 265 select HID_SENSOR_IIO_TRIGGER 266 tristate "HID Accelerometers 3D" 267 help 268 Say yes here to build support for the HID SENSOR 269 accelerometers 3D. 270 271 To compile this driver as a module, choose M here: the 272 module will be called hid-sensor-accel-3d. 273 274config IIO_CROS_EC_ACCEL_LEGACY 275 tristate "ChromeOS EC Legacy Accelerometer Sensor" 276 depends on IIO_CROS_EC_SENSORS_CORE 277 help 278 Say yes here to get support for accelerometers on Chromebook using 279 legacy EC firmware. 280 Sensor data is retrieved through IO memory. 281 Newer devices should use IIO_CROS_EC_SENSORS. 282 283config IIO_ST_ACCEL_3AXIS 284 tristate "STMicroelectronics accelerometers 3-Axis Driver" 285 depends on (I2C || SPI_MASTER) && SYSFS 286 depends on !SENSORS_LIS3_I2C 287 depends on !SENSORS_LIS3_SPI 288 select IIO_ST_SENSORS_CORE 289 select IIO_ST_ACCEL_I2C_3AXIS if (I2C) 290 select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER) 291 select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) 292 help 293 Say yes here to build support for STMicroelectronics accelerometers: 294 LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, 295 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, 296 LNG2DM, LIS3DE, LIS2DE12, LIS2HH12 297 298 This driver can also be built as a module. If so, these modules 299 will be created: 300 - st_accel (core functions for the driver [it is mandatory]); 301 - st_accel_i2c (necessary for the I2C devices [optional*]); 302 - st_accel_spi (necessary for the SPI devices [optional*]); 303 304 (*) one of these is necessary to do something. 305 306config IIO_ST_ACCEL_I2C_3AXIS 307 tristate 308 depends on IIO_ST_ACCEL_3AXIS 309 depends on IIO_ST_SENSORS_I2C 310 311config IIO_ST_ACCEL_SPI_3AXIS 312 tristate 313 depends on IIO_ST_ACCEL_3AXIS 314 depends on IIO_ST_SENSORS_SPI 315 316config KXSD9 317 tristate "Kionix KXSD9 Accelerometer Driver" 318 select IIO_BUFFER 319 select IIO_TRIGGERED_BUFFER 320 help 321 Say yes here to build support for the Kionix KXSD9 accelerometer. 322 It can be accessed using an (optional) SPI or I2C interface. 323 324 To compile this driver as a module, choose M here: the module 325 will be called kxsd9. 326 327config KXSD9_SPI 328 tristate "Kionix KXSD9 SPI transport" 329 depends on KXSD9 330 depends on SPI 331 default KXSD9 332 select REGMAP_SPI 333 help 334 Say yes here to enable the Kionix KXSD9 accelerometer 335 SPI transport channel. 336 337config KXSD9_I2C 338 tristate "Kionix KXSD9 I2C transport" 339 depends on KXSD9 340 depends on I2C 341 default KXSD9 342 select REGMAP_I2C 343 help 344 Say yes here to enable the Kionix KXSD9 accelerometer 345 I2C transport channel. 346 347config KXCJK1013 348 tristate "Kionix 3-Axis Accelerometer Driver" 349 depends on I2C 350 select IIO_BUFFER 351 select IIO_TRIGGERED_BUFFER 352 help 353 Say Y here if you want to build a driver for the Kionix KXCJK-1013 354 triaxial acceleration sensor. This driver also supports KXCJ9-1008, 355 KXTJ2-1009 and KXTF9. 356 357 To compile this driver as a module, choose M here: the module will 358 be called kxcjk-1013. 359 360config MC3230 361 tristate "mCube MC3230 Digital Accelerometer Driver" 362 depends on I2C 363 help 364 Say yes here to build support for the mCube MC3230 low-g tri-axial 365 digital accelerometer. 366 367 To compile this driver as a module, choose M here: the 368 module will be called mc3230. 369 370config MMA7455 371 tristate 372 select IIO_BUFFER 373 select IIO_TRIGGERED_BUFFER 374 375config MMA7455_I2C 376 tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver" 377 depends on I2C 378 select MMA7455 379 select REGMAP_I2C 380 help 381 Say yes here to build support for the Freescale MMA7455L and 382 MMA7456L 3-axis accelerometer. 383 384 To compile this driver as a module, choose M here: the module 385 will be called mma7455_i2c. 386 387config MMA7455_SPI 388 tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver" 389 depends on SPI_MASTER 390 select MMA7455 391 select REGMAP_SPI 392 help 393 Say yes here to build support for the Freescale MMA7455L and 394 MMA7456L 3-axis accelerometer. 395 396 To compile this driver as a module, choose M here: the module 397 will be called mma7455_spi. 398 399config MMA7660 400 tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver" 401 depends on I2C 402 help 403 Say yes here to get support for the Freescale MMA7660FC 3-Axis 404 accelerometer. 405 406 Choosing M will build the driver as a module. If so, the module 407 will be called mma7660. 408 409config MMA8452 410 tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver" 411 depends on I2C 412 select IIO_BUFFER 413 select IIO_TRIGGERED_BUFFER 414 help 415 Say yes here to build support for the following Freescale / NXP 3-axis 416 accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC, 417 FXLS8471Q. 418 419 To compile this driver as a module, choose M here: the module 420 will be called mma8452. 421 422config MMA9551_CORE 423 tristate 424 425config MMA9551 426 tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver" 427 depends on I2C 428 select MMA9551_CORE 429 430 help 431 Say yes here to build support for the Freescale MMA9551L 432 Intelligent Motion-Sensing Platform Driver. 433 434 To compile this driver as a module, choose M here: the module 435 will be called mma9551. 436 437config MMA9553 438 tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver" 439 depends on I2C 440 select MMA9551_CORE 441 help 442 Say yes here to build support for the Freescale MMA9553L 443 Intelligent Pedometer Platform Driver. 444 445 To compile this driver as a module, choose M here: the module 446 will be called mma9553. 447 448config MXC4005 449 tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver" 450 depends on I2C 451 select IIO_BUFFER 452 select IIO_TRIGGERED_BUFFER 453 select REGMAP_I2C 454 help 455 Say yes here to build support for the Memsic MXC4005XC 3-axis 456 accelerometer. 457 458 To compile this driver as a module, choose M. The module will be 459 called mxc4005. 460 461config MXC6255 462 tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver" 463 depends on I2C 464 select REGMAP_I2C 465 help 466 Say yes here to build support for the Memsic MXC6255 Orientation 467 Sensing Accelerometer Driver. 468 469 To compile this driver as a module, choose M here: the module will be 470 called mxc6255. 471 472config SCA3000 473 select IIO_BUFFER 474 select IIO_KFIFO_BUF 475 depends on SPI 476 tristate "VTI SCA3000 series accelerometers" 477 help 478 Say Y here to build support for the VTI SCA3000 series of SPI 479 accelerometers. These devices use a hardware ring buffer. 480 481 To compile this driver as a module, say M here: the module will be 482 called sca3000. 483 484config SCA3300 485 tristate "Murata SCA3300 3-Axis Accelerometer Driver" 486 depends on SPI 487 select CRC8 488 select IIO_BUFFER 489 select IIO_TRIGGERED_BUFFER 490 help 491 Say yes here to build support for Murata SCA3300 3-Axis 492 accelerometer. 493 494 To compile this driver as a module, choose M here: the module will be 495 called sca3300. 496 497config STK8312 498 tristate "Sensortek STK8312 3-Axis Accelerometer Driver" 499 depends on I2C 500 select IIO_BUFFER 501 select IIO_TRIGGERED_BUFFER 502 help 503 Say yes here to get support for the Sensortek STK8312 3-axis 504 accelerometer. 505 506 Choosing M will build the driver as a module. If so, the module 507 will be called stk8312. 508 509config STK8BA50 510 tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver" 511 depends on I2C 512 select IIO_BUFFER 513 select IIO_TRIGGERED_BUFFER 514 help 515 Say yes here to get support for the Sensortek STK8BA50 3-axis 516 accelerometer. 517 518 Choosing M will build the driver as a module. If so, the module 519 will be called stk8ba50. 520 521endmenu 522