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