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