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