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