GNU Linux-libre 6.7.9-gnu
[releases.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         depends on SPI
260         select IIO_BUFFER
261         select IIO_TRIGGERED_BUFFER
262         select REGMAP
263         select BMI088_ACCEL_SPI
264         help
265           Say yes here to build support for the Bosch BMI088 accelerometer.
266
267           This is a combo module with both accelerometer and gyroscope. This
268           driver only implements the accelerometer part, which has its own
269           address and register map. BMG160 provides the gyroscope driver.
270
271 config BMI088_ACCEL_SPI
272         tristate
273         select REGMAP_SPI
274
275 config DA280
276         tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
277         depends on I2C
278         help
279           Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
280           digital accelerometer.
281
282           To compile this driver as a module, choose M here: the
283           module will be called da280.
284
285 config DA311
286         tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
287         depends on I2C
288         help
289           Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
290           digital accelerometer.
291
292           To compile this driver as a module, choose M here: the
293           module will be called da311.
294
295 config DMARD06
296         tristate "Domintech DMARD06 Digital Accelerometer Driver"
297         depends on I2C
298         help
299           Say yes here to build support for the Domintech low-g tri-axial
300           digital accelerometers: DMARD05, DMARD06, DMARD07.
301
302           To compile this driver as a module, choose M here: the
303           module will be called dmard06.
304
305 config DMARD09
306         tristate "Domintech DMARD09 3-axis Accelerometer Driver"
307         depends on I2C
308         help
309           Say yes here to get support for the Domintech DMARD09 3-axis
310           accelerometer.
311
312           Choosing M will build the driver as a module. If so, the module
313           will be called dmard09.
314
315 config DMARD10
316         tristate "Domintech DMARD10 3-axis Accelerometer Driver"
317         depends on I2C
318         help
319           Say yes here to get support for the Domintech DMARD10 3-axis
320           accelerometer.
321
322           Choosing M will build the driver as a module. If so, the module
323           will be called dmard10.
324
325 config FXLS8962AF
326         tristate
327         depends on I2C || !I2C # cannot be built-in for modular I2C
328
329 config FXLS8962AF_I2C
330         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
331         depends on I2C
332         select FXLS8962AF
333         select REGMAP_I2C
334         help
335           Say yes here to build support for the NXP 3-axis automotive
336           accelerometer FXLS8962AF/FXLS8964AF with I2C support.
337
338           To compile this driver as a module, choose M here: the module
339           will be called fxls8962af_i2c.
340
341 config FXLS8962AF_SPI
342         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
343         depends on SPI
344         depends on I2C || !I2C
345         select FXLS8962AF
346         select REGMAP_SPI
347         help
348           Say yes here to build support for the NXP 3-axis automotive
349           accelerometer FXLS8962AF/FXLS8964AF with SPI support.
350
351           To compile this driver as a module, choose M here: the module
352           will be called fxls8962af_spi.
353
354 config HID_SENSOR_ACCEL_3D
355         depends on HID_SENSOR_HUB
356         select IIO_BUFFER
357         select HID_SENSOR_IIO_COMMON
358         select HID_SENSOR_IIO_TRIGGER
359         tristate "HID Accelerometers 3D"
360         help
361           Say yes here to build support for the HID SENSOR
362           accelerometers 3D.
363
364           To compile this driver as a module, choose M here: the
365           module will be called hid-sensor-accel-3d.
366
367 config IIO_CROS_EC_ACCEL_LEGACY
368         tristate "ChromeOS EC Legacy Accelerometer Sensor"
369         depends on IIO_CROS_EC_SENSORS_CORE
370         help
371           Say yes here to get support for accelerometers on Chromebook using
372           legacy EC firmware.
373           Sensor data is retrieved through IO memory.
374           Newer devices should use IIO_CROS_EC_SENSORS.
375
376 config IIO_ST_ACCEL_3AXIS
377         tristate "STMicroelectronics accelerometers 3-Axis Driver"
378         depends on (I2C || SPI_MASTER) && SYSFS
379         depends on !SENSORS_LIS3_I2C
380         depends on !SENSORS_LIS3_SPI
381         select IIO_ST_SENSORS_CORE
382         select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
383         help
384           Say yes here to build support for STMicroelectronics accelerometers:
385           LSM303C, LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
386           LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
387           LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
388
389           Also need to enable at least one of I2C and SPI interface drivers
390           below.
391
392 config IIO_ST_ACCEL_I2C_3AXIS
393         tristate "STMicroelectronics accelerometers 3-Axis I2C Interface"
394         depends on I2C && IIO_ST_ACCEL_3AXIS
395         default I2C && IIO_ST_ACCEL_3AXIS
396         select IIO_ST_SENSORS_I2C
397         help
398           Build support for STMicroelectronics accelerometers I2C interface.
399
400           To compile this driver as a module, choose M here. The module
401           will be called st_accel_i2c.
402
403 config IIO_ST_ACCEL_SPI_3AXIS
404         tristate "STMicroelectronics accelerometers 3-Axis SPI Interface"
405         depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS
406         default SPI_MASTER && IIO_ST_ACCEL_3AXIS
407         select IIO_ST_SENSORS_SPI
408         help
409           Build support for STMicroelectronics accelerometers SPI interface.
410
411           To compile this driver as a module, choose M here. The module
412           will be called st_accel_spi.
413
414 config IIO_KX022A
415         tristate
416
417 config IIO_KX022A_SPI
418         tristate "Kionix KX022A tri-axis digital accelerometer SPI interface"
419         depends on SPI
420         select IIO_KX022A
421         select REGMAP_SPI
422         help
423           Enable support for the Kionix digital tri-axis accelerometers
424           connected to SPI interface. Supported devices are:
425             KX022A, KX132-1211, KX132ACR-LBZ
426
427 config IIO_KX022A_I2C
428         tristate "Kionix KX022A tri-axis digital accelerometer I2C interface"
429         depends on I2C
430         select IIO_KX022A
431         select REGMAP_I2C
432         help
433           Enable support for the Kionix digital tri-axis accelerometers
434           connected to I2C interface. Supported devices are:
435             KX022A, KX132-1211, KX132ACR-LBZ
436
437 config KXSD9
438         tristate "Kionix KXSD9 Accelerometer Driver"
439         select IIO_BUFFER
440         select IIO_TRIGGERED_BUFFER
441         help
442           Say yes here to build support for the Kionix KXSD9 accelerometer.
443           It can be accessed using an (optional) SPI or I2C interface.
444
445           To compile this driver as a module, choose M here: the module
446           will be called kxsd9.
447
448 config KXSD9_SPI
449         tristate "Kionix KXSD9 SPI transport"
450         depends on KXSD9
451         depends on SPI
452         default KXSD9
453         select REGMAP_SPI
454         help
455           Say yes here to enable the Kionix KXSD9 accelerometer
456           SPI transport channel.
457
458 config KXSD9_I2C
459         tristate "Kionix KXSD9 I2C transport"
460         depends on KXSD9
461         depends on I2C
462         default KXSD9
463         select REGMAP_I2C
464         help
465           Say yes here to enable the Kionix KXSD9 accelerometer
466           I2C transport channel.
467
468 config KXCJK1013
469         tristate "Kionix 3-Axis Accelerometer Driver"
470         depends on I2C
471         select IIO_BUFFER
472         select IIO_TRIGGERED_BUFFER
473         help
474           Say Y here if you want to build a driver for the Kionix KXCJK-1013
475           triaxial acceleration sensor. This driver also supports KXCJ9-1008,
476           KXTJ2-1009 and KXTF9.
477
478           To compile this driver as a module, choose M here: the module will
479           be called kxcjk-1013.
480
481 config MC3230
482         tristate "mCube MC3230 Digital Accelerometer Driver"
483         depends on I2C
484         help
485           Say yes here to build support for the mCube MC3230 low-g tri-axial
486           digital accelerometer.
487
488           To compile this driver as a module, choose M here: the
489           module will be called mc3230.
490
491 config MMA7455
492         tristate
493         select IIO_BUFFER
494         select IIO_TRIGGERED_BUFFER
495
496 config MMA7455_I2C
497         tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
498         depends on I2C
499         select MMA7455
500         select REGMAP_I2C
501         help
502           Say yes here to build support for the Freescale MMA7455L and
503           MMA7456L 3-axis accelerometer.
504
505           To compile this driver as a module, choose M here: the module
506           will be called mma7455_i2c.
507
508 config MMA7455_SPI
509         tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
510         depends on SPI_MASTER
511         select MMA7455
512         select REGMAP_SPI
513         help
514           Say yes here to build support for the Freescale MMA7455L and
515           MMA7456L 3-axis accelerometer.
516
517           To compile this driver as a module, choose M here: the module
518           will be called mma7455_spi.
519
520 config MMA7660
521         tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
522         depends on I2C
523         help
524           Say yes here to get support for the Freescale MMA7660FC 3-Axis
525           accelerometer.
526
527           Choosing M will build the driver as a module. If so, the module
528           will be called mma7660.
529
530 config MMA8452
531         tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
532         depends on I2C
533         select IIO_BUFFER
534         select IIO_TRIGGERED_BUFFER
535         help
536           Say yes here to build support for the following Freescale / NXP 3-axis
537           accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
538           FXLS8471Q.
539
540           To compile this driver as a module, choose M here: the module
541           will be called mma8452.
542
543 config MMA9551_CORE
544         tristate
545
546 config MMA9551
547         tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
548         depends on I2C
549         select MMA9551_CORE
550
551         help
552           Say yes here to build support for the Freescale MMA9551L
553           Intelligent Motion-Sensing Platform Driver.
554
555           To compile this driver as a module, choose M here: the module
556           will be called mma9551.
557
558 config MMA9553
559         tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
560         depends on I2C
561         select MMA9551_CORE
562         help
563           Say yes here to build support for the Freescale MMA9553L
564           Intelligent Pedometer Platform Driver.
565
566           To compile this driver as a module, choose M here: the module
567           will be called mma9553.
568
569 config MSA311
570         tristate "MEMSensing Digital 3-Axis Accelerometer Driver"
571         depends on I2C
572         select IIO_BUFFER
573         select IIO_TRIGGERED_BUFFER
574         select REGMAP_I2C
575         help
576           Say yes here to build support for the MEMSensing MSA311
577           accelerometer driver.
578
579           To compile this driver as a module, choose M here: the module will be
580           called msa311.
581
582 config MXC4005
583         tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
584         depends on I2C
585         select IIO_BUFFER
586         select IIO_TRIGGERED_BUFFER
587         select REGMAP_I2C
588         help
589           Say yes here to build support for the Memsic MXC4005XC 3-axis
590           accelerometer.
591
592           To compile this driver as a module, choose M. The module will be
593           called mxc4005.
594
595 config MXC6255
596         tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
597         depends on I2C
598         select REGMAP_I2C
599         help
600           Say yes here to build support for the Memsic MXC6255 Orientation
601           Sensing Accelerometer Driver.
602
603           To compile this driver as a module, choose M here: the module will be
604           called mxc6255.
605
606 config SCA3000
607         select IIO_BUFFER
608         select IIO_KFIFO_BUF
609         depends on SPI
610         tristate "VTI SCA3000 series accelerometers"
611         help
612           Say Y here to build support for the VTI SCA3000 series of SPI
613           accelerometers. These devices use a hardware ring buffer.
614
615           To compile this driver as a module, say M here: the module will be
616           called sca3000.
617
618 config SCA3300
619         tristate "Murata SCA3300 3-Axis Accelerometer Driver"
620         depends on SPI
621         select CRC8
622         select IIO_BUFFER
623         select IIO_TRIGGERED_BUFFER
624         help
625           Say yes here to build support for Murata SCA3300 3-Axis
626           accelerometer.
627
628           To compile this driver as a module, choose M here: the module will be
629           called sca3300.
630
631 config STK8312
632         tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
633         depends on I2C
634         select IIO_BUFFER
635         select IIO_TRIGGERED_BUFFER
636         help
637           Say yes here to get support for the Sensortek STK8312 3-axis
638           accelerometer.
639
640           Choosing M will build the driver as a module. If so, the module
641           will be called stk8312.
642
643 config STK8BA50
644         tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
645         depends on I2C
646         select IIO_BUFFER
647         select IIO_TRIGGERED_BUFFER
648         help
649           Say yes here to get support for the Sensortek STK8BA50 3-axis
650           accelerometer.
651
652           Choosing M will build the driver as a module. If so, the module
653           will be called stk8ba50.
654
655 endmenu