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