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