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