GNU Linux-libre 5.10.153-gnu1
[releases.git] / drivers / iio / adc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # ADC drivers
4 #
5 # When adding new entries keep the list in alphabetical order
6
7 menu "Analog to digital converters"
8
9 config AB8500_GPADC
10         bool "ST-Ericsson AB8500 GPADC driver"
11         depends on AB8500_CORE && REGULATOR_AB8500
12         default y
13         help
14           AB8500 Analog Baseband, mixed signal integrated circuit GPADC
15           (General Purpose Analog to Digital Converter) driver used to monitor
16           internal voltages, convert accessory and battery, AC (charger, mains)
17           and USB voltages integral to the U8500 platform.
18
19 config AD_SIGMA_DELTA
20         tristate
21         select IIO_BUFFER
22         select IIO_TRIGGERED_BUFFER
23
24 config AD7091R5
25         tristate "Analog Devices AD7091R5 ADC Driver"
26         depends on I2C
27         select REGMAP_I2C
28         help
29           Say yes here to build support for Analog Devices AD7091R-5 ADC.
30
31 config AD7124
32         tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver"
33         depends on SPI_MASTER
34         select AD_SIGMA_DELTA
35         help
36           Say yes here to build support for Analog Devices AD7124-4 and AD7124-8
37           SPI analog to digital converters (ADC).
38
39           To compile this driver as a module, choose M here: the module will be
40           called ad7124.
41
42 config AD7192
43         tristate "Analog Devices AD7190 AD7192 AD7193 AD7195 ADC driver"
44         depends on SPI
45         select AD_SIGMA_DELTA
46         help
47           Say yes here to build support for Analog Devices AD7190,
48           AD7192, AD7193 or AD7195 SPI analog to digital converters (ADC).
49           If unsure, say N (but it's safe to say "Y").
50
51           To compile this driver as a module, choose M here: the
52           module will be called ad7192.
53
54 config AD7266
55         tristate "Analog Devices AD7265/AD7266 ADC driver"
56         depends on SPI_MASTER
57         select IIO_BUFFER
58         select IIO_TRIGGER
59         select IIO_TRIGGERED_BUFFER
60         help
61           Say yes here to build support for Analog Devices AD7265 and AD7266
62           ADCs.
63
64           To compile this driver as a module, choose M here: the module will be
65           called ad7266.
66
67 config AD7291
68         tristate "Analog Devices AD7291 ADC driver"
69         depends on I2C
70         help
71           Say yes here to build support for Analog Devices AD7291
72           8 Channel ADC with temperature sensor.
73
74           To compile this driver as a module, choose M here: the
75           module will be called ad7291.
76
77 config AD7292
78         tristate "Analog Devices AD7292 ADC driver"
79         depends on SPI
80         help
81           Say yes here to build support for Analog Devices AD7292
82           8 Channel ADC with temperature sensor.
83
84           To compile this driver as a module, choose M here: the
85           module will be called ad7292.
86
87 config AD7298
88         tristate "Analog Devices AD7298 ADC driver"
89         depends on SPI
90         select IIO_BUFFER
91         select IIO_TRIGGERED_BUFFER
92         help
93           Say yes here to build support for Analog Devices AD7298
94           8 Channel ADC with temperature sensor.
95
96           To compile this driver as a module, choose M here: the
97           module will be called ad7298.
98
99 config AD7476
100         tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD an TI"
101         depends on SPI
102         select IIO_BUFFER
103         select IIO_TRIGGERED_BUFFER
104         help
105           Say yes here to build support for the following SPI analog to
106           digital converters (ADCs):
107           Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475,
108           AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910,
109           AD7920.
110           Texas Instruments: ADS7866, ADS7867, ADS7868.
111
112           To compile this driver as a module, choose M here: the
113           module will be called ad7476.
114
115 config AD7606
116         tristate
117         select IIO_BUFFER
118         select IIO_TRIGGERED_BUFFER
119
120 config AD7606_IFACE_PARALLEL
121         tristate "Analog Devices AD7606 ADC driver with parallel interface support"
122         depends on HAS_IOMEM
123         select AD7606
124         help
125           Say yes here to build parallel interface support for Analog Devices:
126           ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
127
128           To compile this driver as a module, choose M here: the
129           module will be called ad7606_parallel.
130
131 config AD7606_IFACE_SPI
132         tristate "Analog Devices AD7606 ADC driver with spi interface support"
133         depends on SPI
134         select AD7606
135         help
136           Say yes here to build spi interface support for Analog Devices:
137           ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
138
139           To compile this driver as a module, choose M here: the
140           module will be called ad7606_spi.
141
142 config AD7766
143         tristate "Analog Devices AD7766/AD7767 ADC driver"
144         depends on SPI_MASTER
145         select IIO_BUFFER
146         select IIO_TRIGGERED_BUFFER
147         help
148           Say yes here to build support for Analog Devices AD7766, AD7766-1,
149           AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.
150
151           To compile this driver as a module, choose M here: the module will be
152           called ad7766.
153
154 config AD7768_1
155         tristate "Analog Devices AD7768-1 ADC driver"
156         depends on SPI
157         select IIO_BUFFER
158         select IIO_TRIGGER
159         select IIO_TRIGGERED_BUFFER
160         help
161           Say yes here to build support for Analog Devices AD7768-1 SPI
162           simultaneously sampling sigma-delta analog to digital converter (ADC).
163
164           To compile this driver as a module, choose M here: the module will be
165           called ad7768-1.
166
167 config AD7780
168         tristate "Analog Devices AD7780 and similar ADCs driver"
169         depends on SPI
170         depends on GPIOLIB || COMPILE_TEST
171         select AD_SIGMA_DELTA
172         help
173           Say yes here to build support for Analog Devices AD7170, AD7171,
174           AD7780 and AD7781 SPI analog to digital converters (ADC).
175
176           To compile this driver as a module, choose M here: the
177           module will be called ad7780.
178
179 config AD7791
180         tristate "Analog Devices AD7791 ADC driver"
181         depends on SPI
182         select AD_SIGMA_DELTA
183         help
184           Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
185           AD7790 and AD7791 SPI analog to digital converters (ADC).
186
187           To compile this driver as a module, choose M here: the module will be
188           called ad7791.
189
190 config AD7793
191         tristate "Analog Devices AD7793 and similar ADCs driver"
192         depends on SPI
193         select AD_SIGMA_DELTA
194         help
195           Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
196           AD7794 and AD7795 SPI analog to digital converters (ADC).
197
198           To compile this driver as a module, choose M here: the
199           module will be called AD7793.
200
201 config AD7887
202         tristate "Analog Devices AD7887 ADC driver"
203         depends on SPI
204         select IIO_BUFFER
205         select IIO_TRIGGERED_BUFFER
206         help
207           Say yes here to build support for Analog Devices
208           AD7887 SPI analog to digital converter (ADC).
209
210           To compile this driver as a module, choose M here: the
211           module will be called ad7887.
212
213 config AD7923
214         tristate "Analog Devices AD7923 and similar ADCs driver"
215         depends on SPI
216         select IIO_BUFFER
217         select IIO_TRIGGERED_BUFFER
218         help
219           Say yes here to build support for Analog Devices
220           AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
221
222           To compile this driver as a module, choose M here: the
223           module will be called ad7923.
224
225 config AD7949
226         tristate "Analog Devices AD7949 and similar ADCs driver"
227         depends on SPI
228         help
229           Say yes here to build support for Analog Devices
230           AD7949, AD7682, AD7689 8 Channel ADCs.
231
232           To compile this driver as a module, choose M here: the
233           module will be called ad7949.
234
235 config AD799X
236         tristate "Analog Devices AD799x ADC driver"
237         depends on I2C
238         select IIO_BUFFER
239         select IIO_TRIGGERED_BUFFER
240         help
241           Say yes here to build support for Analog Devices:
242           ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
243           i2c analog to digital converters (ADC). Provides direct access
244           via sysfs.
245
246           To compile this driver as a module, choose M here: the module will be
247           called ad799x.
248
249 config AD9467
250         tristate "Analog Devices AD9467 High Speed ADC driver"
251         depends on SPI
252         depends on ADI_AXI_ADC
253         help
254           Say yes here to build support for Analog Devices:
255           * AD9467 16-Bit, 200 MSPS/250 MSPS Analog-to-Digital Converter
256
257           The driver requires the assistance of the AXI ADC IP core to operate,
258           since SPI is used for configuration only, while data has to be
259           streamed into memory via DMA.
260
261           To compile this driver as a module, choose M here: the module will be
262           called ad9467.
263
264 config ADI_AXI_ADC
265         tristate "Analog Devices Generic AXI ADC IP core driver"
266         select IIO_BUFFER
267         select IIO_BUFFER_HW_CONSUMER
268         select IIO_BUFFER_DMAENGINE
269         depends on HAS_IOMEM
270         depends on OF
271         help
272           Say yes here to build support for Analog Devices Generic
273           AXI ADC IP core. The IP core is used for interfacing with
274           analog-to-digital (ADC) converters that require either a high-speed
275           serial interface (JESD204B/C) or a source synchronous parallel
276           interface (LVDS/CMOS).
277           Typically (for such devices) SPI will be used for configuration only,
278           while this IP core handles the streaming of data into memory via DMA.
279
280           Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip
281           If unsure, say N (but it's safe to say "Y").
282
283           To compile this driver as a module, choose M here: the
284           module will be called adi-axi-adc.
285
286 config ASPEED_ADC
287         tristate "Aspeed ADC"
288         depends on ARCH_ASPEED || COMPILE_TEST
289         depends on COMMON_CLK
290         help
291           If you say yes here you get support for the ADC included in Aspeed
292           BMC SoCs.
293
294           To compile this driver as a module, choose M here: the module will be
295           called aspeed_adc.
296
297 config AT91_ADC
298         tristate "Atmel AT91 ADC"
299         depends on ARCH_AT91 || COMPILE_TEST
300         depends on INPUT && SYSFS && OF
301         select IIO_BUFFER
302         select IIO_TRIGGERED_BUFFER
303         help
304           Say yes here to build support for Atmel AT91 ADC.
305
306           To compile this driver as a module, choose M here: the module will be
307           called at91_adc.
308
309 config AT91_SAMA5D2_ADC
310         tristate "Atmel AT91 SAMA5D2 ADC"
311         depends on ARCH_AT91 || COMPILE_TEST
312         depends on HAS_IOMEM
313         select IIO_BUFFER
314         select IIO_TRIGGERED_BUFFER
315         help
316           Say yes here to build support for Atmel SAMA5D2 ADC which is
317           available on SAMA5D2 SoC family.
318
319           To compile this driver as a module, choose M here: the module will be
320           called at91-sama5d2_adc.
321
322 config AXP20X_ADC
323         tristate "X-Powers AXP20X and AXP22X ADC driver"
324         depends on MFD_AXP20X
325         help
326           Say yes here to have support for X-Powers power management IC (PMIC)
327           AXP20X and AXP22X ADC devices.
328
329           To compile this driver as a module, choose M here: the module will be
330           called axp20x_adc.
331
332 config AXP288_ADC
333         tristate "X-Powers AXP288 ADC driver"
334         depends on MFD_AXP20X
335         help
336           Say yes here to have support for X-Powers power management IC (PMIC) ADC
337           device. Depending on platform configuration, this general purpose ADC can
338           be used for sampling sensors such as thermal resistors.
339
340           To compile this driver as a module, choose M here: the module will be
341           called axp288_adc.
342
343 config BCM_IPROC_ADC
344         tristate "Broadcom IPROC ADC driver"
345         depends on (ARCH_BCM_IPROC && OF) || COMPILE_TEST
346         depends on MFD_SYSCON
347         default ARCH_BCM_CYGNUS
348         help
349           Say Y here if you want to add support for the Broadcom static
350           ADC driver.
351
352           Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
353           channels. The driver allows the user to read voltage values.
354
355 config BERLIN2_ADC
356         tristate "Marvell Berlin2 ADC driver"
357         depends on ARCH_BERLIN
358         help
359           Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
360           temperature measurement.
361
362 config CC10001_ADC
363         tristate "Cosmic Circuits 10001 ADC driver"
364         depends on HAS_IOMEM && HAVE_CLK && REGULATOR
365         select IIO_BUFFER
366         select IIO_TRIGGERED_BUFFER
367         help
368           Say yes here to build support for Cosmic Circuits 10001 ADC.
369
370           This driver can also be built as a module. If so, the module will be
371           called cc10001_adc.
372
373 config CPCAP_ADC
374         tristate "Motorola CPCAP PMIC ADC driver"
375         depends on MFD_CPCAP
376         select IIO_BUFFER
377         select IIO_TRIGGERED_BUFFER
378         help
379           Say yes here to build support for Motorola CPCAP PMIC ADC.
380
381           This driver can also be built as a module. If so, the module will be
382           called cpcap-adc.
383
384 config DA9150_GPADC
385         tristate "Dialog DA9150 GPADC driver support"
386         depends on MFD_DA9150
387         help
388           Say yes here to build support for Dialog DA9150 GPADC.
389
390           This driver can also be built as a module. If chosen, the module name
391           will be da9150-gpadc.
392
393           To compile this driver as a module, choose M here: the module will be
394           called berlin2-adc.
395
396 config DLN2_ADC
397         tristate "Diolan DLN-2 ADC driver support"
398         depends on MFD_DLN2
399         select IIO_BUFFER
400         select IIO_TRIGGERED_BUFFER
401         help
402           Say yes here to build support for Diolan DLN-2 ADC.
403
404           This driver can also be built as a module. If so, the module will be
405           called adc_dln2.
406
407 config ENVELOPE_DETECTOR
408         tristate "Envelope detector using a DAC and a comparator"
409         depends on OF
410         help
411           Say yes here to build support for an envelope detector using a DAC
412           and a comparator.
413
414           To compile this driver as a module, choose M here: the module will be
415           called envelope-detector.
416
417 config EP93XX_ADC
418         tristate "Cirrus Logic EP93XX ADC driver"
419         depends on ARCH_EP93XX
420         help
421           Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
422           It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
423           case driver will reduce its CPU usage by 90% in some use cases.
424
425           To compile this driver as a module, choose M here: the module will be
426           called ep93xx_adc.
427
428 config EXYNOS_ADC
429         tristate "Exynos ADC driver support"
430         depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
431         depends on HAS_IOMEM
432         help
433           Core support for the ADC block found in the Samsung EXYNOS series
434           of SoCs for drivers such as the touchscreen and hwmon to use to share
435           this resource.
436
437           To compile this driver as a module, choose M here: the module will be
438           called exynos_adc.
439
440 config MXS_LRADC_ADC
441         tristate "Freescale i.MX23/i.MX28 LRADC ADC"
442         depends on MFD_MXS_LRADC
443         select IIO_BUFFER
444         select IIO_TRIGGERED_BUFFER
445         help
446           Say yes here to build support for the ADC functions of the
447           i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings,
448           battery voltage measurement, and die temperature measurement.
449
450           This driver can also be built as a module. If so, the module will be
451           called mxs-lradc-adc.
452
453 config FSL_MX25_ADC
454         tristate "Freescale MX25 ADC driver"
455         depends on MFD_MX25_TSADC
456         help
457           Generic Conversion Queue driver used for general purpose ADC in the
458           MX25. This driver supports single measurements using the MX25 ADC.
459
460 config HI8435
461         tristate "Holt Integrated Circuits HI-8435 threshold detector"
462         select IIO_TRIGGERED_EVENT
463         depends on SPI
464         help
465           If you say yes here you get support for Holt Integrated Circuits
466           HI-8435 chip.
467
468           This driver can also be built as a module. If so, the module will be
469           called hi8435.
470
471 config HX711
472         tristate "AVIA HX711 ADC for weight cells"
473         depends on GPIOLIB
474         select IIO_BUFFER
475         select IIO_TRIGGERED_BUFFER
476         help
477           If you say yes here you get support for AVIA HX711 ADC which is used
478           for weigh cells
479
480           This driver uses two GPIOs, one acts as the clock and controls the
481           channel selection and gain, the other one is used for the measurement
482           data
483
484           Currently the raw value is read from the chip and delivered.
485           To get an actual weight one needs to subtract the
486           zero offset and multiply by a scale factor.
487           This should be done in userspace.
488
489           This driver can also be built as a module. If so, the module will be
490           called hx711.
491
492 config INA2XX_ADC
493         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
494         depends on I2C && !SENSORS_INA2XX
495         select REGMAP_I2C
496         select IIO_BUFFER
497         select IIO_KFIFO_BUF
498         help
499           Say yes here to build support for TI INA2xx family of Power Monitors.
500           This driver is mutually exclusive with the HWMON version.
501
502 config INGENIC_ADC
503         tristate "Ingenic JZ47xx SoCs ADC driver"
504         depends on MIPS || COMPILE_TEST
505         select IIO_BUFFER
506         help
507           Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.
508
509           This driver can also be built as a module. If so, the module will be
510           called ingenic_adc.
511
512 config INTEL_MRFLD_ADC
513         tristate "Intel Merrifield Basin Cove ADC driver"
514         depends on INTEL_SOC_PMIC_MRFLD
515         help
516           Say yes here to have support for Basin Cove power management IC (PMIC) ADC
517           device. Depending on platform configuration, this general purpose ADC can
518           be used for sampling sensors such as thermal resistors.
519
520           To compile this driver as a module, choose M here: the module will be
521           called intel_mrfld_adc.
522
523 config IMX7D_ADC
524         tristate "Freescale IMX7D ADC driver"
525         depends on ARCH_MXC || COMPILE_TEST
526         depends on HAS_IOMEM
527         help
528           Say yes here to build support for IMX7D ADC.
529
530           This driver can also be built as a module. If so, the module will be
531           called imx7d_adc.
532
533 config LP8788_ADC
534         tristate "LP8788 ADC driver"
535         depends on MFD_LP8788
536         help
537           Say yes here to build support for TI LP8788 ADC.
538
539           To compile this driver as a module, choose M here: the module will be
540           called lp8788_adc.
541
542 config LPC18XX_ADC
543         tristate "NXP LPC18xx ADC driver"
544         depends on ARCH_LPC18XX || COMPILE_TEST
545         depends on OF && HAS_IOMEM
546         help
547           Say yes here to build support for NXP LPC18XX ADC.
548
549           To compile this driver as a module, choose M here: the module will be
550           called lpc18xx_adc.
551
552 config LPC32XX_ADC
553         tristate "NXP LPC32XX ADC"
554         depends on ARCH_LPC32XX || COMPILE_TEST
555         depends on HAS_IOMEM
556         help
557           Say yes here to build support for the integrated ADC inside the
558           LPC32XX SoC. Note that this feature uses the same hardware as the
559           touchscreen driver, so you should either select only one of the two
560           drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case,
561           activate only one via device tree selection.  Provides direct access
562           via sysfs.
563
564 config LTC2471
565         tristate "Linear Technology LTC2471 and LTC2473 ADC driver"
566         depends on I2C
567         help
568           Say yes here to build support for Linear Technology LTC2471 and
569           LTC2473 16-bit I2C ADC.
570
571           This driver can also be built as a module. If so, the module will
572           be called ltc2471.
573
574 config LTC2485
575         tristate "Linear Technology LTC2485 ADC driver"
576         depends on I2C
577         help
578           Say yes here to build support for Linear Technology LTC2485 ADC.
579
580           To compile this driver as a module, choose M here: the module will be
581           called ltc2485.
582
583 config LTC2496
584         tristate "Linear Technology LTC2496 ADC driver"
585         depends on SPI
586         help
587           Say yes here to build support for Linear Technology LTC2496
588           16-Bit 8-/16-Channel Delta Sigma ADC.
589
590           To compile this driver as a module, choose M here: the module will be
591           called ltc2496.
592
593 config LTC2497
594         tristate "Linear Technology LTC2497 ADC driver"
595         depends on I2C
596         help
597           Say yes here to build support for Linear Technology LTC2497
598           16-Bit 8-/16-Channel Delta Sigma ADC.
599
600           To compile this driver as a module, choose M here: the module will be
601           called ltc2497.
602
603 config MAX1027
604         tristate "Maxim max1027 ADC driver"
605         depends on SPI
606         select IIO_BUFFER
607         select IIO_TRIGGERED_BUFFER
608         help
609           Say yes here to build support for Maxim SPI {10,12}-bit ADC models:
610           max1027, max1029, max1031, max1227, max1229 and max1231.
611
612           To compile this driver as a module, choose M here: the module will be
613           called max1027.
614
615 config MAX11100
616         tristate "Maxim max11100 ADC driver"
617         depends on SPI_MASTER
618         help
619           Say yes here to build support for Maxim max11100 SPI ADC
620
621           To compile this driver as a module, choose M here: the module will be
622           called max11100.
623
624 config MAX1118
625         tristate "Maxim max1117/max1118/max1119 ADCs driver"
626         depends on SPI
627         select IIO_BUFFER
628         select IIO_TRIGGERED_BUFFER
629         help
630           Say yes here to build support for Maxim max1117/max1118/max1119
631           8-bit, dual-channel ADCs.
632
633           To compile this driver as a module, choose M here: the module will be
634           called max1118.
635
636 config MAX1241
637         tristate "Maxim max1241 ADC driver"
638         depends on SPI_MASTER
639         help
640           Say yes here to build support for Maxim max1241 12-bit, single-channel
641           ADC.
642
643           To compile this driver as a module, choose M here: the module will be
644           called max1241.
645
646 config MAX1363
647         tristate "Maxim max1363 ADC driver"
648         depends on I2C
649         select IIO_BUFFER
650         select IIO_TRIGGERED_BUFFER
651         help
652           Say yes here to build support for many Maxim i2c analog to digital
653           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
654           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
655           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
656           max11602, max11603, max11604, max11605, max11606, max11607,
657           max11608, max11609, max11610, max11611, max11612, max11613,
658           max11614, max11615, max11616, max11617, max11644, max11645,
659           max11646, max11647) Provides direct access via sysfs and buffered
660           data via the iio dev interface.
661
662           To compile this driver as a module, choose M here: the module will be
663           called max1363.
664
665 config MAX9611
666         tristate "Maxim max9611/max9612 ADC driver"
667         depends on I2C
668         help
669           Say yes here to build support for Maxim max9611/max9612 current sense
670           amplifier with 12-bits ADC interface.
671
672           To compile this driver as a module, choose M here: the module will be
673           called max9611.
674
675 config MCP320X
676         tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
677         depends on SPI
678         help
679           Say yes here to build support for Microchip Technology's
680           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
681           MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
682           converters.
683
684           This driver can also be built as a module. If so, the module will be
685           called mcp320x.
686
687 config MCP3422
688         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
689         depends on I2C
690         help
691           Say yes here to build support for Microchip Technology's MCP3421
692           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
693           analog to digital converters.
694
695           This driver can also be built as a module. If so, the module will be
696           called mcp3422.
697
698 config MCP3911
699         tristate "Microchip Technology MCP3911 driver"
700         depends on SPI
701         help
702           Say yes here to build support for Microchip Technology's MCP3911
703           analog to digital converter.
704
705           This driver can also be built as a module. If so, the module will be
706           called mcp3911.
707
708 config MEDIATEK_MT6577_AUXADC
709         tristate "MediaTek AUXADC driver"
710         depends on ARCH_MEDIATEK || COMPILE_TEST
711         depends on HAS_IOMEM
712         help
713           Say yes here to enable support for MediaTek mt65xx AUXADC.
714
715           The driver supports immediate mode operation to read from one of sixteen
716           channels (external or internal).
717
718           This driver can also be built as a module. If so, the module will be
719           called mt6577_auxadc.
720
721 config MEN_Z188_ADC
722         tristate "MEN 16z188 ADC IP Core support"
723         depends on MCB
724         help
725           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
726           carrier.
727
728           This driver can also be built as a module. If so, the module will be
729           called men_z188_adc.
730
731 config MESON_SARADC
732         tristate "Amlogic Meson SAR ADC driver"
733         default ARCH_MESON
734         depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
735         select REGMAP_MMIO
736         help
737           Say yes here to build support for the SAR ADC found in Amlogic Meson
738           SoCs.
739
740           To compile this driver as a module, choose M here: the
741           module will be called meson_saradc.
742
743 config MP2629_ADC
744         tristate "Monolithic MP2629 ADC driver"
745         depends on MFD_MP2629
746         help
747           Say yes to have support for battery charger IC MP2629 ADC device
748           accessed over I2C.
749
750           This driver provides ADC conversion of system, input power supply
751           and battery voltage & current information.
752
753 config NAU7802
754         tristate "Nuvoton NAU7802 ADC driver"
755         depends on I2C
756         help
757           Say yes here to build support for Nuvoton NAU7802 ADC.
758
759           To compile this driver as a module, choose M here: the
760           module will be called nau7802.
761
762 config NPCM_ADC
763         tristate "Nuvoton NPCM ADC driver"
764         depends on ARCH_NPCM || COMPILE_TEST
765         depends on HAS_IOMEM
766         help
767           Say yes here to build support for Nuvoton NPCM ADC.
768
769           This driver can also be built as a module. If so, the module
770           will be called npcm_adc.
771
772 config PALMAS_GPADC
773         tristate "TI Palmas General Purpose ADC"
774         depends on MFD_PALMAS
775         help
776           Palmas series pmic chip by Texas Instruments (twl6035/6037)
777           is used in smartphones and tablets and supports a 16 channel
778           general purpose ADC.
779
780 config QCOM_VADC_COMMON
781         tristate
782
783 config QCOM_PM8XXX_XOADC
784         tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
785         depends on MFD_PM8XXX
786         select QCOM_VADC_COMMON
787         help
788           ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
789           using SSBI transport: PM8018, PM8038, PM8058, PM8921.
790
791           To compile this driver as a module, choose M here: the module
792           will be called qcom-pm8xxx-xoadc.
793
794 config QCOM_SPMI_IADC
795         tristate "Qualcomm SPMI PMIC current ADC"
796         depends on SPMI
797         select REGMAP_SPMI
798         help
799           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
800
801           The driver supports single mode operation to read from one of two
802           channels (external or internal). Hardware have additional
803           channels internally used for gain and offset calibration.
804
805           To compile this driver as a module, choose M here: the module will
806           be called qcom-spmi-iadc.
807
808 config QCOM_SPMI_VADC
809         tristate "Qualcomm SPMI PMIC voltage ADC"
810         depends on SPMI
811         select REGMAP_SPMI
812         select QCOM_VADC_COMMON
813         help
814           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
815
816           The driver supports multiple channels read. The VADC is a 15-bit
817           sigma-delta ADC. Some of the channels are internally used for
818           calibration.
819
820           To compile this driver as a module, choose M here: the module will
821           be called qcom-spmi-vadc.
822
823 config QCOM_SPMI_ADC5
824         tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
825         depends on SPMI
826         select REGMAP_SPMI
827         select QCOM_VADC_COMMON
828         help
829           This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
830
831           The driver supports multiple channels read. The ADC is a 16-bit
832           sigma-delta ADC. The hardware supports calibrated results for
833           conversion requests and clients include reading voltage phone
834           power, on board system thermistors connected to the PMIC ADC,
835           PMIC die temperature, charger temperature, battery current, USB voltage
836           input, voltage signals connected to supported PMIC GPIO inputs. The
837           hardware supports internal pull-up for thermistors and can choose between
838           a 100k, 30k and 400k pull up using the ADC channels.
839
840           To compile this driver as a module, choose M here: the module will
841           be called qcom-spmi-adc5.
842
843 config RCAR_GYRO_ADC
844         tristate "Renesas R-Car GyroADC driver"
845         depends on ARCH_RCAR_GEN2 || COMPILE_TEST
846         help
847           Say yes here to build support for the GyroADC found in Renesas
848           R-Car Gen2 SoCs. This block is a simple SPI offload engine for
849           reading data out of attached compatible ADCs in a round-robin
850           fashion. Up to 4 or 8 ADC channels are supported by this block,
851           depending on which ADCs are attached.
852
853           To compile this driver as a module, choose M here: the
854           module will be called rcar-gyroadc.
855
856 config RN5T618_ADC
857         tristate "ADC for the RN5T618/RC5T619 family of chips"
858         depends on MFD_RN5T618
859         help
860           Say yes here to build support for the integrated ADC inside the
861           RN5T618/619 series PMICs:
862
863           This driver can also be built as a module. If so, the module
864           will be called rn5t618-adc.
865
866 config ROCKCHIP_SARADC
867         tristate "Rockchip SARADC driver"
868         depends on ARCH_ROCKCHIP || COMPILE_TEST
869         depends on RESET_CONTROLLER
870         select IIO_BUFFER
871         select IIO_TRIGGERED_BUFFER
872         help
873           Say yes here to build support for the SARADC found in SoCs from
874           Rockchip.
875
876           To compile this driver as a module, choose M here: the
877           module will be called rockchip_saradc.
878
879 config SC27XX_ADC
880         tristate "Spreadtrum SC27xx series PMICs ADC"
881         depends on MFD_SC27XX_PMIC || COMPILE_TEST
882         help
883           Say yes here to build support for the integrated ADC inside the
884           Spreadtrum SC27xx series PMICs.
885
886           This driver can also be built as a module. If so, the module
887           will be called sc27xx_adc.
888
889 config SPEAR_ADC
890         tristate "ST SPEAr ADC"
891         depends on PLAT_SPEAR || COMPILE_TEST
892         depends on HAS_IOMEM
893         help
894           Say yes here to build support for the integrated ADC inside the
895           ST SPEAr SoC. Provides direct access via sysfs.
896
897           To compile this driver as a module, choose M here: the
898           module will be called spear_adc.
899
900 config SD_ADC_MODULATOR
901         tristate "Generic sigma delta modulator"
902         depends on OF
903         select IIO_BUFFER
904         select IIO_TRIGGERED_BUFFER
905         help
906           Select this option to enables sigma delta modulator. This driver can
907           support generic sigma delta modulators.
908
909           This driver can also be built as a module.  If so, the module
910           will be called sd_adc_modulator.
911
912 config STM32_ADC_CORE
913         tristate "STMicroelectronics STM32 adc core"
914         depends on ARCH_STM32 || COMPILE_TEST
915         depends on OF
916         depends on REGULATOR
917         depends on HAS_IOMEM
918         select IIO_BUFFER
919         select MFD_STM32_TIMERS
920         select IIO_STM32_TIMER_TRIGGER
921         select IIO_TRIGGERED_BUFFER
922         help
923           Select this option to enable the core driver for STMicroelectronics
924           STM32 analog-to-digital converter (ADC).
925
926           This driver can also be built as a module.  If so, the module
927           will be called stm32-adc-core.
928
929 config STM32_ADC
930         tristate "STMicroelectronics STM32 adc"
931         depends on STM32_ADC_CORE
932         help
933           Say yes here to build support for STMicroelectronics stm32 Analog
934           to Digital Converter (ADC).
935
936           This driver can also be built as a module.  If so, the module
937           will be called stm32-adc.
938
939 config STM32_DFSDM_CORE
940         tristate "STMicroelectronics STM32 DFSDM core"
941         depends on (ARCH_STM32 && OF) || COMPILE_TEST
942         select REGMAP
943         select REGMAP_MMIO
944         help
945           Select this option to enable the  driver for STMicroelectronics
946           STM32 digital filter for sigma delta converter.
947
948           This driver can also be built as a module.  If so, the module
949           will be called stm32-dfsdm-core.
950
951 config STM32_DFSDM_ADC
952         tristate "STMicroelectronics STM32 dfsdm adc"
953         depends on (ARCH_STM32 && OF) || COMPILE_TEST
954         select STM32_DFSDM_CORE
955         select REGMAP_MMIO
956         select IIO_BUFFER
957         select IIO_BUFFER_HW_CONSUMER
958         select IIO_TRIGGERED_BUFFER
959         help
960           Select this option to support ADCSigma delta modulator for
961           STMicroelectronics STM32 digital filter for sigma delta converter.
962
963           This driver can also be built as a module.  If so, the module
964           will be called stm32-dfsdm-adc.
965
966 config STMPE_ADC
967         tristate "STMicroelectronics STMPE ADC driver"
968         depends on OF && MFD_STMPE
969         help
970           Say yes here to build support for ST Microelectronics STMPE
971           built-in ADC block (stmpe811).
972
973 config STX104
974         tristate "Apex Embedded Systems STX104 driver"
975         depends on PC104 && X86
976         select ISA_BUS_API
977         select GPIOLIB
978         help
979           Say yes here to build support for the Apex Embedded Systems STX104
980           integrated analog PC/104 card.
981
982           This driver supports the 16 channels of single-ended (8 channels of
983           differential) analog inputs, 2 channels of analog output, 4 digital
984           inputs, and 4 digital outputs provided by the STX104.
985
986           The base port addresses for the devices may be configured via the base
987           array module parameter.
988
989 config SUN4I_GPADC
990         tristate "Support for the Allwinner SoCs GPADC"
991         depends on IIO
992         depends on MFD_SUN4I_GPADC || MACH_SUN8I
993         depends on THERMAL || !THERMAL_OF
994         select REGMAP_IRQ
995         help
996           Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
997           GPADC. This ADC provides 4 channels which can be used as an ADC or as
998           a touchscreen input and one channel for thermal sensor.
999
1000           The thermal sensor slows down ADC readings and can be disabled by
1001           disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
1002           enabled by default since the SoC temperature is usually more critical
1003           than ADC readings.
1004
1005           To compile this driver as a module, choose M here: the module will be
1006           called sun4i-gpadc-iio.
1007
1008 config TI_ADC081C
1009         tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
1010         depends on I2C
1011         select IIO_BUFFER
1012         select IIO_TRIGGERED_BUFFER
1013         help
1014           If you say yes here you get support for Texas Instruments ADC081C,
1015           ADC101C and ADC121C ADC chips.
1016
1017           This driver can also be built as a module. If so, the module will be
1018           called ti-adc081c.
1019
1020 config TI_ADC0832
1021         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
1022         depends on SPI
1023         select IIO_BUFFER
1024         select IIO_TRIGGERED_BUFFER
1025         help
1026           If you say yes here you get support for Texas Instruments ADC0831,
1027           ADC0832, ADC0834, ADC0838 ADC chips.
1028
1029           This driver can also be built as a module. If so, the module will be
1030           called ti-adc0832.
1031
1032 config TI_ADC084S021
1033         tristate "Texas Instruments ADC084S021"
1034         depends on SPI
1035         select IIO_BUFFER
1036         select IIO_TRIGGERED_BUFFER
1037         help
1038           If you say yes here you get support for Texas Instruments ADC084S021
1039           chips.
1040
1041           This driver can also be built as a module. If so, the module will be
1042           called ti-adc084s021.
1043
1044 config TI_ADC12138
1045         tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
1046         depends on SPI
1047         select IIO_BUFFER
1048         select IIO_TRIGGERED_BUFFER
1049         help
1050           If you say yes here you get support for Texas Instruments ADC12130,
1051           ADC12132 and ADC12138 chips.
1052
1053           This driver can also be built as a module. If so, the module will be
1054           called ti-adc12138.
1055
1056 config TI_ADC108S102
1057         tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
1058         depends on SPI
1059         select IIO_BUFFER
1060         select IIO_TRIGGERED_BUFFER
1061         help
1062           Say yes here to build support for Texas Instruments ADC108S102 and
1063           ADC128S102 ADC.
1064
1065           To compile this driver as a module, choose M here: the module will
1066           be called ti-adc108s102.
1067
1068 config TI_ADC128S052
1069         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
1070         depends on SPI
1071         help
1072           If you say yes here you get support for Texas Instruments ADC128S052,
1073           ADC122S021 and ADC124S021 chips.
1074
1075           This driver can also be built as a module. If so, the module will be
1076           called ti-adc128s052.
1077
1078 config TI_ADC161S626
1079         tristate "Texas Instruments ADC161S626 1-channel differential ADC"
1080         depends on SPI
1081         select IIO_BUFFER
1082         select IIO_TRIGGERED_BUFFER
1083         help
1084           If you say yes here you get support for Texas Instruments ADC141S626,
1085           and ADC161S626 chips.
1086
1087           This driver can also be built as a module. If so, the module will be
1088           called ti-adc161s626.
1089
1090 config TI_ADS1015
1091         tristate "Texas Instruments ADS1015 ADC"
1092         depends on I2C
1093         select REGMAP_I2C
1094         select IIO_BUFFER
1095         select IIO_TRIGGERED_BUFFER
1096         help
1097           If you say yes here you get support for Texas Instruments ADS1015
1098           ADC chip.
1099
1100           This driver can also be built as a module. If so, the module will be
1101           called ti-ads1015.
1102
1103 config TI_ADS7950
1104         tristate "Texas Instruments ADS7950 ADC driver"
1105         depends on SPI && GPIOLIB
1106         select IIO_BUFFER
1107         select IIO_TRIGGERED_BUFFER
1108         help
1109           Say yes here to build support for Texas Instruments ADS7950, ADS7951,
1110           ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
1111           ADS7960, ADS7961.
1112
1113           To compile this driver as a module, choose M here: the
1114           module will be called ti-ads7950.
1115
1116 config TI_ADS8344
1117         tristate "Texas Instruments ADS8344"
1118         depends on SPI && OF
1119         help
1120           If you say yes here you get support for Texas Instruments ADS8344
1121           ADC chips
1122
1123           This driver can also be built as a module. If so, the module will be
1124           called ti-ads8344.
1125
1126 config TI_ADS8688
1127         tristate "Texas Instruments ADS8688"
1128         depends on SPI && OF
1129         help
1130           If you say yes here you get support for Texas Instruments ADS8684 and
1131           and ADS8688 ADC chips
1132
1133           This driver can also be built as a module. If so, the module will be
1134           called ti-ads8688.
1135
1136 config TI_ADS124S08
1137         tristate "Texas Instruments ADS124S08"
1138         depends on SPI && OF
1139         help
1140           If you say yes here you get support for Texas Instruments ADS124S08
1141           and ADS124S06 ADC chips
1142
1143           This driver can also be built as a module. If so, the module will be
1144           called ti-ads124s08.
1145
1146 config TI_AM335X_ADC
1147         tristate "TI's AM335X ADC driver"
1148         depends on MFD_TI_AM335X_TSCADC && HAS_DMA
1149         select IIO_BUFFER
1150         select IIO_KFIFO_BUF
1151         help
1152           Say yes here to build support for Texas Instruments ADC
1153           driver which is also a MFD client.
1154
1155           To compile this driver as a module, choose M here: the module will be
1156           called ti_am335x_adc.
1157
1158 config TI_TLC4541
1159         tristate "Texas Instruments TLC4541 ADC driver"
1160         depends on SPI
1161         select IIO_BUFFER
1162         select IIO_TRIGGERED_BUFFER
1163         help
1164           Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1165           ADC chips.
1166
1167           This driver can also be built as a module. If so, the module will be
1168           called ti-tlc4541.
1169
1170 config TWL4030_MADC
1171         tristate "TWL4030 MADC (Monitoring A/D Converter)"
1172         depends on TWL4030_CORE
1173         help
1174           This driver provides support for Triton TWL4030-MADC. The
1175           driver supports both RT and SW conversion methods.
1176
1177           This driver can also be built as a module. If so, the module will be
1178           called twl4030-madc.
1179
1180 config TWL6030_GPADC
1181         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1182         depends on TWL4030_CORE
1183         default n
1184         help
1185           Say yes here if you want support for the TWL6030/TWL6032 General
1186           Purpose A/D Converter. This will add support for battery type
1187           detection, battery voltage and temperature measurement, die
1188           temperature measurement, system supply voltage, audio accessory,
1189           USB ID detection.
1190
1191           This driver can also be built as a module. If so, the module will be
1192           called twl6030-gpadc.
1193
1194 config VF610_ADC
1195         tristate "Freescale vf610 ADC driver"
1196         depends on OF
1197         depends on HAS_IOMEM
1198         select IIO_BUFFER
1199         select IIO_TRIGGERED_BUFFER
1200         help
1201           Say yes here to support for Vybrid board analog-to-digital converter.
1202           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1203
1204           This driver can also be built as a module. If so, the module will be
1205           called vf610_adc.
1206
1207 config VIPERBOARD_ADC
1208         tristate "Viperboard ADC support"
1209         depends on MFD_VIPERBOARD && USB
1210         help
1211           Say yes here to access the ADC part of the Nano River
1212           Technologies Viperboard.
1213
1214           To compile this driver as a module, choose M here: the module will be
1215           called viperboard_adc.
1216
1217 config XILINX_XADC
1218         tristate "Xilinx XADC driver"
1219         depends on HAS_IOMEM
1220         select IIO_BUFFER
1221         select IIO_TRIGGERED_BUFFER
1222         help
1223           Say yes here to have support for the Xilinx XADC. The driver does support
1224           both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
1225
1226           The driver can also be build as a module. If so, the module will be called
1227           xilinx-xadc.
1228
1229 endmenu