Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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