GNU Linux-libre 5.16.19-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 ADXL372
127         tristate
128         select IIO_BUFFER
129         select IIO_TRIGGERED_BUFFER
130
131 config ADXL372_SPI
132         tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
133         depends on SPI
134         select ADXL372
135         select REGMAP_SPI
136         help
137           Say yes here to add support for the Analog Devices ADXL372 triaxial
138           acceleration sensor.
139           To compile this driver as a module, choose M here: the
140           module will be called adxl372_spi.
141
142 config ADXL372_I2C
143         tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
144         depends on I2C
145         select ADXL372
146         select REGMAP_I2C
147         help
148           Say yes here to add support for the Analog Devices ADXL372 triaxial
149           acceleration sensor.
150           To compile this driver as a module, choose M here: the
151           module will be called adxl372_i2c.
152
153 config BMA180
154         tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
155         depends on I2C && INPUT_BMA150=n
156         select IIO_BUFFER
157         select IIO_TRIGGERED_BUFFER
158         help
159           Say Y here if you want to build a driver for the Bosch BMA023, BMA150
160           BMA180, BMA250 or SMB380 triaxial acceleration sensor.
161
162           To compile this driver as a module, choose M here: the
163           module will be called bma180.
164
165 config BMA220
166         tristate "Bosch BMA220 3-Axis Accelerometer Driver"
167         depends on SPI
168         select IIO_BUFFER
169         select IIO_TRIGGERED_BUFFER
170         help
171           Say yes here to add support for the Bosch BMA220 triaxial
172           acceleration sensor.
173
174           To compile this driver as a module, choose M here: the
175           module will be called bma220_spi.
176
177 config BMA400
178         tristate "Bosch BMA400 3-Axis Accelerometer Driver"
179         select REGMAP
180         select BMA400_I2C if I2C
181         select BMA400_SPI if SPI
182         help
183           Say Y here if you want to build a driver for the Bosch BMA400
184           triaxial acceleration sensor.
185
186           To compile this driver as a module, choose M here: the
187           module will be called bma400_core and you will also get
188           bma400_i2c if I2C is enabled and bma400_spi if SPI is
189           enabled.
190
191 config BMA400_I2C
192         tristate
193         depends on BMA400
194
195 config BMA400_SPI
196         tristate
197         depends on BMA400
198
199 config BMC150_ACCEL
200         tristate "Bosch BMC150 Accelerometer Driver"
201         select IIO_BUFFER
202         select IIO_TRIGGERED_BUFFER
203         select REGMAP
204         select BMC150_ACCEL_I2C if I2C
205         select BMC150_ACCEL_SPI if SPI
206         help
207           Say yes here to build support for the following Bosch accelerometers:
208           BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
209           BMI055.
210
211           Note that some of these are combo modules:
212             - BMC150/BMC156: accelerometer and magnetometer
213             - BMI055: accelerometer and gyroscope
214
215           This driver is only implementing accelerometer part, which has
216           its own address and register map.
217
218 config BMC150_ACCEL_I2C
219         tristate
220         select REGMAP_I2C
221
222 config BMC150_ACCEL_SPI
223         tristate
224         select REGMAP_SPI
225
226 config BMI088_ACCEL
227         tristate "Bosch BMI088 Accelerometer Driver"
228         depends on SPI
229         select IIO_BUFFER
230         select IIO_TRIGGERED_BUFFER
231         select REGMAP
232         select BMI088_ACCEL_SPI
233         help
234           Say yes here to build support for the Bosch BMI088 accelerometer.
235
236           This is a combo module with both accelerometer and gyroscope. This
237           driver only implements the accelerometer part, which has its own
238           address and register map. BMG160 provides the gyroscope driver.
239
240 config BMI088_ACCEL_SPI
241         tristate
242         select REGMAP_SPI
243
244 config DA280
245         tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
246         depends on I2C
247         help
248           Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
249           digital accelerometer.
250
251           To compile this driver as a module, choose M here: the
252           module will be called da280.
253
254 config DA311
255         tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
256         depends on I2C
257         help
258           Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
259           digital accelerometer.
260
261           To compile this driver as a module, choose M here: the
262           module will be called da311.
263
264 config DMARD06
265         tristate "Domintech DMARD06 Digital Accelerometer Driver"
266         depends on OF || COMPILE_TEST
267         depends on I2C
268         help
269           Say yes here to build support for the Domintech low-g tri-axial
270           digital accelerometers: DMARD05, DMARD06, DMARD07.
271
272           To compile this driver as a module, choose M here: the
273           module will be called dmard06.
274
275 config DMARD09
276         tristate "Domintech DMARD09 3-axis Accelerometer Driver"
277         depends on I2C
278         help
279           Say yes here to get support for the Domintech DMARD09 3-axis
280           accelerometer.
281
282           Choosing M will build the driver as a module. If so, the module
283           will be called dmard09.
284
285 config DMARD10
286         tristate "Domintech DMARD10 3-axis Accelerometer Driver"
287         depends on I2C
288         help
289           Say yes here to get support for the Domintech DMARD10 3-axis
290           accelerometer.
291
292           Choosing M will build the driver as a module. If so, the module
293           will be called dmard10.
294
295 config FXLS8962AF
296         tristate
297         depends on I2C || !I2C # cannot be built-in for modular I2C
298
299 config FXLS8962AF_I2C
300         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
301         depends on I2C
302         select FXLS8962AF
303         select REGMAP_I2C
304         help
305           Say yes here to build support for the NXP 3-axis automotive
306           accelerometer FXLS8962AF/FXLS8964AF with I2C support.
307
308           To compile this driver as a module, choose M here: the module
309           will be called fxls8962af_i2c.
310
311 config FXLS8962AF_SPI
312         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
313         depends on SPI
314         depends on I2C || !I2C
315         select FXLS8962AF
316         select REGMAP_SPI
317         help
318           Say yes here to build support for the NXP 3-axis automotive
319           accelerometer FXLS8962AF/FXLS8964AF with SPI support.
320
321           To compile this driver as a module, choose M here: the module
322           will be called fxls8962af_spi.
323
324 config HID_SENSOR_ACCEL_3D
325         depends on HID_SENSOR_HUB
326         select IIO_BUFFER
327         select HID_SENSOR_IIO_COMMON
328         select HID_SENSOR_IIO_TRIGGER
329         tristate "HID Accelerometers 3D"
330         help
331           Say yes here to build support for the HID SENSOR
332           accelerometers 3D.
333
334           To compile this driver as a module, choose M here: the
335           module will be called hid-sensor-accel-3d.
336
337 config IIO_CROS_EC_ACCEL_LEGACY
338         tristate "ChromeOS EC Legacy Accelerometer Sensor"
339         depends on IIO_CROS_EC_SENSORS_CORE
340         help
341           Say yes here to get support for accelerometers on Chromebook using
342           legacy EC firmware.
343           Sensor data is retrieved through IO memory.
344           Newer devices should use IIO_CROS_EC_SENSORS.
345
346 config IIO_ST_ACCEL_3AXIS
347         tristate "STMicroelectronics accelerometers 3-Axis Driver"
348         depends on (I2C || SPI_MASTER) && SYSFS
349         depends on !SENSORS_LIS3_I2C
350         depends on !SENSORS_LIS3_SPI
351         select IIO_ST_SENSORS_CORE
352         select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
353         select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
354         select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
355         help
356           Say yes here to build support for STMicroelectronics accelerometers:
357           LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
358           LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
359           LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
360
361           This driver can also be built as a module. If so, these modules
362           will be created:
363           - st_accel (core functions for the driver [it is mandatory]);
364           - st_accel_i2c (necessary for the I2C devices [optional*]);
365           - st_accel_spi (necessary for the SPI devices [optional*]);
366
367           (*) one of these is necessary to do something.
368
369 config IIO_ST_ACCEL_I2C_3AXIS
370         tristate
371         depends on IIO_ST_ACCEL_3AXIS
372         depends on IIO_ST_SENSORS_I2C
373
374 config IIO_ST_ACCEL_SPI_3AXIS
375         tristate
376         depends on IIO_ST_ACCEL_3AXIS
377         depends on IIO_ST_SENSORS_SPI
378
379 config KXSD9
380         tristate "Kionix KXSD9 Accelerometer Driver"
381         select IIO_BUFFER
382         select IIO_TRIGGERED_BUFFER
383         help
384           Say yes here to build support for the Kionix KXSD9 accelerometer.
385           It can be accessed using an (optional) SPI or I2C interface.
386
387           To compile this driver as a module, choose M here: the module
388           will be called kxsd9.
389
390 config KXSD9_SPI
391         tristate "Kionix KXSD9 SPI transport"
392         depends on KXSD9
393         depends on SPI
394         default KXSD9
395         select REGMAP_SPI
396         help
397           Say yes here to enable the Kionix KXSD9 accelerometer
398           SPI transport channel.
399
400 config KXSD9_I2C
401         tristate "Kionix KXSD9 I2C transport"
402         depends on KXSD9
403         depends on I2C
404         default KXSD9
405         select REGMAP_I2C
406         help
407           Say yes here to enable the Kionix KXSD9 accelerometer
408           I2C transport channel.
409
410 config KXCJK1013
411         tristate "Kionix 3-Axis Accelerometer Driver"
412         depends on I2C
413         select IIO_BUFFER
414         select IIO_TRIGGERED_BUFFER
415         help
416           Say Y here if you want to build a driver for the Kionix KXCJK-1013
417           triaxial acceleration sensor. This driver also supports KXCJ9-1008,
418           KXTJ2-1009 and KXTF9.
419
420           To compile this driver as a module, choose M here: the module will
421           be called kxcjk-1013.
422
423 config MC3230
424         tristate "mCube MC3230 Digital Accelerometer Driver"
425         depends on I2C
426         help
427           Say yes here to build support for the mCube MC3230 low-g tri-axial
428           digital accelerometer.
429
430           To compile this driver as a module, choose M here: the
431           module will be called mc3230.
432
433 config MMA7455
434         tristate
435         select IIO_BUFFER
436         select IIO_TRIGGERED_BUFFER
437
438 config MMA7455_I2C
439         tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
440         depends on I2C
441         select MMA7455
442         select REGMAP_I2C
443         help
444           Say yes here to build support for the Freescale MMA7455L and
445           MMA7456L 3-axis accelerometer.
446
447           To compile this driver as a module, choose M here: the module
448           will be called mma7455_i2c.
449
450 config MMA7455_SPI
451         tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
452         depends on SPI_MASTER
453         select MMA7455
454         select REGMAP_SPI
455         help
456           Say yes here to build support for the Freescale MMA7455L and
457           MMA7456L 3-axis accelerometer.
458
459           To compile this driver as a module, choose M here: the module
460           will be called mma7455_spi.
461
462 config MMA7660
463         tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
464         depends on I2C
465         help
466           Say yes here to get support for the Freescale MMA7660FC 3-Axis
467           accelerometer.
468
469           Choosing M will build the driver as a module. If so, the module
470           will be called mma7660.
471
472 config MMA8452
473         tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
474         depends on I2C
475         select IIO_BUFFER
476         select IIO_TRIGGERED_BUFFER
477         help
478           Say yes here to build support for the following Freescale / NXP 3-axis
479           accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
480           FXLS8471Q.
481
482           To compile this driver as a module, choose M here: the module
483           will be called mma8452.
484
485 config MMA9551_CORE
486         tristate
487
488 config MMA9551
489         tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
490         depends on I2C
491         select MMA9551_CORE
492
493         help
494           Say yes here to build support for the Freescale MMA9551L
495           Intelligent Motion-Sensing Platform Driver.
496
497           To compile this driver as a module, choose M here: the module
498           will be called mma9551.
499
500 config MMA9553
501         tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
502         depends on I2C
503         select MMA9551_CORE
504         help
505           Say yes here to build support for the Freescale MMA9553L
506           Intelligent Pedometer Platform Driver.
507
508           To compile this driver as a module, choose M here: the module
509           will be called mma9553.
510
511 config MXC4005
512         tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
513         depends on I2C
514         select IIO_BUFFER
515         select IIO_TRIGGERED_BUFFER
516         select REGMAP_I2C
517         help
518           Say yes here to build support for the Memsic MXC4005XC 3-axis
519           accelerometer.
520
521           To compile this driver as a module, choose M. The module will be
522           called mxc4005.
523
524 config MXC6255
525         tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
526         depends on I2C
527         select REGMAP_I2C
528         help
529           Say yes here to build support for the Memsic MXC6255 Orientation
530           Sensing Accelerometer Driver.
531
532           To compile this driver as a module, choose M here: the module will be
533           called mxc6255.
534
535 config SCA3000
536         select IIO_BUFFER
537         select IIO_KFIFO_BUF
538         depends on SPI
539         tristate "VTI SCA3000 series accelerometers"
540         help
541           Say Y here to build support for the VTI SCA3000 series of SPI
542           accelerometers. These devices use a hardware ring buffer.
543
544           To compile this driver as a module, say M here: the module will be
545           called sca3000.
546
547 config SCA3300
548         tristate "Murata SCA3300 3-Axis Accelerometer Driver"
549         depends on SPI
550         select CRC8
551         select IIO_BUFFER
552         select IIO_TRIGGERED_BUFFER
553         help
554           Say yes here to build support for Murata SCA3300 3-Axis
555           accelerometer.
556
557           To compile this driver as a module, choose M here: the module will be
558           called sca3300.
559
560 config STK8312
561         tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
562         depends on I2C
563         select IIO_BUFFER
564         select IIO_TRIGGERED_BUFFER
565         help
566           Say yes here to get support for the Sensortek STK8312 3-axis
567           accelerometer.
568
569           Choosing M will build the driver as a module. If so, the module
570           will be called stk8312.
571
572 config STK8BA50
573         tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
574         depends on I2C
575         select IIO_BUFFER
576         select IIO_TRIGGERED_BUFFER
577         help
578           Say yes here to get support for the Sensortek STK8BA50 3-axis
579           accelerometer.
580
581           Choosing M will build the driver as a module. If so, the module
582           will be called stk8ba50.
583
584 endmenu