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