Merge tag 'iio-for-6.9a' of http://git.kernel.org/pub/scm/linux/kernel/git/jic23...
[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 ADXL313
34         tristate
35
36 config ADXL313_I2C
37         tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer I2C Driver"
38         depends on I2C
39         select ADXL313
40         select REGMAP_I2C
41         help
42           Say Y here if you want to build i2c support for the Analog Devices
43           ADXL313 3-axis digital accelerometer.
44
45           To compile this driver as a module, choose M here: the module
46           will be called adxl313_i2c and you will also get adxl313_core
47           for the core module.
48
49 config ADXL313_SPI
50         tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer SPI Driver"
51         depends on SPI
52         select ADXL313
53         select REGMAP_SPI
54         help
55           Say Y here if you want to build spi support for the Analog Devices
56           ADXL313 3-axis digital accelerometer.
57
58           To compile this driver as a module, choose M here: the module
59           will be called adxl313_spi and you will also get adxl313_core
60           for the core module.
61
62 config ADXL345
63         tristate
64
65 config ADXL345_I2C
66         tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
67         depends on INPUT_ADXL34X=n
68         depends on I2C
69         select ADXL345
70         select REGMAP_I2C
71         help
72           Say Y here if you want to build support for the Analog Devices
73           ADXL345 or ADXL375 3-axis digital accelerometer.
74
75           To compile this driver as a module, choose M here: the module
76           will be called adxl345_i2c and you will also get adxl345_core
77           for the core module.
78
79 config ADXL345_SPI
80         tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver"
81         depends on INPUT_ADXL34X=n
82         depends on SPI
83         select ADXL345
84         select REGMAP_SPI
85         help
86           Say Y here if you want to build support for the Analog Devices
87           ADXL345 or ADXL375 3-axis digital accelerometer.
88
89           To compile this driver as a module, choose M here: the module
90           will be called adxl345_spi and you will also get adxl345_core
91           for the core module.
92
93 config ADXL355
94         tristate
95
96 config ADXL355_I2C
97         tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer I2C Driver"
98         depends on I2C
99         select ADXL355
100         select REGMAP_I2C
101         select IIO_BUFFER
102         select IIO_TRIGGERED_BUFFER
103         help
104           Say Y here if you want to build i2c support for the Analog Devices
105           ADXL355 3-axis digital accelerometer.
106
107           To compile this driver as a module, choose M here: the module
108           will be called adxl355_i2c and you will also get adxl355_core
109           for the core module.
110
111 config ADXL355_SPI
112         tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer SPI Driver"
113         depends on SPI
114         select ADXL355
115         select REGMAP_SPI
116         select IIO_BUFFER
117         select IIO_TRIGGERED_BUFFER
118         help
119           Say Y here if you want to build spi support for the Analog Devices
120           ADXL355 3-axis digital accelerometer.
121
122           To compile this driver as a module, choose M here: the module
123           will be called adxl355_spi and you will also get adxl355_core
124           for the core module.
125
126 config ADXL367
127         tristate
128         select IIO_BUFFER
129         select IIO_TRIGGERED_BUFFER
130
131 config ADXL367_SPI
132         tristate "Analog Devices ADXL367 3-Axis Accelerometer SPI Driver"
133         depends on SPI
134         select ADXL367
135         select REGMAP_SPI
136         help
137           Say yes here to add support for the Analog Devices ADXL367 triaxial
138           acceleration sensor.
139           To compile this driver as a module, choose M here: the
140           module will be called adxl367_spi.
141
142 config ADXL367_I2C
143         tristate "Analog Devices ADXL367 3-Axis Accelerometer I2C Driver"
144         depends on I2C
145         select ADXL367
146         select REGMAP_I2C
147         help
148           Say yes here to add support for the Analog Devices ADXL367 triaxial
149           acceleration sensor.
150           To compile this driver as a module, choose M here: the
151           module will be called adxl367_i2c.
152
153 config ADXL372
154         tristate
155         select IIO_BUFFER
156         select IIO_TRIGGERED_BUFFER
157
158 config ADXL372_SPI
159         tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
160         depends on SPI
161         select ADXL372
162         select REGMAP_SPI
163         help
164           Say yes here to add support for the Analog Devices ADXL372 triaxial
165           acceleration sensor.
166           To compile this driver as a module, choose M here: the
167           module will be called adxl372_spi.
168
169 config ADXL372_I2C
170         tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
171         depends on I2C
172         select ADXL372
173         select REGMAP_I2C
174         help
175           Say yes here to add support for the Analog Devices ADXL372 triaxial
176           acceleration sensor.
177           To compile this driver as a module, choose M here: the
178           module will be called adxl372_i2c.
179
180 config BMA180
181         tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
182         depends on I2C && INPUT_BMA150=n
183         select IIO_BUFFER
184         select IIO_TRIGGERED_BUFFER
185         help
186           Say Y here if you want to build a driver for the Bosch BMA023, BMA150
187           BMA180, BMA250 or SMB380 triaxial acceleration sensor.
188
189           To compile this driver as a module, choose M here: the
190           module will be called bma180.
191
192 config BMA220
193         tristate "Bosch BMA220 3-Axis Accelerometer Driver"
194         depends on SPI
195         select IIO_BUFFER
196         select IIO_TRIGGERED_BUFFER
197         help
198           Say yes here to add support for the Bosch BMA220 triaxial
199           acceleration sensor.
200
201           To compile this driver as a module, choose M here: the
202           module will be called bma220_spi.
203
204 config BMA400
205         tristate "Bosch BMA400 3-Axis Accelerometer Driver"
206         select REGMAP
207         select IIO_BUFFER
208         select IIO_TRIGGERED_BUFFER
209         select BMA400_I2C if I2C
210         select BMA400_SPI if SPI
211         help
212           Say Y here if you want to build a driver for the Bosch BMA400
213           triaxial acceleration sensor.
214
215           To compile this driver as a module, choose M here: the
216           module will be called bma400_core and you will also get
217           bma400_i2c if I2C is enabled and bma400_spi if SPI is
218           enabled.
219
220 config BMA400_I2C
221         tristate
222         select REGMAP_I2C
223         depends on BMA400
224
225 config BMA400_SPI
226         tristate
227         select REGMAP_SPI
228         depends on BMA400
229
230 config BMC150_ACCEL
231         tristate "Bosch BMC150 Accelerometer Driver"
232         select IIO_BUFFER
233         select IIO_TRIGGERED_BUFFER
234         select REGMAP
235         select BMC150_ACCEL_I2C if I2C
236         select BMC150_ACCEL_SPI if SPI
237         help
238           Say yes here to build support for the following Bosch accelerometers:
239           BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
240           BMI055.
241
242           Note that some of these are combo modules:
243             - BMC150/BMC156: accelerometer and magnetometer
244             - BMI055: accelerometer and gyroscope
245
246           This driver is only implementing accelerometer part, which has
247           its own address and register map.
248
249 config BMC150_ACCEL_I2C
250         tristate
251         select REGMAP_I2C
252
253 config BMC150_ACCEL_SPI
254         tristate
255         select REGMAP_SPI
256
257 config BMI088_ACCEL
258         tristate "Bosch BMI088 Accelerometer Driver"
259         select IIO_BUFFER
260         select IIO_TRIGGERED_BUFFER
261         select REGMAP
262         select BMI088_ACCEL_SPI if SPI
263         select BMI088_ACCEL_I2C if I2C
264         help
265           Say yes here to build support for the following Bosch accelerometers:
266           BMI088, BMI085, BMI090L. Note that all of these are combo module that
267           include both accelerometer and gyroscope.
268
269           This driver only implements the accelerometer part, which has its own
270           address and register map. BMG160 provides the gyroscope driver.
271
272 config BMI088_ACCEL_I2C
273         tristate
274         select REGMAP_I2C
275
276 config BMI088_ACCEL_SPI
277         tristate
278         select REGMAP_SPI
279
280 config DA280
281         tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
282         depends on I2C
283         help
284           Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
285           digital accelerometer.
286
287           To compile this driver as a module, choose M here: the
288           module will be called da280.
289
290 config DA311
291         tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
292         depends on I2C
293         help
294           Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
295           digital accelerometer.
296
297           To compile this driver as a module, choose M here: the
298           module will be called da311.
299
300 config DMARD06
301         tristate "Domintech DMARD06 Digital Accelerometer Driver"
302         depends on I2C
303         help
304           Say yes here to build support for the Domintech low-g tri-axial
305           digital accelerometers: DMARD05, DMARD06, DMARD07.
306
307           To compile this driver as a module, choose M here: the
308           module will be called dmard06.
309
310 config DMARD09
311         tristate "Domintech DMARD09 3-axis Accelerometer Driver"
312         depends on I2C
313         help
314           Say yes here to get support for the Domintech DMARD09 3-axis
315           accelerometer.
316
317           Choosing M will build the driver as a module. If so, the module
318           will be called dmard09.
319
320 config DMARD10
321         tristate "Domintech DMARD10 3-axis Accelerometer Driver"
322         depends on I2C
323         help
324           Say yes here to get support for the Domintech DMARD10 3-axis
325           accelerometer.
326
327           Choosing M will build the driver as a module. If so, the module
328           will be called dmard10.
329
330 config FXLS8962AF
331         tristate
332         depends on I2C || !I2C # cannot be built-in for modular I2C
333
334 config FXLS8962AF_I2C
335         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
336         depends on I2C
337         select FXLS8962AF
338         select REGMAP_I2C
339         help
340           Say yes here to build support for the NXP 3-axis automotive
341           accelerometer FXLS8962AF/FXLS8964AF with I2C support.
342
343           To compile this driver as a module, choose M here: the module
344           will be called fxls8962af_i2c.
345
346 config FXLS8962AF_SPI
347         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
348         depends on SPI
349         depends on I2C || !I2C
350         select FXLS8962AF
351         select REGMAP_SPI
352         help
353           Say yes here to build support for the NXP 3-axis automotive
354           accelerometer FXLS8962AF/FXLS8964AF with SPI support.
355
356           To compile this driver as a module, choose M here: the module
357           will be called fxls8962af_spi.
358
359 config HID_SENSOR_ACCEL_3D
360         depends on HID_SENSOR_HUB
361         select IIO_BUFFER
362         select HID_SENSOR_IIO_COMMON
363         select HID_SENSOR_IIO_TRIGGER
364         tristate "HID Accelerometers 3D"
365         help
366           Say yes here to build support for the HID SENSOR
367           accelerometers 3D.
368
369           To compile this driver as a module, choose M here: the
370           module will be called hid-sensor-accel-3d.
371
372 config IIO_CROS_EC_ACCEL_LEGACY
373         tristate "ChromeOS EC Legacy Accelerometer Sensor"
374         depends on IIO_CROS_EC_SENSORS_CORE
375         help
376           Say yes here to get support for accelerometers on Chromebook using
377           legacy EC firmware.
378           Sensor data is retrieved through IO memory.
379           Newer devices should use IIO_CROS_EC_SENSORS.
380
381 config IIO_ST_ACCEL_3AXIS
382         tristate "STMicroelectronics accelerometers 3-Axis Driver"
383         depends on (I2C || SPI_MASTER) && SYSFS
384         depends on !SENSORS_LIS3_I2C
385         depends on !SENSORS_LIS3_SPI
386         select IIO_ST_SENSORS_CORE
387         select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
388         help
389           Say yes here to build support for STMicroelectronics accelerometers:
390           LSM303C, LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
391           LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
392           LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
393
394           Also need to enable at least one of I2C and SPI interface drivers
395           below.
396
397 config IIO_ST_ACCEL_I2C_3AXIS
398         tristate "STMicroelectronics accelerometers 3-Axis I2C Interface"
399         depends on I2C && IIO_ST_ACCEL_3AXIS
400         default I2C && IIO_ST_ACCEL_3AXIS
401         select IIO_ST_SENSORS_I2C
402         help
403           Build support for STMicroelectronics accelerometers I2C interface.
404
405           To compile this driver as a module, choose M here. The module
406           will be called st_accel_i2c.
407
408 config IIO_ST_ACCEL_SPI_3AXIS
409         tristate "STMicroelectronics accelerometers 3-Axis SPI Interface"
410         depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS
411         default SPI_MASTER && IIO_ST_ACCEL_3AXIS
412         select IIO_ST_SENSORS_SPI
413         help
414           Build support for STMicroelectronics accelerometers SPI interface.
415
416           To compile this driver as a module, choose M here. The module
417           will be called st_accel_spi.
418
419 config IIO_KX022A
420         tristate
421
422 config IIO_KX022A_SPI
423         tristate "Kionix KX022A tri-axis digital accelerometer SPI interface"
424         depends on SPI
425         select IIO_KX022A
426         select REGMAP_SPI
427         help
428           Enable support for the Kionix digital tri-axis accelerometers
429           connected to SPI interface. Supported devices are:
430             KX022A, KX132-1211, KX132ACR-LBZ
431
432 config IIO_KX022A_I2C
433         tristate "Kionix KX022A tri-axis digital accelerometer I2C interface"
434         depends on I2C
435         select IIO_KX022A
436         select REGMAP_I2C
437         help
438           Enable support for the Kionix digital tri-axis accelerometers
439           connected to I2C interface. Supported devices are:
440             KX022A, KX132-1211, KX132ACR-LBZ
441
442 config KXSD9
443         tristate "Kionix KXSD9 Accelerometer Driver"
444         select IIO_BUFFER
445         select IIO_TRIGGERED_BUFFER
446         help
447           Say yes here to build support for the Kionix KXSD9 accelerometer.
448           It can be accessed using an (optional) SPI or I2C interface.
449
450           To compile this driver as a module, choose M here: the module
451           will be called kxsd9.
452
453 config KXSD9_SPI
454         tristate "Kionix KXSD9 SPI transport"
455         depends on KXSD9
456         depends on SPI
457         default KXSD9
458         select REGMAP_SPI
459         help
460           Say yes here to enable the Kionix KXSD9 accelerometer
461           SPI transport channel.
462
463 config KXSD9_I2C
464         tristate "Kionix KXSD9 I2C transport"
465         depends on KXSD9
466         depends on I2C
467         default KXSD9
468         select REGMAP_I2C
469         help
470           Say yes here to enable the Kionix KXSD9 accelerometer
471           I2C transport channel.
472
473 config KXCJK1013
474         tristate "Kionix 3-Axis Accelerometer Driver"
475         depends on I2C
476         select IIO_BUFFER
477         select IIO_TRIGGERED_BUFFER
478         help
479           Say Y here if you want to build a driver for the Kionix KXCJK-1013
480           triaxial acceleration sensor. This driver also supports KXCJ9-1008,
481           KXTJ2-1009 and KXTF9.
482
483           To compile this driver as a module, choose M here: the module will
484           be called kxcjk-1013.
485
486 config MC3230
487         tristate "mCube MC3230 Digital Accelerometer Driver"
488         depends on I2C
489         help
490           Say yes here to build support for the mCube MC3230 low-g tri-axial
491           digital accelerometer.
492
493           To compile this driver as a module, choose M here: the
494           module will be called mc3230.
495
496 config MMA7455
497         tristate
498         select IIO_BUFFER
499         select IIO_TRIGGERED_BUFFER
500
501 config MMA7455_I2C
502         tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
503         depends on I2C
504         select MMA7455
505         select REGMAP_I2C
506         help
507           Say yes here to build support for the Freescale MMA7455L and
508           MMA7456L 3-axis accelerometer.
509
510           To compile this driver as a module, choose M here: the module
511           will be called mma7455_i2c.
512
513 config MMA7455_SPI
514         tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
515         depends on SPI_MASTER
516         select MMA7455
517         select REGMAP_SPI
518         help
519           Say yes here to build support for the Freescale MMA7455L and
520           MMA7456L 3-axis accelerometer.
521
522           To compile this driver as a module, choose M here: the module
523           will be called mma7455_spi.
524
525 config MMA7660
526         tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
527         depends on I2C
528         help
529           Say yes here to get support for the Freescale MMA7660FC 3-Axis
530           accelerometer.
531
532           Choosing M will build the driver as a module. If so, the module
533           will be called mma7660.
534
535 config MMA8452
536         tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
537         depends on I2C
538         select IIO_BUFFER
539         select IIO_TRIGGERED_BUFFER
540         help
541           Say yes here to build support for the following Freescale / NXP 3-axis
542           accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
543           FXLS8471Q.
544
545           To compile this driver as a module, choose M here: the module
546           will be called mma8452.
547
548 config MMA9551_CORE
549         tristate
550
551 config MMA9551
552         tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
553         depends on I2C
554         select MMA9551_CORE
555
556         help
557           Say yes here to build support for the Freescale MMA9551L
558           Intelligent Motion-Sensing Platform Driver.
559
560           To compile this driver as a module, choose M here: the module
561           will be called mma9551.
562
563 config MMA9553
564         tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
565         depends on I2C
566         select MMA9551_CORE
567         help
568           Say yes here to build support for the Freescale MMA9553L
569           Intelligent Pedometer Platform Driver.
570
571           To compile this driver as a module, choose M here: the module
572           will be called mma9553.
573
574 config MSA311
575         tristate "MEMSensing Digital 3-Axis Accelerometer Driver"
576         depends on I2C
577         select IIO_BUFFER
578         select IIO_TRIGGERED_BUFFER
579         select REGMAP_I2C
580         help
581           Say yes here to build support for the MEMSensing MSA311
582           accelerometer driver.
583
584           To compile this driver as a module, choose M here: the module will be
585           called msa311.
586
587 config MXC4005
588         tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
589         depends on I2C
590         select IIO_BUFFER
591         select IIO_TRIGGERED_BUFFER
592         select REGMAP_I2C
593         help
594           Say yes here to build support for the Memsic MXC4005XC 3-axis
595           accelerometer.
596
597           To compile this driver as a module, choose M. The module will be
598           called mxc4005.
599
600 config MXC6255
601         tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
602         depends on I2C
603         select REGMAP_I2C
604         help
605           Say yes here to build support for the Memsic MXC6255 Orientation
606           Sensing Accelerometer Driver.
607
608           To compile this driver as a module, choose M here: the module will be
609           called mxc6255.
610
611 config SCA3000
612         select IIO_BUFFER
613         select IIO_KFIFO_BUF
614         depends on SPI
615         tristate "VTI SCA3000 series accelerometers"
616         help
617           Say Y here to build support for the VTI SCA3000 series of SPI
618           accelerometers. These devices use a hardware ring buffer.
619
620           To compile this driver as a module, say M here: the module will be
621           called sca3000.
622
623 config SCA3300
624         tristate "Murata SCA3300 3-Axis Accelerometer Driver"
625         depends on SPI
626         select CRC8
627         select IIO_BUFFER
628         select IIO_TRIGGERED_BUFFER
629         help
630           Say yes here to build support for Murata SCA3300 3-Axis
631           accelerometer.
632
633           To compile this driver as a module, choose M here: the module will be
634           called sca3300.
635
636 config STK8312
637         tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
638         depends on I2C
639         select IIO_BUFFER
640         select IIO_TRIGGERED_BUFFER
641         help
642           Say yes here to get support for the Sensortek STK8312 3-axis
643           accelerometer.
644
645           Choosing M will build the driver as a module. If so, the module
646           will be called stk8312.
647
648 config STK8BA50
649         tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
650         depends on I2C
651         select IIO_BUFFER
652         select IIO_TRIGGERED_BUFFER
653         help
654           Say yes here to get support for the Sensortek STK8BA50 3-axis
655           accelerometer.
656
657           Choosing M will build the driver as a module. If so, the module
658           will be called stk8ba50.
659
660 endmenu