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