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