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