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