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