xref: /openbmc/linux/drivers/iio/accel/Kconfig (revision aa0dc6a7)
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
235config FXLS8962AF_I2C
236	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
237	depends on I2C
238	select FXLS8962AF
239	select REGMAP_I2C
240	help
241	  Say yes here to build support for the NXP 3-axis automotive
242	  accelerometer FXLS8962AF/FXLS8964AF with I2C support.
243
244	  To compile this driver as a module, choose M here: the module
245	  will be called fxls8962af_i2c.
246
247config FXLS8962AF_SPI
248	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
249	depends on SPI
250	select FXLS8962AF
251	select REGMAP_SPI
252	help
253	  Say yes here to build support for the NXP 3-axis automotive
254	  accelerometer FXLS8962AF/FXLS8964AF with SPI support.
255
256	  To compile this driver as a module, choose M here: the module
257	  will be called fxls8962af_spi.
258
259config HID_SENSOR_ACCEL_3D
260	depends on HID_SENSOR_HUB
261	select IIO_BUFFER
262	select HID_SENSOR_IIO_COMMON
263	select HID_SENSOR_IIO_TRIGGER
264	tristate "HID Accelerometers 3D"
265	help
266	  Say yes here to build support for the HID SENSOR
267	  accelerometers 3D.
268
269	  To compile this driver as a module, choose M here: the
270	  module will be called hid-sensor-accel-3d.
271
272config IIO_CROS_EC_ACCEL_LEGACY
273	tristate "ChromeOS EC Legacy Accelerometer Sensor"
274	depends on IIO_CROS_EC_SENSORS_CORE
275	help
276	  Say yes here to get support for accelerometers on Chromebook using
277	  legacy EC firmware.
278	  Sensor data is retrieved through IO memory.
279	  Newer devices should use IIO_CROS_EC_SENSORS.
280
281config IIO_ST_ACCEL_3AXIS
282	tristate "STMicroelectronics accelerometers 3-Axis Driver"
283	depends on (I2C || SPI_MASTER) && SYSFS
284	depends on !SENSORS_LIS3_I2C
285	depends on !SENSORS_LIS3_SPI
286	select IIO_ST_SENSORS_CORE
287	select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
288	select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
289	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
290	help
291	  Say yes here to build support for STMicroelectronics accelerometers:
292	  LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
293	  LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
294	  LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
295
296	  This driver can also be built as a module. If so, these modules
297	  will be created:
298	  - st_accel (core functions for the driver [it is mandatory]);
299	  - st_accel_i2c (necessary for the I2C devices [optional*]);
300	  - st_accel_spi (necessary for the SPI devices [optional*]);
301
302	  (*) one of these is necessary to do something.
303
304config IIO_ST_ACCEL_I2C_3AXIS
305	tristate
306	depends on IIO_ST_ACCEL_3AXIS
307	depends on IIO_ST_SENSORS_I2C
308
309config IIO_ST_ACCEL_SPI_3AXIS
310	tristate
311	depends on IIO_ST_ACCEL_3AXIS
312	depends on IIO_ST_SENSORS_SPI
313
314config KXSD9
315	tristate "Kionix KXSD9 Accelerometer Driver"
316	select IIO_BUFFER
317	select IIO_TRIGGERED_BUFFER
318	help
319	  Say yes here to build support for the Kionix KXSD9 accelerometer.
320	  It can be accessed using an (optional) SPI or I2C interface.
321
322	  To compile this driver as a module, choose M here: the module
323	  will be called kxsd9.
324
325config KXSD9_SPI
326	tristate "Kionix KXSD9 SPI transport"
327	depends on KXSD9
328	depends on SPI
329	default KXSD9
330	select REGMAP_SPI
331	help
332	  Say yes here to enable the Kionix KXSD9 accelerometer
333	  SPI transport channel.
334
335config KXSD9_I2C
336	tristate "Kionix KXSD9 I2C transport"
337	depends on KXSD9
338	depends on I2C
339	default KXSD9
340	select REGMAP_I2C
341	help
342	  Say yes here to enable the Kionix KXSD9 accelerometer
343	  I2C transport channel.
344
345config KXCJK1013
346	tristate "Kionix 3-Axis Accelerometer Driver"
347	depends on I2C
348	select IIO_BUFFER
349	select IIO_TRIGGERED_BUFFER
350	help
351	  Say Y here if you want to build a driver for the Kionix KXCJK-1013
352	  triaxial acceleration sensor. This driver also supports KXCJ9-1008,
353	  KXTJ2-1009 and KXTF9.
354
355	  To compile this driver as a module, choose M here: the module will
356	  be called kxcjk-1013.
357
358config MC3230
359	tristate "mCube MC3230 Digital Accelerometer Driver"
360	depends on I2C
361	help
362	  Say yes here to build support for the mCube MC3230 low-g tri-axial
363	  digital accelerometer.
364
365	  To compile this driver as a module, choose M here: the
366	  module will be called mc3230.
367
368config MMA7455
369	tristate
370	select IIO_BUFFER
371	select IIO_TRIGGERED_BUFFER
372
373config MMA7455_I2C
374	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
375	depends on I2C
376	select MMA7455
377	select REGMAP_I2C
378	help
379	  Say yes here to build support for the Freescale MMA7455L and
380	  MMA7456L 3-axis accelerometer.
381
382	  To compile this driver as a module, choose M here: the module
383	  will be called mma7455_i2c.
384
385config MMA7455_SPI
386	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
387	depends on SPI_MASTER
388	select MMA7455
389	select REGMAP_SPI
390	help
391	  Say yes here to build support for the Freescale MMA7455L and
392	  MMA7456L 3-axis accelerometer.
393
394	  To compile this driver as a module, choose M here: the module
395	  will be called mma7455_spi.
396
397config MMA7660
398	tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
399	depends on I2C
400	help
401	  Say yes here to get support for the Freescale MMA7660FC 3-Axis
402	  accelerometer.
403
404	  Choosing M will build the driver as a module. If so, the module
405	  will be called mma7660.
406
407config MMA8452
408	tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
409	depends on I2C
410	select IIO_BUFFER
411	select IIO_TRIGGERED_BUFFER
412	help
413	  Say yes here to build support for the following Freescale / NXP 3-axis
414	  accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
415	  FXLS8471Q.
416
417	  To compile this driver as a module, choose M here: the module
418	  will be called mma8452.
419
420config MMA9551_CORE
421	tristate
422
423config MMA9551
424	tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
425	depends on I2C
426	select MMA9551_CORE
427
428	help
429	  Say yes here to build support for the Freescale MMA9551L
430	  Intelligent Motion-Sensing Platform Driver.
431
432	  To compile this driver as a module, choose M here: the module
433	  will be called mma9551.
434
435config MMA9553
436	tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
437	depends on I2C
438	select MMA9551_CORE
439	help
440	  Say yes here to build support for the Freescale MMA9553L
441	  Intelligent Pedometer Platform Driver.
442
443	  To compile this driver as a module, choose M here: the module
444	  will be called mma9553.
445
446config MXC4005
447	tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
448	depends on I2C
449	select IIO_BUFFER
450	select IIO_TRIGGERED_BUFFER
451	select REGMAP_I2C
452	help
453	  Say yes here to build support for the Memsic MXC4005XC 3-axis
454	  accelerometer.
455
456	  To compile this driver as a module, choose M. The module will be
457	  called mxc4005.
458
459config MXC6255
460	tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
461	depends on I2C
462	select REGMAP_I2C
463	help
464	  Say yes here to build support for the Memsic MXC6255 Orientation
465	  Sensing Accelerometer Driver.
466
467	  To compile this driver as a module, choose M here: the module will be
468	  called mxc6255.
469
470config SCA3000
471	select IIO_BUFFER
472	select IIO_KFIFO_BUF
473	depends on SPI
474	tristate "VTI SCA3000 series accelerometers"
475	help
476	  Say Y here to build support for the VTI SCA3000 series of SPI
477	  accelerometers. These devices use a hardware ring buffer.
478
479	  To compile this driver as a module, say M here: the module will be
480	  called sca3000.
481
482config SCA3300
483	tristate "Murata SCA3300 3-Axis Accelerometer Driver"
484	depends on SPI
485	select CRC8
486	select IIO_BUFFER
487	select IIO_TRIGGERED_BUFFER
488	help
489	  Say yes here to build support for Murata SCA3300 3-Axis
490	  accelerometer.
491
492	  To compile this driver as a module, choose M here: the module will be
493	  called sca3300.
494
495config STK8312
496	tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
497	depends on I2C
498	select IIO_BUFFER
499	select IIO_TRIGGERED_BUFFER
500	help
501	  Say yes here to get support for the Sensortek STK8312 3-axis
502	  accelerometer.
503
504	  Choosing M will build the driver as a module. If so, the module
505	  will be called stk8312.
506
507config STK8BA50
508	tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
509	depends on I2C
510	select IIO_BUFFER
511	select IIO_TRIGGERED_BUFFER
512	help
513	  Say yes here to get support for the Sensortek STK8BA50 3-axis
514	  accelerometer.
515
516	  Choosing M will build the driver as a module. If so, the module
517	  will be called stk8ba50.
518
519endmenu
520