xref: /openbmc/linux/drivers/iio/accel/Kconfig (revision d0e22329)
1#
2# Accelerometer drivers
3#
4# When adding new entries keep the list in alphabetical order
5
6menu "Accelerometers"
7
8config ADIS16201
9        tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer"
10        depends on SPI
11        select IIO_ADIS_LIB
12        select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
13        help
14          Say Y here to build support for Analog Devices adis16201 dual-axis
15          digital inclinometer and accelerometer.
16
17          To compile this driver as a module, say M here: the module will
18          be called adis16201.
19
20config ADIS16209
21        tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer"
22        depends on SPI
23        select IIO_ADIS_LIB
24        select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
25        help
26          Say Y here to build support for Analog Devices adis16209 dual-axis digital inclinometer
27          and accelerometer.
28
29          To compile this driver as a module, say M here: the module will be
30          called adis16209.
31
32config ADXL345
33	tristate
34
35config ADXL345_I2C
36	tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
37	depends on INPUT_ADXL34X=n
38	depends on I2C
39	select ADXL345
40	select REGMAP_I2C
41	help
42	  Say Y here if you want to build support for the Analog Devices
43	  ADXL345 or ADXL375 3-axis digital accelerometer.
44
45	  To compile this driver as a module, choose M here: the module
46	  will be called adxl345_i2c and you will also get adxl345_core
47	  for the core module.
48
49config ADXL345_SPI
50	tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver"
51	depends on INPUT_ADXL34X=n
52	depends on SPI
53	select ADXL345
54	select REGMAP_SPI
55	help
56	  Say Y here if you want to build support for the Analog Devices
57	  ADXL345 or ADXL375 3-axis digital accelerometer.
58
59	  To compile this driver as a module, choose M here: the module
60	  will be called adxl345_spi and you will also get adxl345_core
61	  for the core module.
62
63config ADXL372
64	tristate
65	select IIO_BUFFER
66	select IIO_TRIGGERED_BUFFER
67
68config ADXL372_SPI
69	tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
70	depends on SPI
71	select ADXL372
72	select REGMAP_SPI
73	help
74	  Say yes here to add support for the Analog Devices ADXL372 triaxial
75	  acceleration sensor.
76	  To compile this driver as a module, choose M here: the
77	  module will be called adxl372_spi.
78
79config ADXL372_I2C
80	tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
81	depends on I2C
82	select ADXL372
83	select REGMAP_I2C
84	help
85	  Say yes here to add support for the Analog Devices ADXL372 triaxial
86	  acceleration sensor.
87	  To compile this driver as a module, choose M here: the
88	  module will be called adxl372_i2c.
89
90config BMA180
91	tristate "Bosch BMA180/BMA250 3-Axis Accelerometer Driver"
92	depends on I2C
93	select IIO_BUFFER
94	select IIO_TRIGGERED_BUFFER
95	help
96	  Say Y here if you want to build a driver for the Bosch BMA180 or
97	  BMA250 triaxial acceleration sensor.
98
99	  To compile this driver as a module, choose M here: the
100	  module will be called bma180.
101
102config BMA220
103    tristate "Bosch BMA220 3-Axis Accelerometer Driver"
104	depends on SPI
105	select IIO_BUFFER
106	select IIO_TRIGGERED_BUFFER
107    help
108      Say yes here to add support for the Bosch BMA220 triaxial
109      acceleration sensor.
110
111      To compile this driver as a module, choose M here: the
112      module will be called bma220_spi.
113
114config BMC150_ACCEL
115	tristate "Bosch BMC150 Accelerometer Driver"
116	select IIO_BUFFER
117	select IIO_TRIGGERED_BUFFER
118	select REGMAP
119	select BMC150_ACCEL_I2C if I2C
120	select BMC150_ACCEL_SPI if SPI
121	help
122	  Say yes here to build support for the following Bosch accelerometers:
123	  BMC150, BMI055, BMA250E, BMA222E, BMA255, BMA280.
124
125	  This is a combo module with both accelerometer and magnetometer.
126	  This driver is only implementing accelerometer part, which has
127	  its own address and register map.
128
129config BMC150_ACCEL_I2C
130	tristate
131	select REGMAP_I2C
132
133config BMC150_ACCEL_SPI
134	tristate
135	select REGMAP_SPI
136
137config DA280
138	tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
139	depends on I2C
140	help
141	  Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
142	  digital accelerometer.
143
144	  To compile this driver as a module, choose M here: the
145	  module will be called da280.
146
147config DA311
148	tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
149	depends on I2C
150	help
151	  Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
152	  digital accelerometer.
153
154	  To compile this driver as a module, choose M here: the
155	  module will be called da311.
156
157config DMARD06
158	tristate "Domintech DMARD06 Digital Accelerometer Driver"
159	depends on OF || COMPILE_TEST
160	depends on I2C
161	help
162	  Say yes here to build support for the Domintech low-g tri-axial
163	  digital accelerometers: DMARD05, DMARD06, DMARD07.
164
165	  To compile this driver as a module, choose M here: the
166	  module will be called dmard06.
167
168config DMARD09
169	tristate "Domintech DMARD09 3-axis Accelerometer Driver"
170	depends on I2C
171	help
172	  Say yes here to get support for the Domintech DMARD09 3-axis
173	  accelerometer.
174
175	  Choosing M will build the driver as a module. If so, the module
176	  will be called dmard09.
177
178config DMARD10
179	tristate "Domintech DMARD10 3-axis Accelerometer Driver"
180	depends on I2C
181	help
182	  Say yes here to get support for the Domintech DMARD10 3-axis
183	  accelerometer.
184
185	  Choosing M will build the driver as a module. If so, the module
186	  will be called dmard10.
187
188config HID_SENSOR_ACCEL_3D
189	depends on HID_SENSOR_HUB
190	select IIO_BUFFER
191	select IIO_TRIGGERED_BUFFER
192	select HID_SENSOR_IIO_COMMON
193	select HID_SENSOR_IIO_TRIGGER
194	tristate "HID Accelerometers 3D"
195	help
196	  Say yes here to build support for the HID SENSOR
197	  accelerometers 3D.
198
199	  To compile this driver as a module, choose M here: the
200	  module will be called hid-sensor-accel-3d.
201
202config IIO_CROS_EC_ACCEL_LEGACY
203	tristate "ChromeOS EC Legacy Accelerometer Sensor"
204	select IIO_BUFFER
205	select IIO_TRIGGERED_BUFFER
206	select CROS_EC_LPC_REGISTER_DEVICE
207	help
208	  Say yes here to get support for accelerometers on Chromebook using
209	  legacy EC firmware.
210	  Sensor data is retrieved through IO memory.
211	  Newer devices should use IIO_CROS_EC_SENSORS.
212
213config IIO_ST_ACCEL_3AXIS
214	tristate "STMicroelectronics accelerometers 3-Axis Driver"
215	depends on (I2C || SPI_MASTER) && SYSFS
216	depends on !SENSORS_LIS3_I2C
217	depends on !SENSORS_LIS3_SPI
218	select IIO_ST_SENSORS_CORE
219	select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
220	select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
221	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
222	help
223	  Say yes here to build support for STMicroelectronics accelerometers:
224	  LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
225	  LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
226	  LNG2DM, LIS3DE
227
228	  This driver can also be built as a module. If so, these modules
229	  will be created:
230	  - st_accel (core functions for the driver [it is mandatory]);
231	  - st_accel_i2c (necessary for the I2C devices [optional*]);
232	  - st_accel_spi (necessary for the SPI devices [optional*]);
233
234	  (*) one of these is necessary to do something.
235
236config IIO_ST_ACCEL_I2C_3AXIS
237	tristate
238	depends on IIO_ST_ACCEL_3AXIS
239	depends on IIO_ST_SENSORS_I2C
240
241config IIO_ST_ACCEL_SPI_3AXIS
242	tristate
243	depends on IIO_ST_ACCEL_3AXIS
244	depends on IIO_ST_SENSORS_SPI
245
246config KXSD9
247	tristate "Kionix KXSD9 Accelerometer Driver"
248	select IIO_BUFFER
249	select IIO_TRIGGERED_BUFFER
250	help
251	  Say yes here to build support for the Kionix KXSD9 accelerometer.
252	  It can be accessed using an (optional) SPI or I2C interface.
253
254	  To compile this driver as a module, choose M here: the module
255	  will be called kxsd9.
256
257config KXSD9_SPI
258	tristate "Kionix KXSD9 SPI transport"
259	depends on KXSD9
260	depends on SPI
261	default KXSD9
262	select REGMAP_SPI
263	help
264	  Say yes here to enable the Kionix KXSD9 accelerometer
265	  SPI transport channel.
266
267config KXSD9_I2C
268	tristate "Kionix KXSD9 I2C transport"
269	depends on KXSD9
270	depends on I2C
271	default KXSD9
272	select REGMAP_I2C
273	help
274	  Say yes here to enable the Kionix KXSD9 accelerometer
275	  I2C transport channel.
276
277config KXCJK1013
278	tristate "Kionix 3-Axis Accelerometer Driver"
279	depends on I2C
280	select IIO_BUFFER
281	select IIO_TRIGGERED_BUFFER
282	help
283	  Say Y here if you want to build a driver for the Kionix KXCJK-1013
284	  triaxial acceleration sensor. This driver also supports KXCJ9-1008,
285	  KXTJ2-1009 and KXTF9.
286
287	  To compile this driver as a module, choose M here: the module will
288	  be called kxcjk-1013.
289
290config MC3230
291	tristate "mCube MC3230 Digital Accelerometer Driver"
292	depends on I2C
293	help
294	  Say yes here to build support for the mCube MC3230 low-g tri-axial
295	  digital accelerometer.
296
297	  To compile this driver as a module, choose M here: the
298	  module will be called mc3230.
299
300config MMA7455
301	tristate
302	select IIO_BUFFER
303	select IIO_TRIGGERED_BUFFER
304
305config MMA7455_I2C
306	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
307	depends on I2C
308	select MMA7455
309	select REGMAP_I2C
310	help
311	  Say yes here to build support for the Freescale MMA7455L and
312	  MMA7456L 3-axis accelerometer.
313
314	  To compile this driver as a module, choose M here: the module
315	  will be called mma7455_i2c.
316
317config MMA7455_SPI
318	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
319	depends on SPI_MASTER
320	select MMA7455
321	select REGMAP_SPI
322	help
323	  Say yes here to build support for the Freescale MMA7455L and
324	  MMA7456L 3-axis accelerometer.
325
326	  To compile this driver as a module, choose M here: the module
327	  will be called mma7455_spi.
328
329config MMA7660
330	tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
331	depends on I2C
332	help
333	  Say yes here to get support for the Freescale MMA7660FC 3-Axis
334	  accelerometer.
335
336	  Choosing M will build the driver as a module. If so, the module
337	  will be called mma7660.
338
339config MMA8452
340	tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
341	depends on I2C
342	select IIO_BUFFER
343	select IIO_TRIGGERED_BUFFER
344	help
345	  Say yes here to build support for the following Freescale / NXP 3-axis
346	  accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
347	  FXLS8471Q.
348
349	  To compile this driver as a module, choose M here: the module
350	  will be called mma8452.
351
352config MMA9551_CORE
353	tristate
354
355config MMA9551
356	tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
357	depends on I2C
358	select MMA9551_CORE
359
360	help
361	  Say yes here to build support for the Freescale MMA9551L
362	  Intelligent Motion-Sensing Platform Driver.
363
364	  To compile this driver as a module, choose M here: the module
365	  will be called mma9551.
366
367config MMA9553
368	tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
369	depends on I2C
370	select MMA9551_CORE
371	help
372	  Say yes here to build support for the Freescale MMA9553L
373	  Intelligent Pedometer Platform Driver.
374
375	  To compile this driver as a module, choose M here: the module
376	  will be called mma9553.
377
378config MXC4005
379	tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
380	depends on I2C
381	select IIO_BUFFER
382	select IIO_TRIGGERED_BUFFER
383	select REGMAP_I2C
384	help
385	  Say yes here to build support for the Memsic MXC4005XC 3-axis
386	  accelerometer.
387
388	  To compile this driver as a module, choose M. The module will be
389	  called mxc4005.
390
391config MXC6255
392	tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
393	depends on I2C
394	select REGMAP_I2C
395	help
396	  Say yes here to build support for the Memsic MXC6255 Orientation
397	  Sensing Accelerometer Driver.
398
399	  To compile this driver as a module, choose M here: the module will be
400	  called mxc6255.
401
402config SCA3000
403	select IIO_BUFFER
404	select IIO_KFIFO_BUF
405	depends on SPI
406	tristate "VTI SCA3000 series accelerometers"
407	help
408	  Say Y here to build support for the VTI SCA3000 series of SPI
409	  accelerometers. These devices use a hardware ring buffer.
410
411	  To compile this driver as a module, say M here: the module will be
412	  called sca3000.
413
414config STK8312
415	tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
416	depends on I2C
417	select IIO_BUFFER
418	select IIO_TRIGGERED_BUFFER
419	help
420	  Say yes here to get support for the Sensortek STK8312 3-axis
421	  accelerometer.
422
423	  Choosing M will build the driver as a module. If so, the module
424	  will be called stk8312.
425
426config STK8BA50
427	tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
428	depends on I2C
429	select IIO_BUFFER
430	select IIO_TRIGGERED_BUFFER
431	help
432	  Say yes here to get support for the Sensortek STK8BA50 3-axis
433	  accelerometer.
434
435	  Choosing M will build the driver as a module. If so, the module
436	  will be called stk8ba50.
437
438endmenu
439