8d8b1ba42ff80e31cccfc04991ee516e512c065c
[linux-2.6-microblaze.git] / drivers / iio / accel / Kconfig
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
7 menu "Accelerometers"
8
9 config 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
21 config 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
33 config ADXL345
34         tristate
35
36 config 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
50 config 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
64 config ADXL372
65         tristate
66         select IIO_BUFFER
67         select IIO_TRIGGERED_BUFFER
68
69 config 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
80 config 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
91 config 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
103 config 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
115 config 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
129 config BMA400_I2C
130         tristate
131         depends on BMA400
132
133 config BMA400_SPI
134         tristate
135         depends on BMA400
136
137 config 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
155 config BMC150_ACCEL_I2C
156         tristate
157         select REGMAP_I2C
158
159 config BMC150_ACCEL_SPI
160         tristate
161         select REGMAP_SPI
162
163 config 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
177 config BMI088_ACCEL_SPI
178         tristate
179         select REGMAP_SPI
180
181 config 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
191 config 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
201 config 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
212 config 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
222 config 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
232 config FXLS8962AF
233         tristate
234         depends on I2C || !I2C # cannot be built-in for modular I2C
235
236 config 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
248 config 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
261 config 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
274 config 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
283 config 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
306 config IIO_ST_ACCEL_I2C_3AXIS
307         tristate
308         depends on IIO_ST_ACCEL_3AXIS
309         depends on IIO_ST_SENSORS_I2C
310
311 config IIO_ST_ACCEL_SPI_3AXIS
312         tristate
313         depends on IIO_ST_ACCEL_3AXIS
314         depends on IIO_ST_SENSORS_SPI
315
316 config 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
327 config 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
337 config 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
347 config 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
360 config 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
370 config MMA7455
371         tristate
372         select IIO_BUFFER
373         select IIO_TRIGGERED_BUFFER
374
375 config 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
387 config 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
399 config 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
409 config 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
422 config MMA9551_CORE
423         tristate
424
425 config 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
437 config 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
448 config 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
461 config 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
472 config 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
484 config 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
497 config 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
509 config 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
521 endmenu