blob: 5d91a6dda89405266ba5bbb57ea2386e2374d8b9 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
srinivas pandruvada45fe6f72012-09-05 13:56:00 +01002#
3# Accelerometer drivers
4#
Lars-Peter Clausen3edc84e2013-07-15 08:45:00 +01005# When adding new entries keep the list in alphabetical order
6
srinivas pandruvada45fe6f72012-09-05 13:56:00 +01007menu "Accelerometers"
8
Himanshu Jha591298e2018-03-23 00:42:45 +05309config ADIS16201
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +010010 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.
Himanshu Jha591298e2018-03-23 00:42:45 +053017
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +010018 To compile this driver as a module, say M here: the module will
19 be called adis16201.
Himanshu Jha591298e2018-03-23 00:42:45 +053020
Shreeya Patel524c7622018-03-29 14:52:51 +053021config ADIS16209
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +010022 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.
Shreeya Patel524c7622018-03-29 14:52:51 +053029
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +010030 To compile this driver as a module, say M here: the module will be
31 called adis16209.
Shreeya Patel524c7622018-03-29 14:52:51 +053032
Eva Rachel Retuyac6236072017-01-31 15:12:56 +080033config ADXL345
Eva Rachel Retuya51705122017-03-04 16:31:25 +080034 tristate
35
36config ADXL345_I2C
37 tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
38 depends on INPUT_ADXL34X=n
Eva Rachel Retuyac6236072017-01-31 15:12:56 +080039 depends on I2C
Eva Rachel Retuya51705122017-03-04 16:31:25 +080040 select ADXL345
Eva Rachel Retuya31fd2c72017-03-04 16:31:24 +080041 select REGMAP_I2C
Eva Rachel Retuyac6236072017-01-31 15:12:56 +080042 help
43 Say Y here if you want to build support for the Analog Devices
Lars-Peter Clausenef89f4b2018-07-13 14:50:44 +030044 ADXL345 or ADXL375 3-axis digital accelerometer.
Eva Rachel Retuyac6236072017-01-31 15:12:56 +080045
Eva Rachel Retuya51705122017-03-04 16:31:25 +080046 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.
Eva Rachel Retuyac6236072017-01-31 15:12:56 +080049
Eva Rachel Retuyafb0e5252017-03-04 16:31:26 +080050config 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
Lars-Peter Clausenef89f4b2018-07-13 14:50:44 +030058 ADXL345 or ADXL375 3-axis digital accelerometer.
Eva Rachel Retuyafb0e5252017-03-04 16:31:26 +080059
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
Stefan Popa4097da42018-08-10 11:46:18 +030064config ADXL372
Stefan Popad9e8fd02018-09-04 17:11:31 +030065 tristate
Stefan Popa4097da42018-08-10 11:46:18 +030066 select IIO_BUFFER
67 select IIO_TRIGGERED_BUFFER
Stefan Popad9e8fd02018-09-04 17:11:31 +030068
69config ADXL372_SPI
70 tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
71 depends on SPI
72 select ADXL372
73 select REGMAP_SPI
Stefan Popa4097da42018-08-10 11:46:18 +030074 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
Stefan Popad9e8fd02018-09-04 17:11:31 +030078 module will be called adxl372_spi.
Stefan Popa4097da42018-08-10 11:46:18 +030079
Stefan Popa94dbb462018-09-04 17:12:32 +030080config 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
Oleksandr Kravchenkofdadbce2013-08-28 12:01:00 +010091config BMA180
Linus Walleijc1d1c4a2019-12-11 22:38:19 +010092 tristate "Bosch BMA180/BMA25x 3-Axis Accelerometer Driver"
Oleksandr Kravchenkofdadbce2013-08-28 12:01:00 +010093 depends on I2C
94 select IIO_BUFFER
95 select IIO_TRIGGERED_BUFFER
96 help
Peter Meerwald2017cff2014-08-19 23:43:00 +010097 Say Y here if you want to build a driver for the Bosch BMA180 or
Linus Walleijc1d1c4a2019-12-11 22:38:19 +010098 BMA25x triaxial acceleration sensor.
Oleksandr Kravchenkofdadbce2013-08-28 12:01:00 +010099
100 To compile this driver as a module, choose M here: the
101 module will be called bma180.
102
Tiberiu Breanabf2a5602016-05-05 18:48:55 +0300103config BMA220
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +0100104 tristate "Bosch BMA220 3-Axis Accelerometer Driver"
Tiberiu Breanabf2a5602016-05-05 18:48:55 +0300105 depends on SPI
Alison Schofield193e2d42016-07-18 17:56:43 -0700106 select IIO_BUFFER
107 select IIO_TRIGGERED_BUFFER
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +0100108 help
109 Say yes here to add support for the Bosch BMA220 triaxial
110 acceleration sensor.
Tiberiu Breanabf2a5602016-05-05 18:48:55 +0300111
Enrico Weigelt, metux IT consultd626be02019-03-06 15:52:23 +0100112 To compile this driver as a module, choose M here: the
113 module will be called bma220_spi.
Tiberiu Breanabf2a5602016-05-05 18:48:55 +0300114
Dan Robertson465c8112019-12-20 16:00:50 +0000115config 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
Srinivas Pandruvadabd7fe5b2014-05-08 22:57:00 +0100131config BMC150_ACCEL
132 tristate "Bosch BMC150 Accelerometer Driver"
Srinivas Pandruvadabd7fe5b2014-05-08 22:57:00 +0100133 select IIO_BUFFER
134 select IIO_TRIGGERED_BUFFER
Markus Pargmann4011eda2015-09-21 12:55:13 +0200135 select REGMAP
Markus Pargmann55637c32015-09-21 12:55:15 +0200136 select BMC150_ACCEL_I2C if I2C
Markus Pargmannf9ab96e2015-09-21 12:55:16 +0200137 select BMC150_ACCEL_SPI if SPI
Srinivas Pandruvadabd7fe5b2014-05-08 22:57:00 +0100138 help
Laurentiu Palcu8ecbb3c2014-02-09 10:30:00 +0000139 Say yes here to build support for the following Bosch accelerometers:
140 BMC150, BMI055, BMA250E, BMA222E, BMA255, BMA280.
141
Srinivas Pandruvadabd7fe5b2014-05-08 22:57:00 +0100142 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
Markus Pargmann55637c32015-09-21 12:55:15 +0200146config BMC150_ACCEL_I2C
147 tristate
148 select REGMAP_I2C
149
Markus Pargmannf9ab96e2015-09-21 12:55:16 +0200150config BMC150_ACCEL_SPI
151 tristate
152 select REGMAP_SPI
153
Hans de Goedef2259512016-10-08 20:15:27 +0200154config 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
Hans de Goede598893e2016-10-08 14:34:25 +0200164config 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
Aleksei Mamlinb1b79f52016-07-25 18:21:18 +0300174config 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
Jelle van der Waaa4fa6502016-07-26 23:23:48 +0200185config 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
Hans de Goede569906e2016-10-08 14:34:24 +0200195config 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
srinivas pandruvada45fe6f72012-09-05 13:56:00 +0100205config 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
Alexander Holler9541cc32012-12-11 18:21:00 +0000210 select HID_SENSOR_IIO_TRIGGER
Peter Meerwaldace43fc2012-10-13 09:06:00 +0100211 tristate "HID Accelerometers 3D"
srinivas pandruvada45fe6f72012-09-05 13:56:00 +0100212 help
213 Say yes here to build support for the HID SENSOR
214 accelerometers 3D.
215
Roberta Dobrescu88f4c6c42014-12-30 20:57:55 +0200216 To compile this driver as a module, choose M here: the
217 module will be called hid-sensor-accel-3d.
218
Gwendal Grignou11b86c72017-10-12 19:33:23 +0200219config IIO_CROS_EC_ACCEL_LEGACY
220 tristate "ChromeOS EC Legacy Accelerometer Sensor"
Gwendal Grignoud96e2672019-07-15 16:14:53 -0700221 depends on IIO_CROS_EC_SENSORS_CORE
Gwendal Grignou11b86c72017-10-12 19:33:23 +0200222 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
Denis Cioccad6251162013-01-25 23:44:00 +0000228config IIO_ST_ACCEL_3AXIS
229 tristate "STMicroelectronics accelerometers 3-Axis Driver"
230 depends on (I2C || SPI_MASTER) && SYSFS
Linus Walleijed8959f2017-01-20 10:46:05 +0100231 depends on !SENSORS_LIS3_I2C
232 depends on !SENSORS_LIS3_SPI
Denis Cioccad6251162013-01-25 23:44:00 +0000233 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)
Denis Cioccad6251162013-01-25 23:44:00 +0000237 help
238 Say yes here to build support for STMicroelectronics accelerometers:
239 LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
Lorenzo Bianconidcdb0a72016-10-25 23:09:03 +0200240 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
Robert Jones63440a62019-04-10 17:12:09 -0700241 LNG2DM, LIS3DE, LIS2DE12
Denis Cioccad6251162013-01-25 23:44:00 +0000242
Peter Meerwald341673f2013-06-23 22:28:00 +0100243 This driver can also be built as a module. If so, these modules
244 will be created:
Denis Cioccad6251162013-01-25 23:44:00 +0000245 - 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
Lars-Peter Clausen3edc84e2013-07-15 08:45:00 +0100261config KXSD9
262 tristate "Kionix KXSD9 Accelerometer Driver"
Linus Walleij0427a102016-09-01 11:44:44 +0200263 select IIO_BUFFER
264 select IIO_TRIGGERED_BUFFER
Lars-Peter Clausen3edc84e2013-07-15 08:45:00 +0100265 help
266 Say yes here to build support for the Kionix KXSD9 accelerometer.
Linus Walleija483ab72016-09-01 11:44:41 +0200267 It can be accessed using an (optional) SPI or I2C interface.
Lars-Peter Clausen3edc84e2013-07-15 08:45:00 +0100268
Roberta Dobrescu88f4c6c42014-12-30 20:57:55 +0200269 To compile this driver as a module, choose M here: the module
270 will be called kxsd9.
271
Linus Walleijbf96f6e2016-09-01 11:44:38 +0200272config KXSD9_SPI
273 tristate "Kionix KXSD9 SPI transport"
274 depends on KXSD9
275 depends on SPI
276 default KXSD9
Linus Walleij0d1fb2d2016-09-01 11:44:40 +0200277 select REGMAP_SPI
Linus Walleijbf96f6e2016-09-01 11:44:38 +0200278 help
279 Say yes here to enable the Kionix KXSD9 accelerometer
280 SPI transport channel.
281
Linus Walleija483ab72016-09-01 11:44:41 +0200282config 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
Srinivas Pandruvada1a4fbf62014-11-06 23:07:00 +0000292config 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
Michał Mirosław1540d012017-09-17 17:01:04 +0200299 triaxial acceleration sensor. This driver also supports KXCJ9-1008,
300 KXTJ2-1009 and KXTF9.
Srinivas Pandruvada1a4fbf62014-11-06 23:07:00 +0000301
302 To compile this driver as a module, choose M here: the module will
303 be called kxcjk-1013.
304
Hans de Goede063e3302016-09-12 09:43:50 +0200305config 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
Joachim Eastwooda84ef0d2015-10-31 13:49:16 +0100315config 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
Constantin Musca32133be2016-05-03 15:05:45 +0300344config 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
Hartmut Knaack8838cc72015-08-02 22:43:52 +0200354config MMA8452
Martin Kepplingerf26ab1a2016-06-03 14:51:52 +0200355 tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
Hartmut Knaack8838cc72015-08-02 22:43:52 +0200356 depends on I2C
357 select IIO_BUFFER
358 select IIO_TRIGGERED_BUFFER
359 help
Martin Kepplingerf26ab1a2016-06-03 14:51:52 +0200360 Say yes here to build support for the following Freescale / NXP 3-axis
Martin Kepplingere8731182016-03-09 12:01:29 +0100361 accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
362 FXLS8471Q.
Hartmut Knaack8838cc72015-08-02 22:43:52 +0200363
364 To compile this driver as a module, choose M here: the module
365 will be called mma8452.
366
Irina Tirdead5b97f52015-01-11 21:10:15 +0200367config MMA9551_CORE
368 tristate
369
Vlad Dogaruc78b9172014-11-24 11:43:15 +0200370config MMA9551
371 tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
372 depends on I2C
Irina Tirdead5b97f52015-01-11 21:10:15 +0200373 select MMA9551_CORE
374
Vlad Dogaruc78b9172014-11-24 11:43:15 +0200375 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
Irina Tirdea40cb7612015-01-29 18:45:10 +0000382config 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.
Tiberiu Breana90bad332015-05-12 18:48:42 +0300392
Teodora Baluta077377f2015-08-20 17:37:31 +0300393config MXC4005
394 tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
395 depends on I2C
Teodora Baluta1ce0eda2015-08-20 17:37:32 +0300396 select IIO_BUFFER
397 select IIO_TRIGGERED_BUFFER
Teodora Baluta077377f2015-08-20 17:37:31 +0300398 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
Teodora Baluta75b6548f2015-10-22 15:44:50 +0300406config 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
Jonathan Camerond62e5fe2016-10-08 17:39:18 +0100417config 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
Tiberiu Breana90bad332015-05-12 18:48:42 +0300429config STK8312
430 tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
431 depends on I2C
Hartmut Knaack946448e2015-07-28 00:49:21 +0200432 select IIO_BUFFER
433 select IIO_TRIGGERED_BUFFER
Tiberiu Breana90bad332015-05-12 18:48:42 +0300434 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
Tiberiu Breana884ca452015-05-18 14:49:50 +0300441config STK8BA50
442 tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
443 depends on I2C
Alison Schofield193e2d42016-07-18 17:56:43 -0700444 select IIO_BUFFER
445 select IIO_TRIGGERED_BUFFER
Tiberiu Breana884ca452015-05-18 14:49:50 +0300446 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
srinivas pandruvada45fe6f72012-09-05 13:56:00 +0100453endmenu