arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.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 IIO_BUFFER
208         select IIO_TRIGGERED_BUFFER
209         select BMA400_I2C if I2C
210         select BMA400_SPI if SPI
211         help
212           Say Y here if you want to build a driver for the Bosch BMA400
213           triaxial acceleration sensor.
214
215           To compile this driver as a module, choose M here: the
216           module will be called bma400_core and you will also get
217           bma400_i2c if I2C is enabled and bma400_spi if SPI is
218           enabled.
219
220 config BMA400_I2C
221         tristate
222         depends on BMA400
223
224 config BMA400_SPI
225         tristate
226         depends on BMA400
227
228 config BMC150_ACCEL
229         tristate "Bosch BMC150 Accelerometer Driver"
230         select IIO_BUFFER
231         select IIO_TRIGGERED_BUFFER
232         select REGMAP
233         select BMC150_ACCEL_I2C if I2C
234         select BMC150_ACCEL_SPI if SPI
235         help
236           Say yes here to build support for the following Bosch accelerometers:
237           BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
238           BMI055.
239
240           Note that some of these are combo modules:
241             - BMC150/BMC156: accelerometer and magnetometer
242             - BMI055: accelerometer and gyroscope
243
244           This driver is only implementing accelerometer part, which has
245           its own address and register map.
246
247 config BMC150_ACCEL_I2C
248         tristate
249         select REGMAP_I2C
250
251 config BMC150_ACCEL_SPI
252         tristate
253         select REGMAP_SPI
254
255 config BMI088_ACCEL
256         tristate "Bosch BMI088 Accelerometer Driver"
257         depends on SPI
258         select IIO_BUFFER
259         select IIO_TRIGGERED_BUFFER
260         select REGMAP
261         select BMI088_ACCEL_SPI
262         help
263           Say yes here to build support for the Bosch BMI088 accelerometer.
264
265           This is a combo module with both accelerometer and gyroscope. This
266           driver only implements the accelerometer part, which has its own
267           address and register map. BMG160 provides the gyroscope driver.
268
269 config BMI088_ACCEL_SPI
270         tristate
271         select REGMAP_SPI
272
273 config DA280
274         tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
275         depends on I2C
276         help
277           Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
278           digital accelerometer.
279
280           To compile this driver as a module, choose M here: the
281           module will be called da280.
282
283 config DA311
284         tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
285         depends on I2C
286         help
287           Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
288           digital accelerometer.
289
290           To compile this driver as a module, choose M here: the
291           module will be called da311.
292
293 config DMARD06
294         tristate "Domintech DMARD06 Digital Accelerometer Driver"
295         depends on I2C
296         help
297           Say yes here to build support for the Domintech low-g tri-axial
298           digital accelerometers: DMARD05, DMARD06, DMARD07.
299
300           To compile this driver as a module, choose M here: the
301           module will be called dmard06.
302
303 config DMARD09
304         tristate "Domintech DMARD09 3-axis Accelerometer Driver"
305         depends on I2C
306         help
307           Say yes here to get support for the Domintech DMARD09 3-axis
308           accelerometer.
309
310           Choosing M will build the driver as a module. If so, the module
311           will be called dmard09.
312
313 config DMARD10
314         tristate "Domintech DMARD10 3-axis Accelerometer Driver"
315         depends on I2C
316         help
317           Say yes here to get support for the Domintech DMARD10 3-axis
318           accelerometer.
319
320           Choosing M will build the driver as a module. If so, the module
321           will be called dmard10.
322
323 config FXLS8962AF
324         tristate
325         depends on I2C || !I2C # cannot be built-in for modular I2C
326
327 config FXLS8962AF_I2C
328         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
329         depends on I2C
330         select FXLS8962AF
331         select REGMAP_I2C
332         help
333           Say yes here to build support for the NXP 3-axis automotive
334           accelerometer FXLS8962AF/FXLS8964AF with I2C support.
335
336           To compile this driver as a module, choose M here: the module
337           will be called fxls8962af_i2c.
338
339 config FXLS8962AF_SPI
340         tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
341         depends on SPI
342         depends on I2C || !I2C
343         select FXLS8962AF
344         select REGMAP_SPI
345         help
346           Say yes here to build support for the NXP 3-axis automotive
347           accelerometer FXLS8962AF/FXLS8964AF with SPI support.
348
349           To compile this driver as a module, choose M here: the module
350           will be called fxls8962af_spi.
351
352 config HID_SENSOR_ACCEL_3D
353         depends on HID_SENSOR_HUB
354         select IIO_BUFFER
355         select HID_SENSOR_IIO_COMMON
356         select HID_SENSOR_IIO_TRIGGER
357         tristate "HID Accelerometers 3D"
358         help
359           Say yes here to build support for the HID SENSOR
360           accelerometers 3D.
361
362           To compile this driver as a module, choose M here: the
363           module will be called hid-sensor-accel-3d.
364
365 config IIO_CROS_EC_ACCEL_LEGACY
366         tristate "ChromeOS EC Legacy Accelerometer Sensor"
367         depends on IIO_CROS_EC_SENSORS_CORE
368         help
369           Say yes here to get support for accelerometers on Chromebook using
370           legacy EC firmware.
371           Sensor data is retrieved through IO memory.
372           Newer devices should use IIO_CROS_EC_SENSORS.
373
374 config IIO_ST_ACCEL_3AXIS
375         tristate "STMicroelectronics accelerometers 3-Axis Driver"
376         depends on (I2C || SPI_MASTER) && SYSFS
377         depends on !SENSORS_LIS3_I2C
378         depends on !SENSORS_LIS3_SPI
379         select IIO_ST_SENSORS_CORE
380         select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
381         help
382           Say yes here to build support for STMicroelectronics accelerometers:
383           LSM303C, LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
384           LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
385           LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
386
387           Also need to enable at least one of I2C and SPI interface drivers
388           below.
389
390 config IIO_ST_ACCEL_I2C_3AXIS
391         tristate "STMicroelectronics accelerometers 3-Axis I2C Interface"
392         depends on I2C && IIO_ST_ACCEL_3AXIS
393         default I2C && IIO_ST_ACCEL_3AXIS
394         select IIO_ST_SENSORS_I2C
395         help
396           Build support for STMicroelectronics accelerometers I2C interface.
397
398           To compile this driver as a module, choose M here. The module
399           will be called st_accel_i2c.
400
401 config IIO_ST_ACCEL_SPI_3AXIS
402         tristate "STMicroelectronics accelerometers 3-Axis SPI Interface"
403         depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS
404         default SPI_MASTER && IIO_ST_ACCEL_3AXIS
405         select IIO_ST_SENSORS_SPI
406         help
407           Build support for STMicroelectronics accelerometers SPI interface.
408
409           To compile this driver as a module, choose M here. The module
410           will be called st_accel_spi.
411
412 config IIO_KX022A
413         tristate
414
415 config IIO_KX022A_SPI
416         tristate "Kionix KX022A tri-axis digital accelerometer SPI interface"
417         depends on SPI
418         select IIO_KX022A
419         select REGMAP_SPI
420         help
421           Enable support for the Kionix digital tri-axis accelerometers
422           connected to SPI interface. Supported devices are:
423             KX022A, KX132-1211, KX132ACR-LBZ
424
425 config IIO_KX022A_I2C
426         tristate "Kionix KX022A tri-axis digital accelerometer I2C interface"
427         depends on I2C
428         select IIO_KX022A
429         select REGMAP_I2C
430         help
431           Enable support for the Kionix digital tri-axis accelerometers
432           connected to I2C interface. Supported devices are:
433             KX022A, KX132-1211, KX132ACR-LBZ
434
435 config KXSD9
436         tristate "Kionix KXSD9 Accelerometer Driver"
437         select IIO_BUFFER
438         select IIO_TRIGGERED_BUFFER
439         help
440           Say yes here to build support for the Kionix KXSD9 accelerometer.
441           It can be accessed using an (optional) SPI or I2C interface.
442
443           To compile this driver as a module, choose M here: the module
444           will be called kxsd9.
445
446 config KXSD9_SPI
447         tristate "Kionix KXSD9 SPI transport"
448         depends on KXSD9
449         depends on SPI
450         default KXSD9
451         select REGMAP_SPI
452         help
453           Say yes here to enable the Kionix KXSD9 accelerometer
454           SPI transport channel.
455
456 config KXSD9_I2C
457         tristate "Kionix KXSD9 I2C transport"
458         depends on KXSD9
459         depends on I2C
460         default KXSD9
461         select REGMAP_I2C
462         help
463           Say yes here to enable the Kionix KXSD9 accelerometer
464           I2C transport channel.
465
466 config KXCJK1013
467         tristate "Kionix 3-Axis Accelerometer Driver"
468         depends on I2C
469         select IIO_BUFFER
470         select IIO_TRIGGERED_BUFFER
471         help
472           Say Y here if you want to build a driver for the Kionix KXCJK-1013
473           triaxial acceleration sensor. This driver also supports KXCJ9-1008,
474           KXTJ2-1009 and KXTF9.
475
476           To compile this driver as a module, choose M here: the module will
477           be called kxcjk-1013.
478
479 config MC3230
480         tristate "mCube MC3230 Digital Accelerometer Driver"
481         depends on I2C
482         help
483           Say yes here to build support for the mCube MC3230 low-g tri-axial
484           digital accelerometer.
485
486           To compile this driver as a module, choose M here: the
487           module will be called mc3230.
488
489 config MMA7455
490         tristate
491         select IIO_BUFFER
492         select IIO_TRIGGERED_BUFFER
493
494 config MMA7455_I2C
495         tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
496         depends on I2C
497         select MMA7455
498         select REGMAP_I2C
499         help
500           Say yes here to build support for the Freescale MMA7455L and
501           MMA7456L 3-axis accelerometer.
502
503           To compile this driver as a module, choose M here: the module
504           will be called mma7455_i2c.
505
506 config MMA7455_SPI
507         tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
508         depends on SPI_MASTER
509         select MMA7455
510         select REGMAP_SPI
511         help
512           Say yes here to build support for the Freescale MMA7455L and
513           MMA7456L 3-axis accelerometer.
514
515           To compile this driver as a module, choose M here: the module
516           will be called mma7455_spi.
517
518 config MMA7660
519         tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
520         depends on I2C
521         help
522           Say yes here to get support for the Freescale MMA7660FC 3-Axis
523           accelerometer.
524
525           Choosing M will build the driver as a module. If so, the module
526           will be called mma7660.
527
528 config MMA8452
529         tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
530         depends on I2C
531         select IIO_BUFFER
532         select IIO_TRIGGERED_BUFFER
533         help
534           Say yes here to build support for the following Freescale / NXP 3-axis
535           accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
536           FXLS8471Q.
537
538           To compile this driver as a module, choose M here: the module
539           will be called mma8452.
540
541 config MMA9551_CORE
542         tristate
543
544 config MMA9551
545         tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
546         depends on I2C
547         select MMA9551_CORE
548
549         help
550           Say yes here to build support for the Freescale MMA9551L
551           Intelligent Motion-Sensing Platform Driver.
552
553           To compile this driver as a module, choose M here: the module
554           will be called mma9551.
555
556 config MMA9553
557         tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
558         depends on I2C
559         select MMA9551_CORE
560         help
561           Say yes here to build support for the Freescale MMA9553L
562           Intelligent Pedometer Platform Driver.
563
564           To compile this driver as a module, choose M here: the module
565           will be called mma9553.
566
567 config MSA311
568         tristate "MEMSensing Digital 3-Axis Accelerometer Driver"
569         depends on I2C
570         select IIO_BUFFER
571         select IIO_TRIGGERED_BUFFER
572         select REGMAP_I2C
573         help
574           Say yes here to build support for the MEMSensing MSA311
575           accelerometer driver.
576
577           To compile this driver as a module, choose M here: the module will be
578           called msa311.
579
580 config MXC4005
581         tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
582         depends on I2C
583         select IIO_BUFFER
584         select IIO_TRIGGERED_BUFFER
585         select REGMAP_I2C
586         help
587           Say yes here to build support for the Memsic MXC4005XC 3-axis
588           accelerometer.
589
590           To compile this driver as a module, choose M. The module will be
591           called mxc4005.
592
593 config MXC6255
594         tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
595         depends on I2C
596         select REGMAP_I2C
597         help
598           Say yes here to build support for the Memsic MXC6255 Orientation
599           Sensing Accelerometer Driver.
600
601           To compile this driver as a module, choose M here: the module will be
602           called mxc6255.
603
604 config SCA3000
605         select IIO_BUFFER
606         select IIO_KFIFO_BUF
607         depends on SPI
608         tristate "VTI SCA3000 series accelerometers"
609         help
610           Say Y here to build support for the VTI SCA3000 series of SPI
611           accelerometers. These devices use a hardware ring buffer.
612
613           To compile this driver as a module, say M here: the module will be
614           called sca3000.
615
616 config SCA3300
617         tristate "Murata SCA3300 3-Axis Accelerometer Driver"
618         depends on SPI
619         select CRC8
620         select IIO_BUFFER
621         select IIO_TRIGGERED_BUFFER
622         help
623           Say yes here to build support for Murata SCA3300 3-Axis
624           accelerometer.
625
626           To compile this driver as a module, choose M here: the module will be
627           called sca3300.
628
629 config STK8312
630         tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
631         depends on I2C
632         select IIO_BUFFER
633         select IIO_TRIGGERED_BUFFER
634         help
635           Say yes here to get support for the Sensortek STK8312 3-axis
636           accelerometer.
637
638           Choosing M will build the driver as a module. If so, the module
639           will be called stk8312.
640
641 config STK8BA50
642         tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
643         depends on I2C
644         select IIO_BUFFER
645         select IIO_TRIGGERED_BUFFER
646         help
647           Say yes here to get support for the Sensortek STK8BA50 3-axis
648           accelerometer.
649
650           Choosing M will build the driver as a module. If so, the module
651           will be called stk8ba50.
652
653 endmenu