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