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