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