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