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