Merge branch 'remove-h8300' of git://git.infradead.org/users/hch/misc into asm-generic
[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 ADXL313
34         tristate
35
36 config ADXL313_I2C
37         tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer I2C Driver"
38         depends on I2C
39         select ADXL313
40         select REGMAP_I2C
41         help
42           Say Y here if you want to build i2c support for the Analog Devices
43           ADXL313 3-axis digital accelerometer.
44
45           To compile this driver as a module, choose M here: the module
46           will be called adxl313_i2c and you will also get adxl313_core
47           for the core module.
48
49 config ADXL313_SPI
50         tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer SPI Driver"
51         depends on SPI
52         select ADXL313
53         select REGMAP_SPI
54         help
55           Say Y here if you want to build spi support for the Analog Devices
56           ADXL313 3-axis digital accelerometer.
57
58           To compile this driver as a module, choose M here: the module
59           will be called adxl313_spi and you will also get adxl313_core
60           for the core module.
61
62 config ADXL345
63         tristate
64
65 config ADXL345_I2C
66         tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
67         depends on INPUT_ADXL34X=n
68         depends on I2C
69         select ADXL345
70         select REGMAP_I2C
71         help
72           Say Y here if you want to build support for the Analog Devices
73           ADXL345 or ADXL375 3-axis digital accelerometer.
74
75           To compile this driver as a module, choose M here: the module
76           will be called adxl345_i2c and you will also get adxl345_core
77           for the core module.
78
79 config ADXL345_SPI
80         tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver"
81         depends on INPUT_ADXL34X=n
82         depends on SPI
83         select ADXL345
84         select REGMAP_SPI
85         help
86           Say Y here if you want to build support for the Analog Devices
87           ADXL345 or ADXL375 3-axis digital accelerometer.
88
89           To compile this driver as a module, choose M here: the module
90           will be called adxl345_spi and you will also get adxl345_core
91           for the core module.
92
93 config ADXL355
94         tristate
95
96 config ADXL355_I2C
97         tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer I2C Driver"
98         depends on I2C
99         select ADXL355
100         select REGMAP_I2C
101         select IIO_BUFFER
102         select IIO_TRIGGERED_BUFFER
103         help
104           Say Y here if you want to build i2c support for the Analog Devices
105           ADXL355 3-axis digital accelerometer.
106
107           To compile this driver as a module, choose M here: the module
108           will be called adxl355_i2c and you will also get adxl355_core
109           for the core module.
110
111 config ADXL355_SPI
112         tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer SPI Driver"
113         depends on SPI
114         select ADXL355
115         select REGMAP_SPI
116         select IIO_BUFFER
117         select IIO_TRIGGERED_BUFFER
118         help
119           Say Y here if you want to build spi support for the Analog Devices
120           ADXL355 3-axis digital accelerometer.
121
122           To compile this driver as a module, choose M here: the module
123           will be called adxl355_spi and you will also get adxl355_core
124           for the core module.
125
126 config ADXL367
127         tristate
128         select IIO_BUFFER
129         select IIO_TRIGGERED_BUFFER
130
131 config ADXL367_SPI
132         tristate "Analog Devices ADXL367 3-Axis Accelerometer SPI Driver"
133         depends on SPI
134         select ADXL367
135         select REGMAP_SPI
136         help
137           Say yes here to add support for the Analog Devices ADXL367 triaxial
138           acceleration sensor.
139           To compile this driver as a module, choose M here: the
140           module will be called adxl367_spi.
141
142 config ADXL367_I2C
143         tristate "Analog Devices ADXL367 3-Axis Accelerometer I2C Driver"
144         depends on I2C
145         select ADXL367
146         select REGMAP_I2C
147         help
148           Say yes here to add support for the Analog Devices ADXL367 triaxial
149           acceleration sensor.
150           To compile this driver as a module, choose M here: the
151           module will be called adxl367_i2c.
152
153 config ADXL372
154         tristate
155         select IIO_BUFFER
156         select IIO_TRIGGERED_BUFFER
157
158 config ADXL372_SPI
159         tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
160         depends on SPI
161         select ADXL372
162         select REGMAP_SPI
163         help
164           Say yes here to add support for the Analog Devices ADXL372 triaxial
165           acceleration sensor.
166           To compile this driver as a module, choose M here: the
167           module will be called adxl372_spi.
168
169 config ADXL372_I2C
170         tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
171         depends on I2C
172         select ADXL372
173         select REGMAP_I2C
174         help
175           Say yes here to add support for the Analog Devices ADXL372 triaxial
176           acceleration sensor.
177           To compile this driver as a module, choose M here: the
178           module will be called adxl372_i2c.
179
180 config BMA180
181         tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
182         depends on I2C && INPUT_BMA150=n
183         select IIO_BUFFER
184         select IIO_TRIGGERED_BUFFER
185         help
186           Say Y here if you want to build a driver for the Bosch BMA023, BMA150
187           BMA180, BMA250 or SMB380 triaxial acceleration sensor.
188
189           To compile this driver as a module, choose M here: the
190           module will be called bma180.
191
192 config BMA220
193         tristate "Bosch BMA220 3-Axis Accelerometer Driver"
194         depends on SPI
195         select IIO_BUFFER
196         select IIO_TRIGGERED_BUFFER
197         help
198           Say yes here to add support for the Bosch BMA220 triaxial
199           acceleration sensor.
200
201           To compile this driver as a module, choose M here: the
202           module will be called bma220_spi.
203
204 config BMA400
205         tristate "Bosch BMA400 3-Axis Accelerometer Driver"
206         select REGMAP
207         select BMA400_I2C if I2C
208         select BMA400_SPI if SPI
209         help
210           Say Y here if you want to build a driver for the Bosch BMA400
211           triaxial acceleration sensor.
212
213           To compile this driver as a module, choose M here: the
214           module will be called bma400_core and you will also get
215           bma400_i2c if I2C is enabled and bma400_spi if SPI is
216           enabled.
217
218 config BMA400_I2C
219         tristate
220         depends on BMA400
221
222 config BMA400_SPI
223         tristate
224         depends on BMA400
225
226 config BMC150_ACCEL
227         tristate "Bosch BMC150 Accelerometer Driver"
228         select IIO_BUFFER
229         select IIO_TRIGGERED_BUFFER
230         select REGMAP
231         select BMC150_ACCEL_I2C if I2C
232         select BMC150_ACCEL_SPI if SPI
233         help
234           Say yes here to build support for the following Bosch accelerometers:
235           BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
236           BMI055.
237
238           Note that some of these are combo modules:
239             - BMC150/BMC156: accelerometer and magnetometer
240             - BMI055: accelerometer and gyroscope
241
242           This driver is only implementing accelerometer part, which has
243           its own address and register map.
244
245 config BMC150_ACCEL_I2C
246         tristate
247         select REGMAP_I2C
248
249 config BMC150_ACCEL_SPI
250         tristate
251         select REGMAP_SPI
252
253 config BMI088_ACCEL
254         tristate "Bosch BMI088 Accelerometer Driver"
255         depends on SPI
256         select IIO_BUFFER
257         select IIO_TRIGGERED_BUFFER
258         select REGMAP
259         select BMI088_ACCEL_SPI
260         help
261           Say yes here to build support for the Bosch BMI088 accelerometer.
262
263           This is a combo module with both accelerometer and gyroscope. This
264           driver only implements the accelerometer part, which has its own
265           address and register map. BMG160 provides the gyroscope driver.
266
267 config BMI088_ACCEL_SPI
268         tristate
269         select REGMAP_SPI
270
271 config DA280
272         tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
273         depends on I2C
274         help
275           Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
276           digital accelerometer.
277
278           To compile this driver as a module, choose M here: the
279           module will be called da280.
280
281 config DA311
282         tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
283         depends on I2C
284         help
285           Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
286           digital accelerometer.
287
288           To compile this driver as a module, choose M here: the
289           module will be called da311.
290
291 config DMARD06
292         tristate "Domintech DMARD06 Digital Accelerometer Driver"
293         depends on OF || COMPILE_TEST
294         depends on I2C
295         help
296           Say yes here to build support for the Domintech low-g tri-axial
297           digital accelerometers: DMARD05, DMARD06, DMARD07.
298
299           To compile this driver as a module, choose M here: the
300           module will be called dmard06.
301
302 config DMARD09
303         tristate "Domintech DMARD09 3-axis Accelerometer Driver"
304         depends on I2C
305         help
306           Say yes here to get support for the Domintech DMARD09 3-axis
307           accelerometer.
308
309           Choosing M will build the driver as a module. If so, the module
310           will be called dmard09.
311
312 config DMARD10
313         tristate "Domintech DMARD10 3-axis Accelerometer Driver"
314         depends on I2C
315         help
316           Say yes here to get support for the Domintech DMARD10 3-axis
317           accelerometer.
318
319           Choosing M will build the driver as a module. If so, the module
320           will be called dmard10.
321
322 config FXLS8962AF
323         tristate
324         depends on I2C || !I2C # cannot be built-in for modular I2C
325
326 config FXLS8962AF_I2C
327         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
328         depends on I2C
329         select FXLS8962AF
330         select REGMAP_I2C
331         help
332           Say yes here to build support for the NXP 3-axis automotive
333           accelerometer FXLS8962AF/FXLS8964AF with I2C support.
334
335           To compile this driver as a module, choose M here: the module
336           will be called fxls8962af_i2c.
337
338 config FXLS8962AF_SPI
339         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
340         depends on SPI
341         depends on I2C || !I2C
342         select FXLS8962AF
343         select REGMAP_SPI
344         help
345           Say yes here to build support for the NXP 3-axis automotive
346           accelerometer FXLS8962AF/FXLS8964AF with SPI support.
347
348           To compile this driver as a module, choose M here: the module
349           will be called fxls8962af_spi.
350
351 config HID_SENSOR_ACCEL_3D
352         depends on HID_SENSOR_HUB
353         select IIO_BUFFER
354         select HID_SENSOR_IIO_COMMON
355         select HID_SENSOR_IIO_TRIGGER
356         tristate "HID Accelerometers 3D"
357         help
358           Say yes here to build support for the HID SENSOR
359           accelerometers 3D.
360
361           To compile this driver as a module, choose M here: the
362           module will be called hid-sensor-accel-3d.
363
364 config IIO_CROS_EC_ACCEL_LEGACY
365         tristate "ChromeOS EC Legacy Accelerometer Sensor"
366         depends on IIO_CROS_EC_SENSORS_CORE
367         help
368           Say yes here to get support for accelerometers on Chromebook using
369           legacy EC firmware.
370           Sensor data is retrieved through IO memory.
371           Newer devices should use IIO_CROS_EC_SENSORS.
372
373 config IIO_ST_ACCEL_3AXIS
374         tristate "STMicroelectronics accelerometers 3-Axis Driver"
375         depends on (I2C || SPI_MASTER) && SYSFS
376         depends on !SENSORS_LIS3_I2C
377         depends on !SENSORS_LIS3_SPI
378         select IIO_ST_SENSORS_CORE
379         select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
380         help
381           Say yes here to build support for STMicroelectronics accelerometers:
382           LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
383           LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
384           LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
385
386           Also need to enable at least one of I2C and SPI interface drivers
387           below.
388
389 config IIO_ST_ACCEL_I2C_3AXIS
390         tristate "STMicroelectronics accelerometers 3-Axis I2C Interface"
391         depends on I2C && IIO_ST_ACCEL_3AXIS
392         default I2C && IIO_ST_ACCEL_3AXIS
393         select IIO_ST_SENSORS_I2C
394         help
395           Build support for STMicroelectronics accelerometers I2C interface.
396
397           To compile this driver as a module, choose M here. The module
398           will be called st_accel_i2c.
399
400 config IIO_ST_ACCEL_SPI_3AXIS
401         tristate "STMicroelectronics accelerometers 3-Axis SPI Interface"
402         depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS
403         default SPI_MASTER && IIO_ST_ACCEL_3AXIS
404         select IIO_ST_SENSORS_SPI
405         help
406           Build support for STMicroelectronics accelerometers SPI interface.
407
408           To compile this driver as a module, choose M here. The module
409           will be called st_accel_spi.
410
411 config KXSD9
412         tristate "Kionix KXSD9 Accelerometer Driver"
413         select IIO_BUFFER
414         select IIO_TRIGGERED_BUFFER
415         help
416           Say yes here to build support for the Kionix KXSD9 accelerometer.
417           It can be accessed using an (optional) SPI or I2C interface.
418
419           To compile this driver as a module, choose M here: the module
420           will be called kxsd9.
421
422 config KXSD9_SPI
423         tristate "Kionix KXSD9 SPI transport"
424         depends on KXSD9
425         depends on SPI
426         default KXSD9
427         select REGMAP_SPI
428         help
429           Say yes here to enable the Kionix KXSD9 accelerometer
430           SPI transport channel.
431
432 config KXSD9_I2C
433         tristate "Kionix KXSD9 I2C transport"
434         depends on KXSD9
435         depends on I2C
436         default KXSD9
437         select REGMAP_I2C
438         help
439           Say yes here to enable the Kionix KXSD9 accelerometer
440           I2C transport channel.
441
442 config KXCJK1013
443         tristate "Kionix 3-Axis Accelerometer Driver"
444         depends on I2C
445         select IIO_BUFFER
446         select IIO_TRIGGERED_BUFFER
447         help
448           Say Y here if you want to build a driver for the Kionix KXCJK-1013
449           triaxial acceleration sensor. This driver also supports KXCJ9-1008,
450           KXTJ2-1009 and KXTF9.
451
452           To compile this driver as a module, choose M here: the module will
453           be called kxcjk-1013.
454
455 config MC3230
456         tristate "mCube MC3230 Digital Accelerometer Driver"
457         depends on I2C
458         help
459           Say yes here to build support for the mCube MC3230 low-g tri-axial
460           digital accelerometer.
461
462           To compile this driver as a module, choose M here: the
463           module will be called mc3230.
464
465 config MMA7455
466         tristate
467         select IIO_BUFFER
468         select IIO_TRIGGERED_BUFFER
469
470 config MMA7455_I2C
471         tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
472         depends on I2C
473         select MMA7455
474         select REGMAP_I2C
475         help
476           Say yes here to build support for the Freescale MMA7455L and
477           MMA7456L 3-axis accelerometer.
478
479           To compile this driver as a module, choose M here: the module
480           will be called mma7455_i2c.
481
482 config MMA7455_SPI
483         tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
484         depends on SPI_MASTER
485         select MMA7455
486         select REGMAP_SPI
487         help
488           Say yes here to build support for the Freescale MMA7455L and
489           MMA7456L 3-axis accelerometer.
490
491           To compile this driver as a module, choose M here: the module
492           will be called mma7455_spi.
493
494 config MMA7660
495         tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
496         depends on I2C
497         help
498           Say yes here to get support for the Freescale MMA7660FC 3-Axis
499           accelerometer.
500
501           Choosing M will build the driver as a module. If so, the module
502           will be called mma7660.
503
504 config MMA8452
505         tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
506         depends on I2C
507         select IIO_BUFFER
508         select IIO_TRIGGERED_BUFFER
509         help
510           Say yes here to build support for the following Freescale / NXP 3-axis
511           accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
512           FXLS8471Q.
513
514           To compile this driver as a module, choose M here: the module
515           will be called mma8452.
516
517 config MMA9551_CORE
518         tristate
519
520 config MMA9551
521         tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
522         depends on I2C
523         select MMA9551_CORE
524
525         help
526           Say yes here to build support for the Freescale MMA9551L
527           Intelligent Motion-Sensing Platform Driver.
528
529           To compile this driver as a module, choose M here: the module
530           will be called mma9551.
531
532 config MMA9553
533         tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
534         depends on I2C
535         select MMA9551_CORE
536         help
537           Say yes here to build support for the Freescale MMA9553L
538           Intelligent Pedometer Platform Driver.
539
540           To compile this driver as a module, choose M here: the module
541           will be called mma9553.
542
543 config MXC4005
544         tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
545         depends on I2C
546         select IIO_BUFFER
547         select IIO_TRIGGERED_BUFFER
548         select REGMAP_I2C
549         help
550           Say yes here to build support for the Memsic MXC4005XC 3-axis
551           accelerometer.
552
553           To compile this driver as a module, choose M. The module will be
554           called mxc4005.
555
556 config MXC6255
557         tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
558         depends on I2C
559         select REGMAP_I2C
560         help
561           Say yes here to build support for the Memsic MXC6255 Orientation
562           Sensing Accelerometer Driver.
563
564           To compile this driver as a module, choose M here: the module will be
565           called mxc6255.
566
567 config SCA3000
568         select IIO_BUFFER
569         select IIO_KFIFO_BUF
570         depends on SPI
571         tristate "VTI SCA3000 series accelerometers"
572         help
573           Say Y here to build support for the VTI SCA3000 series of SPI
574           accelerometers. These devices use a hardware ring buffer.
575
576           To compile this driver as a module, say M here: the module will be
577           called sca3000.
578
579 config SCA3300
580         tristate "Murata SCA3300 3-Axis Accelerometer Driver"
581         depends on SPI
582         select CRC8
583         select IIO_BUFFER
584         select IIO_TRIGGERED_BUFFER
585         help
586           Say yes here to build support for Murata SCA3300 3-Axis
587           accelerometer.
588
589           To compile this driver as a module, choose M here: the module will be
590           called sca3300.
591
592 config STK8312
593         tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
594         depends on I2C
595         select IIO_BUFFER
596         select IIO_TRIGGERED_BUFFER
597         help
598           Say yes here to get support for the Sensortek STK8312 3-axis
599           accelerometer.
600
601           Choosing M will build the driver as a module. If so, the module
602           will be called stk8312.
603
604 config STK8BA50
605         tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
606         depends on I2C
607         select IIO_BUFFER
608         select IIO_TRIGGERED_BUFFER
609         help
610           Say yes here to get support for the Sensortek STK8BA50 3-axis
611           accelerometer.
612
613           Choosing M will build the driver as a module. If so, the module
614           will be called stk8ba50.
615
616 endmenu