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