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