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