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