Merge tag 'backlight-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.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/BMA250 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, BMA250 or SMB380 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           BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
147           BMI055.
148
149           Note that some of these are combo modules:
150             - BMC150/BMC156: accelerometer and magnetometer
151             - BMI055: accelerometer and gyroscope
152
153           This driver is only implementing accelerometer part, which has
154           its own address and register map.
155
156 config BMC150_ACCEL_I2C
157         tristate
158         select REGMAP_I2C
159
160 config BMC150_ACCEL_SPI
161         tristate
162         select REGMAP_SPI
163
164 config BMI088_ACCEL
165         tristate "Bosch BMI088 Accelerometer Driver"
166         depends on SPI
167         select IIO_BUFFER
168         select IIO_TRIGGERED_BUFFER
169         select REGMAP
170         select BMI088_ACCEL_SPI
171         help
172           Say yes here to build support for the Bosch BMI088 accelerometer.
173
174           This is a combo module with both accelerometer and gyroscope. This
175           driver only implements the accelerometer part, which has its own
176           address and register map. BMG160 provides the gyroscope driver.
177
178 config BMI088_ACCEL_SPI
179         tristate
180         select REGMAP_SPI
181
182 config DA280
183         tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
184         depends on I2C
185         help
186           Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
187           digital accelerometer.
188
189           To compile this driver as a module, choose M here: the
190           module will be called da280.
191
192 config DA311
193         tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
194         depends on I2C
195         help
196           Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
197           digital accelerometer.
198
199           To compile this driver as a module, choose M here: the
200           module will be called da311.
201
202 config DMARD06
203         tristate "Domintech DMARD06 Digital Accelerometer Driver"
204         depends on OF || COMPILE_TEST
205         depends on I2C
206         help
207           Say yes here to build support for the Domintech low-g tri-axial
208           digital accelerometers: DMARD05, DMARD06, DMARD07.
209
210           To compile this driver as a module, choose M here: the
211           module will be called dmard06.
212
213 config DMARD09
214         tristate "Domintech DMARD09 3-axis Accelerometer Driver"
215         depends on I2C
216         help
217           Say yes here to get support for the Domintech DMARD09 3-axis
218           accelerometer.
219
220           Choosing M will build the driver as a module. If so, the module
221           will be called dmard09.
222
223 config DMARD10
224         tristate "Domintech DMARD10 3-axis Accelerometer Driver"
225         depends on I2C
226         help
227           Say yes here to get support for the Domintech DMARD10 3-axis
228           accelerometer.
229
230           Choosing M will build the driver as a module. If so, the module
231           will be called dmard10.
232
233 config FXLS8962AF
234         tristate
235         depends on I2C || !I2C # cannot be built-in for modular I2C
236
237 config FXLS8962AF_I2C
238         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
239         depends on I2C
240         select FXLS8962AF
241         select REGMAP_I2C
242         help
243           Say yes here to build support for the NXP 3-axis automotive
244           accelerometer FXLS8962AF/FXLS8964AF with I2C support.
245
246           To compile this driver as a module, choose M here: the module
247           will be called fxls8962af_i2c.
248
249 config FXLS8962AF_SPI
250         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
251         depends on SPI
252         depends on I2C || !I2C
253         select FXLS8962AF
254         select REGMAP_SPI
255         help
256           Say yes here to build support for the NXP 3-axis automotive
257           accelerometer FXLS8962AF/FXLS8964AF with SPI support.
258
259           To compile this driver as a module, choose M here: the module
260           will be called fxls8962af_spi.
261
262 config HID_SENSOR_ACCEL_3D
263         depends on HID_SENSOR_HUB
264         select IIO_BUFFER
265         select HID_SENSOR_IIO_COMMON
266         select HID_SENSOR_IIO_TRIGGER
267         tristate "HID Accelerometers 3D"
268         help
269           Say yes here to build support for the HID SENSOR
270           accelerometers 3D.
271
272           To compile this driver as a module, choose M here: the
273           module will be called hid-sensor-accel-3d.
274
275 config IIO_CROS_EC_ACCEL_LEGACY
276         tristate "ChromeOS EC Legacy Accelerometer Sensor"
277         depends on IIO_CROS_EC_SENSORS_CORE
278         help
279           Say yes here to get support for accelerometers on Chromebook using
280           legacy EC firmware.
281           Sensor data is retrieved through IO memory.
282           Newer devices should use IIO_CROS_EC_SENSORS.
283
284 config IIO_ST_ACCEL_3AXIS
285         tristate "STMicroelectronics accelerometers 3-Axis Driver"
286         depends on (I2C || SPI_MASTER) && SYSFS
287         depends on !SENSORS_LIS3_I2C
288         depends on !SENSORS_LIS3_SPI
289         select IIO_ST_SENSORS_CORE
290         select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
291         select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
292         select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
293         help
294           Say yes here to build support for STMicroelectronics accelerometers:
295           LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
296           LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
297           LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
298
299           This driver can also be built as a module. If so, these modules
300           will be created:
301           - st_accel (core functions for the driver [it is mandatory]);
302           - st_accel_i2c (necessary for the I2C devices [optional*]);
303           - st_accel_spi (necessary for the SPI devices [optional*]);
304
305           (*) one of these is necessary to do something.
306
307 config IIO_ST_ACCEL_I2C_3AXIS
308         tristate
309         depends on IIO_ST_ACCEL_3AXIS
310         depends on IIO_ST_SENSORS_I2C
311
312 config IIO_ST_ACCEL_SPI_3AXIS
313         tristate
314         depends on IIO_ST_ACCEL_3AXIS
315         depends on IIO_ST_SENSORS_SPI
316
317 config KXSD9
318         tristate "Kionix KXSD9 Accelerometer Driver"
319         select IIO_BUFFER
320         select IIO_TRIGGERED_BUFFER
321         help
322           Say yes here to build support for the Kionix KXSD9 accelerometer.
323           It can be accessed using an (optional) SPI or I2C interface.
324
325           To compile this driver as a module, choose M here: the module
326           will be called kxsd9.
327
328 config KXSD9_SPI
329         tristate "Kionix KXSD9 SPI transport"
330         depends on KXSD9
331         depends on SPI
332         default KXSD9
333         select REGMAP_SPI
334         help
335           Say yes here to enable the Kionix KXSD9 accelerometer
336           SPI transport channel.
337
338 config KXSD9_I2C
339         tristate "Kionix KXSD9 I2C transport"
340         depends on KXSD9
341         depends on I2C
342         default KXSD9
343         select REGMAP_I2C
344         help
345           Say yes here to enable the Kionix KXSD9 accelerometer
346           I2C transport channel.
347
348 config KXCJK1013
349         tristate "Kionix 3-Axis Accelerometer Driver"
350         depends on I2C
351         select IIO_BUFFER
352         select IIO_TRIGGERED_BUFFER
353         help
354           Say Y here if you want to build a driver for the Kionix KXCJK-1013
355           triaxial acceleration sensor. This driver also supports KXCJ9-1008,
356           KXTJ2-1009 and KXTF9.
357
358           To compile this driver as a module, choose M here: the module will
359           be called kxcjk-1013.
360
361 config MC3230
362         tristate "mCube MC3230 Digital Accelerometer Driver"
363         depends on I2C
364         help
365           Say yes here to build support for the mCube MC3230 low-g tri-axial
366           digital accelerometer.
367
368           To compile this driver as a module, choose M here: the
369           module will be called mc3230.
370
371 config MMA7455
372         tristate
373         select IIO_BUFFER
374         select IIO_TRIGGERED_BUFFER
375
376 config MMA7455_I2C
377         tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
378         depends on I2C
379         select MMA7455
380         select REGMAP_I2C
381         help
382           Say yes here to build support for the Freescale MMA7455L and
383           MMA7456L 3-axis accelerometer.
384
385           To compile this driver as a module, choose M here: the module
386           will be called mma7455_i2c.
387
388 config MMA7455_SPI
389         tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
390         depends on SPI_MASTER
391         select MMA7455
392         select REGMAP_SPI
393         help
394           Say yes here to build support for the Freescale MMA7455L and
395           MMA7456L 3-axis accelerometer.
396
397           To compile this driver as a module, choose M here: the module
398           will be called mma7455_spi.
399
400 config MMA7660
401         tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
402         depends on I2C
403         help
404           Say yes here to get support for the Freescale MMA7660FC 3-Axis
405           accelerometer.
406
407           Choosing M will build the driver as a module. If so, the module
408           will be called mma7660.
409
410 config MMA8452
411         tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
412         depends on I2C
413         select IIO_BUFFER
414         select IIO_TRIGGERED_BUFFER
415         help
416           Say yes here to build support for the following Freescale / NXP 3-axis
417           accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
418           FXLS8471Q.
419
420           To compile this driver as a module, choose M here: the module
421           will be called mma8452.
422
423 config MMA9551_CORE
424         tristate
425
426 config MMA9551
427         tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
428         depends on I2C
429         select MMA9551_CORE
430
431         help
432           Say yes here to build support for the Freescale MMA9551L
433           Intelligent Motion-Sensing Platform Driver.
434
435           To compile this driver as a module, choose M here: the module
436           will be called mma9551.
437
438 config MMA9553
439         tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
440         depends on I2C
441         select MMA9551_CORE
442         help
443           Say yes here to build support for the Freescale MMA9553L
444           Intelligent Pedometer Platform Driver.
445
446           To compile this driver as a module, choose M here: the module
447           will be called mma9553.
448
449 config MXC4005
450         tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
451         depends on I2C
452         select IIO_BUFFER
453         select IIO_TRIGGERED_BUFFER
454         select REGMAP_I2C
455         help
456           Say yes here to build support for the Memsic MXC4005XC 3-axis
457           accelerometer.
458
459           To compile this driver as a module, choose M. The module will be
460           called mxc4005.
461
462 config MXC6255
463         tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
464         depends on I2C
465         select REGMAP_I2C
466         help
467           Say yes here to build support for the Memsic MXC6255 Orientation
468           Sensing Accelerometer Driver.
469
470           To compile this driver as a module, choose M here: the module will be
471           called mxc6255.
472
473 config SCA3000
474         select IIO_BUFFER
475         select IIO_KFIFO_BUF
476         depends on SPI
477         tristate "VTI SCA3000 series accelerometers"
478         help
479           Say Y here to build support for the VTI SCA3000 series of SPI
480           accelerometers. These devices use a hardware ring buffer.
481
482           To compile this driver as a module, say M here: the module will be
483           called sca3000.
484
485 config SCA3300
486         tristate "Murata SCA3300 3-Axis Accelerometer Driver"
487         depends on SPI
488         select CRC8
489         select IIO_BUFFER
490         select IIO_TRIGGERED_BUFFER
491         help
492           Say yes here to build support for Murata SCA3300 3-Axis
493           accelerometer.
494
495           To compile this driver as a module, choose M here: the module will be
496           called sca3300.
497
498 config STK8312
499         tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
500         depends on I2C
501         select IIO_BUFFER
502         select IIO_TRIGGERED_BUFFER
503         help
504           Say yes here to get support for the Sensortek STK8312 3-axis
505           accelerometer.
506
507           Choosing M will build the driver as a module. If so, the module
508           will be called stk8312.
509
510 config STK8BA50
511         tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
512         depends on I2C
513         select IIO_BUFFER
514         select IIO_TRIGGERED_BUFFER
515         help
516           Say yes here to get support for the Sensortek STK8BA50 3-axis
517           accelerometer.
518
519           Choosing M will build the driver as a module. If so, the module
520           will be called stk8ba50.
521
522 endmenu