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