xref: /linux/drivers/iio/accel/Kconfig (revision fc5ced75d6dffc9e2a441520b7dc587b95281f86)
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
692