xref: /linux/drivers/iio/accel/Kconfig (revision 636d44633039348c955947cee561f372846b478b)
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	help
102	  Say Y here if you want to build i2c support for the Analog Devices
103	  ADXL355 3-axis digital accelerometer.
104
105	  To compile this driver as a module, choose M here: the module
106	  will be called adxl355_i2c and you will also get adxl355_core
107	  for the core module.
108
109config ADXL355_SPI
110	tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer SPI Driver"
111	depends on SPI
112	select ADXL355
113	select REGMAP_SPI
114	help
115	  Say Y here if you want to build spi support for the Analog Devices
116	  ADXL355 3-axis digital accelerometer.
117
118	  To compile this driver as a module, choose M here: the module
119	  will be called adxl355_spi and you will also get adxl355_core
120	  for the core module.
121
122config ADXL372
123	tristate
124	select IIO_BUFFER
125	select IIO_TRIGGERED_BUFFER
126
127config ADXL372_SPI
128	tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
129	depends on SPI
130	select ADXL372
131	select REGMAP_SPI
132	help
133	  Say yes here to add support for the Analog Devices ADXL372 triaxial
134	  acceleration sensor.
135	  To compile this driver as a module, choose M here: the
136	  module will be called adxl372_spi.
137
138config ADXL372_I2C
139	tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
140	depends on I2C
141	select ADXL372
142	select REGMAP_I2C
143	help
144	  Say yes here to add support for the Analog Devices ADXL372 triaxial
145	  acceleration sensor.
146	  To compile this driver as a module, choose M here: the
147	  module will be called adxl372_i2c.
148
149config BMA180
150	tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
151	depends on I2C && INPUT_BMA150=n
152	select IIO_BUFFER
153	select IIO_TRIGGERED_BUFFER
154	help
155	  Say Y here if you want to build a driver for the Bosch BMA023, BMA150
156	  BMA180, BMA250 or SMB380 triaxial acceleration sensor.
157
158	  To compile this driver as a module, choose M here: the
159	  module will be called bma180.
160
161config BMA220
162	tristate "Bosch BMA220 3-Axis Accelerometer Driver"
163	depends on SPI
164	select IIO_BUFFER
165	select IIO_TRIGGERED_BUFFER
166	help
167	  Say yes here to add support for the Bosch BMA220 triaxial
168	  acceleration sensor.
169
170	  To compile this driver as a module, choose M here: the
171	  module will be called bma220_spi.
172
173config BMA400
174	tristate "Bosch BMA400 3-Axis Accelerometer Driver"
175	select REGMAP
176	select BMA400_I2C if I2C
177	select BMA400_SPI if SPI
178	help
179	  Say Y here if you want to build a driver for the Bosch BMA400
180	  triaxial acceleration sensor.
181
182	  To compile this driver as a module, choose M here: the
183	  module will be called bma400_core and you will also get
184	  bma400_i2c if I2C is enabled and bma400_spi if SPI is
185	  enabled.
186
187config BMA400_I2C
188	tristate
189	depends on BMA400
190
191config BMA400_SPI
192	tristate
193	depends on BMA400
194
195config BMC150_ACCEL
196	tristate "Bosch BMC150 Accelerometer Driver"
197	select IIO_BUFFER
198	select IIO_TRIGGERED_BUFFER
199	select REGMAP
200	select BMC150_ACCEL_I2C if I2C
201	select BMC150_ACCEL_SPI if SPI
202	help
203	  Say yes here to build support for the following Bosch accelerometers:
204	  BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
205	  BMI055.
206
207	  Note that some of these are combo modules:
208	    - BMC150/BMC156: accelerometer and magnetometer
209	    - BMI055: accelerometer and gyroscope
210
211	  This driver is only implementing accelerometer part, which has
212	  its own address and register map.
213
214config BMC150_ACCEL_I2C
215	tristate
216	select REGMAP_I2C
217
218config BMC150_ACCEL_SPI
219	tristate
220	select REGMAP_SPI
221
222config BMI088_ACCEL
223	tristate "Bosch BMI088 Accelerometer Driver"
224	depends on SPI
225	select IIO_BUFFER
226	select IIO_TRIGGERED_BUFFER
227	select REGMAP
228	select BMI088_ACCEL_SPI
229	help
230	  Say yes here to build support for the Bosch BMI088 accelerometer.
231
232	  This is a combo module with both accelerometer and gyroscope. This
233	  driver only implements the accelerometer part, which has its own
234	  address and register map. BMG160 provides the gyroscope driver.
235
236config BMI088_ACCEL_SPI
237	tristate
238	select REGMAP_SPI
239
240config DA280
241	tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
242	depends on I2C
243	help
244	  Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
245	  digital accelerometer.
246
247	  To compile this driver as a module, choose M here: the
248	  module will be called da280.
249
250config DA311
251	tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
252	depends on I2C
253	help
254	  Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
255	  digital accelerometer.
256
257	  To compile this driver as a module, choose M here: the
258	  module will be called da311.
259
260config DMARD06
261	tristate "Domintech DMARD06 Digital Accelerometer Driver"
262	depends on OF || COMPILE_TEST
263	depends on I2C
264	help
265	  Say yes here to build support for the Domintech low-g tri-axial
266	  digital accelerometers: DMARD05, DMARD06, DMARD07.
267
268	  To compile this driver as a module, choose M here: the
269	  module will be called dmard06.
270
271config DMARD09
272	tristate "Domintech DMARD09 3-axis Accelerometer Driver"
273	depends on I2C
274	help
275	  Say yes here to get support for the Domintech DMARD09 3-axis
276	  accelerometer.
277
278	  Choosing M will build the driver as a module. If so, the module
279	  will be called dmard09.
280
281config DMARD10
282	tristate "Domintech DMARD10 3-axis Accelerometer Driver"
283	depends on I2C
284	help
285	  Say yes here to get support for the Domintech DMARD10 3-axis
286	  accelerometer.
287
288	  Choosing M will build the driver as a module. If so, the module
289	  will be called dmard10.
290
291config FXLS8962AF
292	tristate
293	depends on I2C || !I2C # cannot be built-in for modular I2C
294
295config FXLS8962AF_I2C
296	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
297	depends on I2C
298	select FXLS8962AF
299	select REGMAP_I2C
300	help
301	  Say yes here to build support for the NXP 3-axis automotive
302	  accelerometer FXLS8962AF/FXLS8964AF with I2C support.
303
304	  To compile this driver as a module, choose M here: the module
305	  will be called fxls8962af_i2c.
306
307config FXLS8962AF_SPI
308	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
309	depends on SPI
310	depends on I2C || !I2C
311	select FXLS8962AF
312	select REGMAP_SPI
313	help
314	  Say yes here to build support for the NXP 3-axis automotive
315	  accelerometer FXLS8962AF/FXLS8964AF with SPI support.
316
317	  To compile this driver as a module, choose M here: the module
318	  will be called fxls8962af_spi.
319
320config HID_SENSOR_ACCEL_3D
321	depends on HID_SENSOR_HUB
322	select IIO_BUFFER
323	select HID_SENSOR_IIO_COMMON
324	select HID_SENSOR_IIO_TRIGGER
325	tristate "HID Accelerometers 3D"
326	help
327	  Say yes here to build support for the HID SENSOR
328	  accelerometers 3D.
329
330	  To compile this driver as a module, choose M here: the
331	  module will be called hid-sensor-accel-3d.
332
333config IIO_CROS_EC_ACCEL_LEGACY
334	tristate "ChromeOS EC Legacy Accelerometer Sensor"
335	depends on IIO_CROS_EC_SENSORS_CORE
336	help
337	  Say yes here to get support for accelerometers on Chromebook using
338	  legacy EC firmware.
339	  Sensor data is retrieved through IO memory.
340	  Newer devices should use IIO_CROS_EC_SENSORS.
341
342config IIO_ST_ACCEL_3AXIS
343	tristate "STMicroelectronics accelerometers 3-Axis Driver"
344	depends on (I2C || SPI_MASTER) && SYSFS
345	depends on !SENSORS_LIS3_I2C
346	depends on !SENSORS_LIS3_SPI
347	select IIO_ST_SENSORS_CORE
348	select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
349	select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
350	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
351	help
352	  Say yes here to build support for STMicroelectronics accelerometers:
353	  LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
354	  LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
355	  LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
356
357	  This driver can also be built as a module. If so, these modules
358	  will be created:
359	  - st_accel (core functions for the driver [it is mandatory]);
360	  - st_accel_i2c (necessary for the I2C devices [optional*]);
361	  - st_accel_spi (necessary for the SPI devices [optional*]);
362
363	  (*) one of these is necessary to do something.
364
365config IIO_ST_ACCEL_I2C_3AXIS
366	tristate
367	depends on IIO_ST_ACCEL_3AXIS
368	depends on IIO_ST_SENSORS_I2C
369
370config IIO_ST_ACCEL_SPI_3AXIS
371	tristate
372	depends on IIO_ST_ACCEL_3AXIS
373	depends on IIO_ST_SENSORS_SPI
374
375config KXSD9
376	tristate "Kionix KXSD9 Accelerometer Driver"
377	select IIO_BUFFER
378	select IIO_TRIGGERED_BUFFER
379	help
380	  Say yes here to build support for the Kionix KXSD9 accelerometer.
381	  It can be accessed using an (optional) SPI or I2C interface.
382
383	  To compile this driver as a module, choose M here: the module
384	  will be called kxsd9.
385
386config KXSD9_SPI
387	tristate "Kionix KXSD9 SPI transport"
388	depends on KXSD9
389	depends on SPI
390	default KXSD9
391	select REGMAP_SPI
392	help
393	  Say yes here to enable the Kionix KXSD9 accelerometer
394	  SPI transport channel.
395
396config KXSD9_I2C
397	tristate "Kionix KXSD9 I2C transport"
398	depends on KXSD9
399	depends on I2C
400	default KXSD9
401	select REGMAP_I2C
402	help
403	  Say yes here to enable the Kionix KXSD9 accelerometer
404	  I2C transport channel.
405
406config KXCJK1013
407	tristate "Kionix 3-Axis Accelerometer Driver"
408	depends on I2C
409	select IIO_BUFFER
410	select IIO_TRIGGERED_BUFFER
411	help
412	  Say Y here if you want to build a driver for the Kionix KXCJK-1013
413	  triaxial acceleration sensor. This driver also supports KXCJ9-1008,
414	  KXTJ2-1009 and KXTF9.
415
416	  To compile this driver as a module, choose M here: the module will
417	  be called kxcjk-1013.
418
419config MC3230
420	tristate "mCube MC3230 Digital Accelerometer Driver"
421	depends on I2C
422	help
423	  Say yes here to build support for the mCube MC3230 low-g tri-axial
424	  digital accelerometer.
425
426	  To compile this driver as a module, choose M here: the
427	  module will be called mc3230.
428
429config MMA7455
430	tristate
431	select IIO_BUFFER
432	select IIO_TRIGGERED_BUFFER
433
434config MMA7455_I2C
435	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
436	depends on I2C
437	select MMA7455
438	select REGMAP_I2C
439	help
440	  Say yes here to build support for the Freescale MMA7455L and
441	  MMA7456L 3-axis accelerometer.
442
443	  To compile this driver as a module, choose M here: the module
444	  will be called mma7455_i2c.
445
446config MMA7455_SPI
447	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
448	depends on SPI_MASTER
449	select MMA7455
450	select REGMAP_SPI
451	help
452	  Say yes here to build support for the Freescale MMA7455L and
453	  MMA7456L 3-axis accelerometer.
454
455	  To compile this driver as a module, choose M here: the module
456	  will be called mma7455_spi.
457
458config MMA7660
459	tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
460	depends on I2C
461	help
462	  Say yes here to get support for the Freescale MMA7660FC 3-Axis
463	  accelerometer.
464
465	  Choosing M will build the driver as a module. If so, the module
466	  will be called mma7660.
467
468config MMA8452
469	tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
470	depends on I2C
471	select IIO_BUFFER
472	select IIO_TRIGGERED_BUFFER
473	help
474	  Say yes here to build support for the following Freescale / NXP 3-axis
475	  accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
476	  FXLS8471Q.
477
478	  To compile this driver as a module, choose M here: the module
479	  will be called mma8452.
480
481config MMA9551_CORE
482	tristate
483
484config MMA9551
485	tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
486	depends on I2C
487	select MMA9551_CORE
488
489	help
490	  Say yes here to build support for the Freescale MMA9551L
491	  Intelligent Motion-Sensing Platform Driver.
492
493	  To compile this driver as a module, choose M here: the module
494	  will be called mma9551.
495
496config MMA9553
497	tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
498	depends on I2C
499	select MMA9551_CORE
500	help
501	  Say yes here to build support for the Freescale MMA9553L
502	  Intelligent Pedometer Platform Driver.
503
504	  To compile this driver as a module, choose M here: the module
505	  will be called mma9553.
506
507config MXC4005
508	tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
509	depends on I2C
510	select IIO_BUFFER
511	select IIO_TRIGGERED_BUFFER
512	select REGMAP_I2C
513	help
514	  Say yes here to build support for the Memsic MXC4005XC 3-axis
515	  accelerometer.
516
517	  To compile this driver as a module, choose M. The module will be
518	  called mxc4005.
519
520config MXC6255
521	tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
522	depends on I2C
523	select REGMAP_I2C
524	help
525	  Say yes here to build support for the Memsic MXC6255 Orientation
526	  Sensing Accelerometer Driver.
527
528	  To compile this driver as a module, choose M here: the module will be
529	  called mxc6255.
530
531config SCA3000
532	select IIO_BUFFER
533	select IIO_KFIFO_BUF
534	depends on SPI
535	tristate "VTI SCA3000 series accelerometers"
536	help
537	  Say Y here to build support for the VTI SCA3000 series of SPI
538	  accelerometers. These devices use a hardware ring buffer.
539
540	  To compile this driver as a module, say M here: the module will be
541	  called sca3000.
542
543config SCA3300
544	tristate "Murata SCA3300 3-Axis Accelerometer Driver"
545	depends on SPI
546	select CRC8
547	select IIO_BUFFER
548	select IIO_TRIGGERED_BUFFER
549	help
550	  Say yes here to build support for Murata SCA3300 3-Axis
551	  accelerometer.
552
553	  To compile this driver as a module, choose M here: the module will be
554	  called sca3300.
555
556config STK8312
557	tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
558	depends on I2C
559	select IIO_BUFFER
560	select IIO_TRIGGERED_BUFFER
561	help
562	  Say yes here to get support for the Sensortek STK8312 3-axis
563	  accelerometer.
564
565	  Choosing M will build the driver as a module. If so, the module
566	  will be called stk8312.
567
568config STK8BA50
569	tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
570	depends on I2C
571	select IIO_BUFFER
572	select IIO_TRIGGERED_BUFFER
573	help
574	  Say yes here to get support for the Sensortek STK8BA50 3-axis
575	  accelerometer.
576
577	  Choosing M will build the driver as a module. If so, the module
578	  will be called stk8ba50.
579
580endmenu
581