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