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