]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - drivers/iio/adc/Kconfig
Merge tag 'iio-for-4.11b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
[mirror_ubuntu-bionic-kernel.git] / drivers / iio / adc / Kconfig
1 #
2 # ADC drivers
3 #
4 # When adding new entries keep the list in alphabetical order
5
6 menu "Analog to digital converters"
7
8 config AD_SIGMA_DELTA
9 tristate
10 select IIO_BUFFER
11 select IIO_TRIGGERED_BUFFER
12
13 config AD7266
14 tristate "Analog Devices AD7265/AD7266 ADC driver"
15 depends on SPI_MASTER
16 select IIO_BUFFER
17 select IIO_TRIGGER
18 select IIO_TRIGGERED_BUFFER
19 help
20 Say yes here to build support for Analog Devices AD7265 and AD7266
21 ADCs.
22
23 To compile this driver as a module, choose M here: the module will be
24 called ad7266.
25
26 config AD7291
27 tristate "Analog Devices AD7291 ADC driver"
28 depends on I2C
29 help
30 Say yes here to build support for Analog Devices AD7291
31 8 Channel ADC with temperature sensor.
32
33 To compile this driver as a module, choose M here: the
34 module will be called ad7291.
35
36 config AD7298
37 tristate "Analog Devices AD7298 ADC driver"
38 depends on SPI
39 select IIO_BUFFER
40 select IIO_TRIGGERED_BUFFER
41 help
42 Say yes here to build support for Analog Devices AD7298
43 8 Channel ADC with temperature sensor.
44
45 To compile this driver as a module, choose M here: the
46 module will be called ad7298.
47
48 config AD7476
49 tristate "Analog Devices AD7476 and similar 1-channel ADCs driver"
50 depends on SPI
51 select IIO_BUFFER
52 select IIO_TRIGGERED_BUFFER
53 help
54 Say yes here to build support for Analog Devices AD7273, AD7274, AD7276,
55 AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468,
56 AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC).
57
58 To compile this driver as a module, choose M here: the
59 module will be called ad7476.
60
61 config AD7766
62 tristate "Analog Devices AD7766/AD7767 ADC driver"
63 depends on SPI_MASTER
64 select IIO_BUFFER
65 select IIO_TRIGGERED_BUFFER
66 help
67 Say yes here to build support for Analog Devices AD7766, AD7766-1,
68 AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.
69
70 To compile this driver as a module, choose M here: the module will be
71 called ad7766.
72
73 config AD7791
74 tristate "Analog Devices AD7791 ADC driver"
75 depends on SPI
76 select AD_SIGMA_DELTA
77 help
78 Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
79 AD7790 and AD7791 SPI analog to digital converters (ADC).
80
81 To compile this driver as a module, choose M here: the module will be
82 called ad7791.
83
84 config AD7793
85 tristate "Analog Devices AD7793 and similar ADCs driver"
86 depends on SPI
87 select AD_SIGMA_DELTA
88 help
89 Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
90 AD7794 and AD7795 SPI analog to digital converters (ADC).
91
92 To compile this driver as a module, choose M here: the
93 module will be called AD7793.
94
95 config AD7887
96 tristate "Analog Devices AD7887 ADC driver"
97 depends on SPI
98 select IIO_BUFFER
99 select IIO_TRIGGERED_BUFFER
100 help
101 Say yes here to build support for Analog Devices
102 AD7887 SPI analog to digital converter (ADC).
103
104 To compile this driver as a module, choose M here: the
105 module will be called ad7887.
106
107 config AD7923
108 tristate "Analog Devices AD7923 and similar ADCs driver"
109 depends on SPI
110 select IIO_BUFFER
111 select IIO_TRIGGERED_BUFFER
112 help
113 Say yes here to build support for Analog Devices
114 AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
115
116 To compile this driver as a module, choose M here: the
117 module will be called ad7923.
118
119 config AD799X
120 tristate "Analog Devices AD799x ADC driver"
121 depends on I2C
122 select IIO_BUFFER
123 select IIO_TRIGGERED_BUFFER
124 help
125 Say yes here to build support for Analog Devices:
126 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
127 i2c analog to digital converters (ADC). Provides direct access
128 via sysfs.
129
130 To compile this driver as a module, choose M here: the module will be
131 called ad799x.
132
133 config AT91_ADC
134 tristate "Atmel AT91 ADC"
135 depends on ARCH_AT91
136 depends on INPUT
137 select IIO_BUFFER
138 select IIO_TRIGGERED_BUFFER
139 select SYSFS
140 help
141 Say yes here to build support for Atmel AT91 ADC.
142
143 To compile this driver as a module, choose M here: the module will be
144 called at91_adc.
145
146 config AT91_SAMA5D2_ADC
147 tristate "Atmel AT91 SAMA5D2 ADC"
148 depends on ARCH_AT91 || COMPILE_TEST
149 depends on HAS_IOMEM
150 help
151 Say yes here to build support for Atmel SAMA5D2 ADC which is
152 available on SAMA5D2 SoC family.
153
154 To compile this driver as a module, choose M here: the module will be
155 called at91-sama5d2_adc.
156
157 config AXP288_ADC
158 tristate "X-Powers AXP288 ADC driver"
159 depends on MFD_AXP20X
160 help
161 Say yes here to have support for X-Powers power management IC (PMIC) ADC
162 device. Depending on platform configuration, this general purpose ADC can
163 be used for sampling sensors such as thermal resistors.
164
165 To compile this driver as a module, choose M here: the module will be
166 called axp288_adc.
167
168 config BCM_IPROC_ADC
169 tristate "Broadcom IPROC ADC driver"
170 depends on ARCH_BCM_IPROC || COMPILE_TEST
171 depends on MFD_SYSCON
172 default ARCH_BCM_CYGNUS
173 help
174 Say Y here if you want to add support for the Broadcom static
175 ADC driver.
176
177 Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
178 channels. The driver allows the user to read voltage values.
179
180 config BERLIN2_ADC
181 tristate "Marvell Berlin2 ADC driver"
182 depends on ARCH_BERLIN
183 help
184 Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
185 temperature measurement.
186
187 config CC10001_ADC
188 tristate "Cosmic Circuits 10001 ADC driver"
189 depends on HAS_IOMEM && HAVE_CLK && REGULATOR
190 select IIO_BUFFER
191 select IIO_TRIGGERED_BUFFER
192 help
193 Say yes here to build support for Cosmic Circuits 10001 ADC.
194
195 This driver can also be built as a module. If so, the module will be
196 called cc10001_adc.
197
198 config DA9150_GPADC
199 tristate "Dialog DA9150 GPADC driver support"
200 depends on MFD_DA9150
201 help
202 Say yes here to build support for Dialog DA9150 GPADC.
203
204 This driver can also be built as a module. If chosen, the module name
205 will be da9150-gpadc.
206
207 To compile this driver as a module, choose M here: the module will be
208 called berlin2-adc.
209
210 config ENVELOPE_DETECTOR
211 tristate "Envelope detector using a DAC and a comparator"
212 depends on OF
213 help
214 Say yes here to build support for an envelope detector using a DAC
215 and a comparator.
216
217 To compile this driver as a module, choose M here: the module will be
218 called envelope-detector.
219
220 config EXYNOS_ADC
221 tristate "Exynos ADC driver support"
222 depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
223 depends on HAS_IOMEM
224 help
225 Core support for the ADC block found in the Samsung EXYNOS series
226 of SoCs for drivers such as the touchscreen and hwmon to use to share
227 this resource.
228
229 To compile this driver as a module, choose M here: the module will be
230 called exynos_adc.
231
232 config FSL_MX25_ADC
233 tristate "Freescale MX25 ADC driver"
234 depends on MFD_MX25_TSADC
235 help
236 Generic Conversion Queue driver used for general purpose ADC in the
237 MX25. This driver supports single measurements using the MX25 ADC.
238
239 config HI8435
240 tristate "Holt Integrated Circuits HI-8435 threshold detector"
241 select IIO_TRIGGERED_EVENT
242 depends on SPI
243 help
244 If you say yes here you get support for Holt Integrated Circuits
245 HI-8435 chip.
246
247 This driver can also be built as a module. If so, the module will be
248 called hi8435.
249
250 config HX711
251 tristate "AVIA HX711 ADC for weight cells"
252 depends on GPIOLIB
253 help
254 If you say yes here you get support for AVIA HX711 ADC which is used
255 for weigh cells
256
257 This driver uses two GPIOs, one acts as the clock and controls the
258 channel selection and gain, the other one is used for the measurement
259 data
260
261 Currently the raw value is read from the chip and delivered.
262 To get an actual weight one needs to subtract the
263 zero offset and multiply by a scale factor.
264 This should be done in userspace.
265
266 This driver can also be built as a module. If so, the module will be
267 called hx711.
268
269 config INA2XX_ADC
270 tristate "Texas Instruments INA2xx Power Monitors IIO driver"
271 depends on I2C && !SENSORS_INA2XX
272 select REGMAP_I2C
273 select IIO_BUFFER
274 select IIO_KFIFO_BUF
275 help
276 Say yes here to build support for TI INA2xx family of Power Monitors.
277 This driver is mutually exclusive with the HWMON version.
278
279 config IMX7D_ADC
280 tristate "IMX7D ADC driver"
281 depends on ARCH_MXC || COMPILE_TEST
282 depends on HAS_IOMEM
283 help
284 Say yes here to build support for IMX7D ADC.
285
286 This driver can also be built as a module. If so, the module will be
287 called imx7d_adc.
288
289 config LP8788_ADC
290 tristate "LP8788 ADC driver"
291 depends on MFD_LP8788
292 help
293 Say yes here to build support for TI LP8788 ADC.
294
295 To compile this driver as a module, choose M here: the module will be
296 called lp8788_adc.
297
298 config LPC18XX_ADC
299 tristate "NXP LPC18xx ADC driver"
300 depends on ARCH_LPC18XX || COMPILE_TEST
301 depends on OF && HAS_IOMEM
302 help
303 Say yes here to build support for NXP LPC18XX ADC.
304
305 To compile this driver as a module, choose M here: the module will be
306 called lpc18xx_adc.
307
308 config LTC2485
309 tristate "Linear Technology LTC2485 ADC driver"
310 depends on I2C
311 help
312 Say yes here to build support for Linear Technology LTC2485 ADC.
313
314 To compile this driver as a module, choose M here: the module will be
315 called ltc2485.
316
317 config MAX1027
318 tristate "Maxim max1027 ADC driver"
319 depends on SPI
320 select IIO_BUFFER
321 select IIO_TRIGGERED_BUFFER
322 help
323 Say yes here to build support for Maxim SPI ADC models
324 max1027, max1029 and max1031.
325
326 To compile this driver as a module, choose M here: the module will be
327 called max1027.
328
329 config MAX11100
330 tristate "Maxim max11100 ADC driver"
331 depends on SPI_MASTER
332 help
333 Say yes here to build support for Maxim max11100 SPI ADC
334
335 To compile this driver as a module, choose M here: the module will be
336 called max11100.
337
338 config MAX1363
339 tristate "Maxim max1363 ADC driver"
340 depends on I2C
341 select IIO_BUFFER
342 select IIO_TRIGGERED_BUFFER
343 help
344 Say yes here to build support for many Maxim i2c analog to digital
345 converters (ADC). (max1361, max1362, max1363, max1364, max1036,
346 max1037, max1038, max1039, max1136, max1136, max1137, max1138,
347 max1139, max1236, max1237, max11238, max1239, max11600, max11601,
348 max11602, max11603, max11604, max11605, max11606, max11607,
349 max11608, max11609, max11610, max11611, max11612, max11613,
350 max11614, max11615, max11616, max11617, max11644, max11645,
351 max11646, max11647) Provides direct access via sysfs and buffered
352 data via the iio dev interface.
353
354 To compile this driver as a module, choose M here: the module will be
355 called max1363.
356
357 config MCP320X
358 tristate "Microchip Technology MCP3x01/02/04/08"
359 depends on SPI
360 help
361 Say yes here to build support for Microchip Technology's
362 MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
363 MCP3208 or MCP3301 analog to digital converter.
364
365 This driver can also be built as a module. If so, the module will be
366 called mcp320x.
367
368 config MCP3422
369 tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
370 depends on I2C
371 help
372 Say yes here to build support for Microchip Technology's MCP3421
373 MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
374 analog to digital converters.
375
376 This driver can also be built as a module. If so, the module will be
377 called mcp3422.
378
379 config MEDIATEK_MT6577_AUXADC
380 tristate "MediaTek AUXADC driver"
381 depends on ARCH_MEDIATEK || COMPILE_TEST
382 depends on HAS_IOMEM
383 help
384 Say yes here to enable support for MediaTek mt65xx AUXADC.
385
386 The driver supports immediate mode operation to read from one of sixteen
387 channels (external or internal).
388
389 This driver can also be built as a module. If so, the module will be
390 called mt6577_auxadc.
391
392 config MEN_Z188_ADC
393 tristate "MEN 16z188 ADC IP Core support"
394 depends on MCB
395 help
396 Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
397 carrier.
398
399 This driver can also be built as a module. If so, the module will be
400 called men_z188_adc.
401
402 config MXS_LRADC
403 tristate "Freescale i.MX23/i.MX28 LRADC"
404 depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
405 depends on INPUT
406 select STMP_DEVICE
407 select IIO_BUFFER
408 select IIO_TRIGGERED_BUFFER
409 help
410 Say yes here to build support for i.MX23/i.MX28 LRADC convertor
411 built into these chips.
412
413 To compile this driver as a module, choose M here: the
414 module will be called mxs-lradc.
415
416 config NAU7802
417 tristate "Nuvoton NAU7802 ADC driver"
418 depends on I2C
419 help
420 Say yes here to build support for Nuvoton NAU7802 ADC.
421
422 To compile this driver as a module, choose M here: the
423 module will be called nau7802.
424
425 config PALMAS_GPADC
426 tristate "TI Palmas General Purpose ADC"
427 depends on MFD_PALMAS
428 help
429 Palmas series pmic chip by Texas Instruments (twl6035/6037)
430 is used in smartphones and tablets and supports a 16 channel
431 general purpose ADC.
432
433 config QCOM_SPMI_IADC
434 tristate "Qualcomm SPMI PMIC current ADC"
435 depends on SPMI
436 select REGMAP_SPMI
437 help
438 This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
439
440 The driver supports single mode operation to read from one of two
441 channels (external or internal). Hardware have additional
442 channels internally used for gain and offset calibration.
443
444 To compile this driver as a module, choose M here: the module will
445 be called qcom-spmi-iadc.
446
447 config QCOM_SPMI_VADC
448 tristate "Qualcomm SPMI PMIC voltage ADC"
449 depends on SPMI
450 select REGMAP_SPMI
451 help
452 This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
453
454 The driver supports multiple channels read. The VADC is a 15-bit
455 sigma-delta ADC. Some of the channels are internally used for
456 calibration.
457
458 To compile this driver as a module, choose M here: the module will
459 be called qcom-spmi-vadc.
460
461 config ROCKCHIP_SARADC
462 tristate "Rockchip SARADC driver"
463 depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
464 depends on RESET_CONTROLLER
465 help
466 Say yes here to build support for the SARADC found in SoCs from
467 Rockchip.
468
469 To compile this driver as a module, choose M here: the
470 module will be called rockchip_saradc.
471
472 config STM32_ADC_CORE
473 tristate "STMicroelectronics STM32 adc core"
474 depends on ARCH_STM32 || COMPILE_TEST
475 depends on OF
476 depends on REGULATOR
477 help
478 Select this option to enable the core driver for STMicroelectronics
479 STM32 analog-to-digital converter (ADC).
480
481 This driver can also be built as a module. If so, the module
482 will be called stm32-adc-core.
483
484 config STM32_ADC
485 tristate "STMicroelectronics STM32 adc"
486 depends on STM32_ADC_CORE
487 help
488 Say yes here to build support for STMicroelectronics stm32 Analog
489 to Digital Converter (ADC).
490
491 This driver can also be built as a module. If so, the module
492 will be called stm32-adc.
493
494 config STX104
495 tristate "Apex Embedded Systems STX104 driver"
496 depends on X86 && ISA_BUS_API
497 select GPIOLIB
498 help
499 Say yes here to build support for the Apex Embedded Systems STX104
500 integrated analog PC/104 card.
501
502 This driver supports the 16 channels of single-ended (8 channels of
503 differential) analog inputs, 2 channels of analog output, 4 digital
504 inputs, and 4 digital outputs provided by the STX104.
505
506 The base port addresses for the devices may be configured via the base
507 array module parameter.
508
509 config TI_ADC081C
510 tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
511 depends on I2C
512 select IIO_BUFFER
513 select IIO_TRIGGERED_BUFFER
514 help
515 If you say yes here you get support for Texas Instruments ADC081C,
516 ADC101C and ADC121C ADC chips.
517
518 This driver can also be built as a module. If so, the module will be
519 called ti-adc081c.
520
521 config TI_ADC0832
522 tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
523 depends on SPI
524 select IIO_BUFFER
525 select IIO_TRIGGERED_BUFFER
526 help
527 If you say yes here you get support for Texas Instruments ADC0831,
528 ADC0832, ADC0834, ADC0838 ADC chips.
529
530 This driver can also be built as a module. If so, the module will be
531 called ti-adc0832.
532
533 config TI_ADC12138
534 tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
535 depends on SPI
536 select IIO_BUFFER
537 select IIO_TRIGGERED_BUFFER
538 help
539 If you say yes here you get support for Texas Instruments ADC12130,
540 ADC12132 and ADC12138 chips.
541
542 This driver can also be built as a module. If so, the module will be
543 called ti-adc12138.
544
545 config TI_ADC128S052
546 tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
547 depends on SPI
548 help
549 If you say yes here you get support for Texas Instruments ADC128S052,
550 ADC122S021 and ADC124S021 chips.
551
552 This driver can also be built as a module. If so, the module will be
553 called ti-adc128s052.
554
555 config TI_ADC161S626
556 tristate "Texas Instruments ADC161S626 1-channel differential ADC"
557 depends on SPI
558 select IIO_BUFFER
559 select IIO_TRIGGERED_BUFFER
560 help
561 If you say yes here you get support for Texas Instruments ADC141S626,
562 and ADC161S626 chips.
563
564 This driver can also be built as a module. If so, the module will be
565 called ti-adc161s626.
566
567 config TI_ADS1015
568 tristate "Texas Instruments ADS1015 ADC"
569 depends on I2C && !SENSORS_ADS1015
570 select REGMAP_I2C
571 select IIO_BUFFER
572 select IIO_TRIGGERED_BUFFER
573 help
574 If you say yes here you get support for Texas Instruments ADS1015
575 ADC chip.
576
577 This driver can also be built as a module. If so, the module will be
578 called ti-ads1015.
579
580 config TI_ADS7950
581 tristate "Texas Instruments ADS7950 ADC driver"
582 depends on SPI
583 select IIO_BUFFER
584 select IIO_TRIGGERED_BUFFER
585 help
586 Say yes here to build support for Texas Instruments ADS7950, ADS7951,
587 ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
588 ADS7960, ADS7961.
589
590 To compile this driver as a module, choose M here: the
591 module will be called ti-ads7950.
592
593 config TI_ADS8688
594 tristate "Texas Instruments ADS8688"
595 depends on SPI && OF
596 help
597 If you say yes here you get support for Texas Instruments ADS8684 and
598 and ADS8688 ADC chips
599
600 This driver can also be built as a module. If so, the module will be
601 called ti-ads8688.
602
603 config TI_AM335X_ADC
604 tristate "TI's AM335X ADC driver"
605 depends on MFD_TI_AM335X_TSCADC && HAS_DMA
606 select IIO_BUFFER
607 select IIO_KFIFO_BUF
608 help
609 Say yes here to build support for Texas Instruments ADC
610 driver which is also a MFD client.
611
612 To compile this driver as a module, choose M here: the module will be
613 called ti_am335x_adc.
614
615 config TI_TLC4541
616 tristate "Texas Instruments TLC4541 ADC driver"
617 depends on SPI
618 select IIO_BUFFER
619 select IIO_TRIGGERED_BUFFER
620 help
621 Say yes here to build support for Texas Instruments TLC4541 / TLC3541
622 ADC chips.
623
624 This driver can also be built as a module. If so, the module will be
625 called ti-tlc4541.
626
627 config TWL4030_MADC
628 tristate "TWL4030 MADC (Monitoring A/D Converter)"
629 depends on TWL4030_CORE
630 help
631 This driver provides support for Triton TWL4030-MADC. The
632 driver supports both RT and SW conversion methods.
633
634 This driver can also be built as a module. If so, the module will be
635 called twl4030-madc.
636
637 config TWL6030_GPADC
638 tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
639 depends on TWL4030_CORE
640 default n
641 help
642 Say yes here if you want support for the TWL6030/TWL6032 General
643 Purpose A/D Converter. This will add support for battery type
644 detection, battery voltage and temperature measurement, die
645 temperature measurement, system supply voltage, audio accessory,
646 USB ID detection.
647
648 This driver can also be built as a module. If so, the module will be
649 called twl6030-gpadc.
650
651 config VF610_ADC
652 tristate "Freescale vf610 ADC driver"
653 depends on OF
654 depends on HAS_IOMEM
655 select IIO_BUFFER
656 select IIO_TRIGGERED_BUFFER
657 help
658 Say yes here to support for Vybrid board analog-to-digital converter.
659 Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
660
661 This driver can also be built as a module. If so, the module will be
662 called vf610_adc.
663
664 config VIPERBOARD_ADC
665 tristate "Viperboard ADC support"
666 depends on MFD_VIPERBOARD && USB
667 help
668 Say yes here to access the ADC part of the Nano River
669 Technologies Viperboard.
670
671 To compile this driver as a module, choose M here: the module will be
672 called viperboard_adc.
673
674 config XILINX_XADC
675 tristate "Xilinx XADC driver"
676 depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
677 depends on HAS_IOMEM
678 select IIO_BUFFER
679 select IIO_TRIGGERED_BUFFER
680 help
681 Say yes here to have support for the Xilinx XADC. The driver does support
682 both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
683
684 The driver can also be build as a module. If so, the module will be called
685 xilinx-xadc.
686
687 endmenu