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