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