blob: d4ef35aeb5792690e0369ff55f52592aa49300a1 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001# SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002#
3# Accelerometer drivers
4#
5# When adding new entries keep the list in alphabetical order
6
7menu "Accelerometers"
8
9config ADIS16201
David Brazdil0f672f62019-12-10 10:32:29 +000010 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000017
David Brazdil0f672f62019-12-10 10:32:29 +000018 To compile this driver as a module, say M here: the module will
19 be called adis16201.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000020
21config ADIS16209
David Brazdil0f672f62019-12-10 10:32:29 +000022 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000029
David Brazdil0f672f62019-12-10 10:32:29 +000030 To compile this driver as a module, say M here: the module will be
31 called adis16209.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000032
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
David Brazdil0f672f62019-12-10 10:32:29 +000064config 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000091config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000104 tristate "Bosch BMA220 3-Axis Accelerometer Driver"
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000105 depends on SPI
106 select IIO_BUFFER
107 select IIO_TRIGGERED_BUFFER
David Brazdil0f672f62019-12-10 10:32:29 +0000108 help
109 Say yes here to add support for the Bosch BMA220 triaxial
110 acceleration sensor.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000111
David Brazdil0f672f62019-12-10 10:32:29 +0000112 To compile this driver as a module, choose M here: the
113 module will be called bma220_spi.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000114
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"
David Brazdil0f672f62019-12-10 10:32:29 +0000205 depends on IIO_CROS_EC_SENSORS_CORE
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000206 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,
David Brazdil0f672f62019-12-10 10:32:29 +0000225 LNG2DM, LIS3DE, LIS2DE12
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000226
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