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