Merge tag 'livepatching-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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         help
421           Say yes here to build support for an envelope detector using a DAC
422           and a comparator.
423
424           To compile this driver as a module, choose M here: the module will be
425           called envelope-detector.
426
427 config EP93XX_ADC
428         tristate "Cirrus Logic EP93XX ADC driver"
429         depends on ARCH_EP93XX
430         help
431           Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
432           It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
433           case driver will reduce its CPU usage by 90% in some use cases.
434
435           To compile this driver as a module, choose M here: the module will be
436           called ep93xx_adc.
437
438 config EXYNOS_ADC
439         tristate "Exynos ADC driver support"
440         depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
441         depends on HAS_IOMEM
442         help
443           Driver for the ADC block found in the Samsung S3C (S3C2410, S3C2416,
444           S3C2440, S3C2443, S3C6410), S5Pv210 and Exynos SoCs.
445           Choose Y here only if you build for such Samsung SoC.
446
447           To compile this driver as a module, choose M here: the module will be
448           called exynos_adc.
449
450 config MXS_LRADC_ADC
451         tristate "Freescale i.MX23/i.MX28 LRADC ADC"
452         depends on MFD_MXS_LRADC
453         select IIO_BUFFER
454         select IIO_TRIGGERED_BUFFER
455         help
456           Say yes here to build support for the ADC functions of the
457           i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings,
458           battery voltage measurement, and die temperature measurement.
459
460           This driver can also be built as a module. If so, the module will be
461           called mxs-lradc-adc.
462
463 config FSL_MX25_ADC
464         tristate "Freescale MX25 ADC driver"
465         depends on MFD_MX25_TSADC
466         help
467           Generic Conversion Queue driver used for general purpose ADC in the
468           MX25. This driver supports single measurements using the MX25 ADC.
469
470 config HI8435
471         tristate "Holt Integrated Circuits HI-8435 threshold detector"
472         select IIO_TRIGGERED_EVENT
473         depends on SPI
474         help
475           If you say yes here you get support for Holt Integrated Circuits
476           HI-8435 chip.
477
478           This driver can also be built as a module. If so, the module will be
479           called hi8435.
480
481 config HX711
482         tristate "AVIA HX711 ADC for weight cells"
483         depends on GPIOLIB
484         select IIO_BUFFER
485         select IIO_TRIGGERED_BUFFER
486         help
487           If you say yes here you get support for AVIA HX711 ADC which is used
488           for weigh cells
489
490           This driver uses two GPIOs, one acts as the clock and controls the
491           channel selection and gain, the other one is used for the measurement
492           data
493
494           Currently the raw value is read from the chip and delivered.
495           To get an actual weight one needs to subtract the
496           zero offset and multiply by a scale factor.
497           This should be done in userspace.
498
499           This driver can also be built as a module. If so, the module will be
500           called hx711.
501
502 config INA2XX_ADC
503         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
504         depends on I2C && !SENSORS_INA2XX
505         select REGMAP_I2C
506         select IIO_BUFFER
507         select IIO_KFIFO_BUF
508         help
509           Say yes here to build support for TI INA2xx family of Power Monitors.
510           This driver is mutually exclusive with the HWMON version.
511
512 config INGENIC_ADC
513         tristate "Ingenic JZ47xx SoCs ADC driver"
514         depends on MIPS || COMPILE_TEST
515         select IIO_BUFFER
516         help
517           Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.
518
519           This driver can also be built as a module. If so, the module will be
520           called ingenic_adc.
521
522 config INTEL_MRFLD_ADC
523         tristate "Intel Merrifield Basin Cove ADC driver"
524         depends on INTEL_SOC_PMIC_MRFLD
525         help
526           Say yes here to have support for Basin Cove power management IC (PMIC) ADC
527           device. Depending on platform configuration, this general purpose ADC can
528           be used for sampling sensors such as thermal resistors.
529
530           To compile this driver as a module, choose M here: the module will be
531           called intel_mrfld_adc.
532
533 config IMX7D_ADC
534         tristate "Freescale IMX7D ADC driver"
535         depends on ARCH_MXC || COMPILE_TEST
536         depends on HAS_IOMEM
537         help
538           Say yes here to build support for IMX7D ADC.
539
540           This driver can also be built as a module. If so, the module will be
541           called imx7d_adc.
542
543 config IMX8QXP_ADC
544         tristate "NXP IMX8QXP ADC driver"
545         depends on ARCH_MXC || COMPILE_TEST
546         depends on HAS_IOMEM
547         help
548           Say yes here to build support for IMX8QXP ADC.
549
550           This driver can also be built as a module. If so, the module will be
551           called imx8qxp-adc.
552
553 config LP8788_ADC
554         tristate "LP8788 ADC driver"
555         depends on MFD_LP8788
556         help
557           Say yes here to build support for TI LP8788 ADC.
558
559           To compile this driver as a module, choose M here: the module will be
560           called lp8788_adc.
561
562 config LPC18XX_ADC
563         tristate "NXP LPC18xx ADC driver"
564         depends on ARCH_LPC18XX || COMPILE_TEST
565         depends on HAS_IOMEM
566         help
567           Say yes here to build support for NXP LPC18XX ADC.
568
569           To compile this driver as a module, choose M here: the module will be
570           called lpc18xx_adc.
571
572 config LPC32XX_ADC
573         tristate "NXP LPC32XX ADC"
574         depends on ARCH_LPC32XX || COMPILE_TEST
575         depends on HAS_IOMEM
576         help
577           Say yes here to build support for the integrated ADC inside the
578           LPC32XX SoC. Note that this feature uses the same hardware as the
579           touchscreen driver, so you should either select only one of the two
580           drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case,
581           activate only one via device tree selection.  Provides direct access
582           via sysfs.
583
584 config LTC2471
585         tristate "Linear Technology LTC2471 and LTC2473 ADC driver"
586         depends on I2C
587         help
588           Say yes here to build support for Linear Technology LTC2471 and
589           LTC2473 16-bit I2C ADC.
590
591           This driver can also be built as a module. If so, the module will
592           be called ltc2471.
593
594 config LTC2485
595         tristate "Linear Technology LTC2485 ADC driver"
596         depends on I2C
597         help
598           Say yes here to build support for Linear Technology LTC2485 ADC.
599
600           To compile this driver as a module, choose M here: the module will be
601           called ltc2485.
602
603 config LTC2496
604         tristate "Linear Technology LTC2496 ADC driver"
605         depends on SPI
606         help
607           Say yes here to build support for Linear Technology LTC2496
608           16-Bit 8-/16-Channel Delta Sigma ADC.
609
610           To compile this driver as a module, choose M here: the module will be
611           called ltc2496.
612
613 config LTC2497
614         tristate "Linear Technology LTC2497 ADC driver"
615         depends on I2C
616         help
617           Say yes here to build support for Linear Technology LTC2497
618           16-Bit 8-/16-Channel Delta Sigma ADC.
619
620           To compile this driver as a module, choose M here: the module will be
621           called ltc2497.
622
623 config MAX1027
624         tristate "Maxim max1027 ADC driver"
625         depends on SPI
626         select IIO_BUFFER
627         select IIO_TRIGGERED_BUFFER
628         help
629           Say yes here to build support for Maxim SPI {10,12}-bit ADC models:
630           max1027, max1029, max1031, max1227, max1229 and max1231.
631
632           To compile this driver as a module, choose M here: the module will be
633           called max1027.
634
635 config MAX11100
636         tristate "Maxim max11100 ADC driver"
637         depends on SPI_MASTER
638         help
639           Say yes here to build support for Maxim max11100 SPI ADC
640
641           To compile this driver as a module, choose M here: the module will be
642           called max11100.
643
644 config MAX1118
645         tristate "Maxim max1117/max1118/max1119 ADCs driver"
646         depends on SPI
647         select IIO_BUFFER
648         select IIO_TRIGGERED_BUFFER
649         help
650           Say yes here to build support for Maxim max1117/max1118/max1119
651           8-bit, dual-channel ADCs.
652
653           To compile this driver as a module, choose M here: the module will be
654           called max1118.
655
656 config MAX1241
657         tristate "Maxim max1241 ADC driver"
658         depends on SPI_MASTER
659         help
660           Say yes here to build support for Maxim max1241 12-bit, single-channel
661           ADC.
662
663           To compile this driver as a module, choose M here: the module will be
664           called max1241.
665
666 config MAX1363
667         tristate "Maxim max1363 ADC driver"
668         depends on I2C
669         select IIO_BUFFER
670         select IIO_TRIGGERED_BUFFER
671         help
672           Say yes here to build support for many Maxim i2c analog to digital
673           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
674           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
675           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
676           max11602, max11603, max11604, max11605, max11606, max11607,
677           max11608, max11609, max11610, max11611, max11612, max11613,
678           max11614, max11615, max11616, max11617, max11644, max11645,
679           max11646, max11647) Provides direct access via sysfs and buffered
680           data via the iio dev interface.
681
682           To compile this driver as a module, choose M here: the module will be
683           called max1363.
684
685 config MAX9611
686         tristate "Maxim max9611/max9612 ADC driver"
687         depends on I2C
688         help
689           Say yes here to build support for Maxim max9611/max9612 current sense
690           amplifier with 12-bits ADC interface.
691
692           To compile this driver as a module, choose M here: the module will be
693           called max9611.
694
695 config MCP320X
696         tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
697         depends on SPI
698         help
699           Say yes here to build support for Microchip Technology's
700           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
701           MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
702           converters.
703
704           This driver can also be built as a module. If so, the module will be
705           called mcp320x.
706
707 config MCP3422
708         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
709         depends on I2C
710         help
711           Say yes here to build support for Microchip Technology's MCP3421
712           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
713           analog to digital converters.
714
715           This driver can also be built as a module. If so, the module will be
716           called mcp3422.
717
718 config MCP3911
719         tristate "Microchip Technology MCP3911 driver"
720         depends on SPI
721         help
722           Say yes here to build support for Microchip Technology's MCP3911
723           analog to digital converter.
724
725           This driver can also be built as a module. If so, the module will be
726           called mcp3911.
727
728 config MEDIATEK_MT6360_ADC
729         tristate "Mediatek MT6360 ADC driver"
730         depends on MFD_MT6360
731         select IIO_BUFFER
732         select IIO_TRIGGERED_BUFFER
733         help
734           Say Y here to enable MT6360 ADC support.
735           Integrated for System Monitoring includes
736           is used in smartphones and tablets and supports a 11 channel
737           general purpose ADC.
738
739 config MEDIATEK_MT6577_AUXADC
740         tristate "MediaTek AUXADC driver"
741         depends on ARCH_MEDIATEK || COMPILE_TEST
742         depends on HAS_IOMEM
743         help
744           Say yes here to enable support for MediaTek mt65xx AUXADC.
745
746           The driver supports immediate mode operation to read from one of sixteen
747           channels (external or internal).
748
749           This driver can also be built as a module. If so, the module will be
750           called mt6577_auxadc.
751
752 config MEN_Z188_ADC
753         tristate "MEN 16z188 ADC IP Core support"
754         depends on MCB
755         help
756           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
757           carrier.
758
759           This driver can also be built as a module. If so, the module will be
760           called men_z188_adc.
761
762 config MESON_SARADC
763         tristate "Amlogic Meson SAR ADC driver"
764         default ARCH_MESON
765         depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
766         select REGMAP_MMIO
767         help
768           Say yes here to build support for the SAR ADC found in Amlogic Meson
769           SoCs.
770
771           To compile this driver as a module, choose M here: the
772           module will be called meson_saradc.
773
774 config MP2629_ADC
775         tristate "Monolithic MP2629 ADC driver"
776         depends on MFD_MP2629
777         help
778           Say yes to have support for battery charger IC MP2629 ADC device
779           accessed over I2C.
780
781           This driver provides ADC conversion of system, input power supply
782           and battery voltage & current information.
783
784 config NAU7802
785         tristate "Nuvoton NAU7802 ADC driver"
786         depends on I2C
787         help
788           Say yes here to build support for Nuvoton NAU7802 ADC.
789
790           To compile this driver as a module, choose M here: the
791           module will be called nau7802.
792
793 config NPCM_ADC
794         tristate "Nuvoton NPCM ADC driver"
795         depends on ARCH_NPCM || COMPILE_TEST
796         depends on HAS_IOMEM
797         help
798           Say yes here to build support for Nuvoton NPCM ADC.
799
800           This driver can also be built as a module. If so, the module
801           will be called npcm_adc.
802
803 config PALMAS_GPADC
804         tristate "TI Palmas General Purpose ADC"
805         depends on MFD_PALMAS
806         help
807           Palmas series pmic chip by Texas Instruments (twl6035/6037)
808           is used in smartphones and tablets and supports a 16 channel
809           general purpose ADC.
810
811 config QCOM_VADC_COMMON
812         tristate
813
814 config QCOM_PM8XXX_XOADC
815         tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
816         depends on MFD_PM8XXX
817         select QCOM_VADC_COMMON
818         help
819           ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
820           using SSBI transport: PM8018, PM8038, PM8058, PM8921.
821
822           To compile this driver as a module, choose M here: the module
823           will be called qcom-pm8xxx-xoadc.
824
825 config QCOM_SPMI_RRADC
826         tristate "Qualcomm SPMI RRADC"
827         depends on MFD_SPMI_PMIC
828         help
829           This is for the PMIC Round Robin ADC driver.
830
831           This driver exposes the battery ID resistor, battery thermal, PMIC die
832           temperature, charger USB in and DC in voltage and current.
833
834           To compile this driver as a module, choose M here: the module will
835           be called qcom-qpmi-rradc.
836
837 config QCOM_SPMI_IADC
838         tristate "Qualcomm SPMI PMIC current ADC"
839         depends on SPMI
840         select REGMAP_SPMI
841         help
842           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
843
844           The driver supports single mode operation to read from one of two
845           channels (external or internal). Hardware have additional
846           channels internally used for gain and offset calibration.
847
848           To compile this driver as a module, choose M here: the module will
849           be called qcom-spmi-iadc.
850
851 config QCOM_SPMI_VADC
852         tristate "Qualcomm SPMI PMIC voltage ADC"
853         depends on SPMI
854         select REGMAP_SPMI
855         select QCOM_VADC_COMMON
856         help
857           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
858
859           The driver supports multiple channels read. The VADC is a 15-bit
860           sigma-delta ADC. Some of the channels are internally used for
861           calibration.
862
863           To compile this driver as a module, choose M here: the module will
864           be called qcom-spmi-vadc.
865
866 config QCOM_SPMI_ADC5
867         tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
868         depends on SPMI
869         select REGMAP_SPMI
870         select QCOM_VADC_COMMON
871         help
872           This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
873
874           The driver supports multiple channels read. The ADC is a 16-bit
875           sigma-delta ADC. The hardware supports calibrated results for
876           conversion requests and clients include reading voltage phone
877           power, on board system thermistors connected to the PMIC ADC,
878           PMIC die temperature, charger temperature, battery current, USB voltage
879           input, voltage signals connected to supported PMIC GPIO inputs. The
880           hardware supports internal pull-up for thermistors and can choose between
881           a 100k, 30k and 400k pull up using the ADC channels.
882
883           To compile this driver as a module, choose M here: the module will
884           be called qcom-spmi-adc5.
885
886 config RCAR_GYRO_ADC
887         tristate "Renesas R-Car GyroADC driver"
888         depends on ARCH_RCAR_GEN2 || COMPILE_TEST
889         help
890           Say yes here to build support for the GyroADC found in Renesas
891           R-Car Gen2 SoCs. This block is a simple SPI offload engine for
892           reading data out of attached compatible ADCs in a round-robin
893           fashion. Up to 4 or 8 ADC channels are supported by this block,
894           depending on which ADCs are attached.
895
896           To compile this driver as a module, choose M here: the
897           module will be called rcar-gyroadc.
898
899 config RN5T618_ADC
900         tristate "ADC for the RN5T618/RC5T619 family of chips"
901         depends on MFD_RN5T618
902         help
903           Say yes here to build support for the integrated ADC inside the
904           RN5T618/619 series PMICs:
905
906           This driver can also be built as a module. If so, the module
907           will be called rn5t618-adc.
908
909 config ROCKCHIP_SARADC
910         tristate "Rockchip SARADC driver"
911         depends on ARCH_ROCKCHIP || COMPILE_TEST
912         depends on RESET_CONTROLLER
913         select IIO_BUFFER
914         select IIO_TRIGGERED_BUFFER
915         help
916           Say yes here to build support for the SARADC found in SoCs from
917           Rockchip.
918
919           To compile this driver as a module, choose M here: the
920           module will be called rockchip_saradc.
921
922 config RZG2L_ADC
923         tristate "Renesas RZ/G2L ADC driver"
924         depends on ARCH_RZG2L || COMPILE_TEST
925         help
926           Say yes here to build support for the ADC found in Renesas
927           RZ/G2L family.
928
929           To compile this driver as a module, choose M here: the
930           module will be called rzg2l_adc.
931
932 config SC27XX_ADC
933         tristate "Spreadtrum SC27xx series PMICs ADC"
934         depends on MFD_SC27XX_PMIC || COMPILE_TEST
935         help
936           Say yes here to build support for the integrated ADC inside the
937           Spreadtrum SC27xx series PMICs.
938
939           This driver can also be built as a module. If so, the module
940           will be called sc27xx_adc.
941
942 config SPEAR_ADC
943         tristate "ST SPEAr ADC"
944         depends on PLAT_SPEAR || COMPILE_TEST
945         depends on HAS_IOMEM
946         help
947           Say yes here to build support for the integrated ADC inside the
948           ST SPEAr SoC. Provides direct access via sysfs.
949
950           To compile this driver as a module, choose M here: the
951           module will be called spear_adc.
952
953 config SD_ADC_MODULATOR
954         tristate "Generic sigma delta modulator"
955         select IIO_BUFFER
956         select IIO_TRIGGERED_BUFFER
957         help
958           Select this option to enables sigma delta modulator. This driver can
959           support generic sigma delta modulators.
960
961           This driver can also be built as a module.  If so, the module
962           will be called sd_adc_modulator.
963
964 config STM32_ADC_CORE
965         tristate "STMicroelectronics STM32 adc core"
966         depends on ARCH_STM32 || COMPILE_TEST
967         depends on OF
968         depends on REGULATOR
969         depends on HAS_IOMEM
970         select IIO_BUFFER
971         select MFD_STM32_TIMERS
972         select IIO_STM32_TIMER_TRIGGER
973         select IIO_TRIGGERED_BUFFER
974         help
975           Select this option to enable the core driver for STMicroelectronics
976           STM32 analog-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-core.
980
981 config STM32_ADC
982         tristate "STMicroelectronics STM32 adc"
983         depends on STM32_ADC_CORE
984         help
985           Say yes here to build support for STMicroelectronics stm32 Analog
986           to Digital Converter (ADC).
987
988           This driver can also be built as a module.  If so, the module
989           will be called stm32-adc.
990
991 config STM32_DFSDM_CORE
992         tristate "STMicroelectronics STM32 DFSDM core"
993         depends on (ARCH_STM32 && OF) || COMPILE_TEST
994         select REGMAP
995         select REGMAP_MMIO
996         help
997           Select this option to enable the  driver for STMicroelectronics
998           STM32 digital filter for sigma delta converter.
999
1000           This driver can also be built as a module.  If so, the module
1001           will be called stm32-dfsdm-core.
1002
1003 config STM32_DFSDM_ADC
1004         tristate "STMicroelectronics STM32 dfsdm adc"
1005         depends on (ARCH_STM32 && OF) || COMPILE_TEST
1006         select STM32_DFSDM_CORE
1007         select REGMAP_MMIO
1008         select IIO_BUFFER
1009         select IIO_BUFFER_HW_CONSUMER
1010         select IIO_TRIGGERED_BUFFER
1011         help
1012           Select this option to support ADCSigma delta modulator for
1013           STMicroelectronics STM32 digital filter for sigma delta converter.
1014
1015           This driver can also be built as a module.  If so, the module
1016           will be called stm32-dfsdm-adc.
1017
1018 config STMPE_ADC
1019         tristate "STMicroelectronics STMPE ADC driver"
1020         depends on OF && MFD_STMPE
1021         help
1022           Say yes here to build support for ST Microelectronics STMPE
1023           built-in ADC block (stmpe811).
1024
1025 config STX104
1026         tristate "Apex Embedded Systems STX104 driver"
1027         depends on PC104 && X86
1028         select ISA_BUS_API
1029         select GPIOLIB
1030         help
1031           Say yes here to build support for the Apex Embedded Systems STX104
1032           integrated analog PC/104 card.
1033
1034           This driver supports the 16 channels of single-ended (8 channels of
1035           differential) analog inputs, 2 channels of analog output, 4 digital
1036           inputs, and 4 digital outputs provided by the STX104.
1037
1038           The base port addresses for the devices may be configured via the base
1039           array module parameter.
1040
1041 config SUN4I_GPADC
1042         tristate "Support for the Allwinner SoCs GPADC"
1043         depends on IIO
1044         depends on MFD_SUN4I_GPADC || MACH_SUN8I
1045         depends on THERMAL || !THERMAL_OF
1046         select REGMAP_IRQ
1047         help
1048           Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
1049           GPADC. This ADC provides 4 channels which can be used as an ADC or as
1050           a touchscreen input and one channel for thermal sensor.
1051
1052           The thermal sensor slows down ADC readings and can be disabled by
1053           disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
1054           enabled by default since the SoC temperature is usually more critical
1055           than ADC readings.
1056
1057           To compile this driver as a module, choose M here: the module will be
1058           called sun4i-gpadc-iio.
1059
1060 config TI_ADC081C
1061         tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
1062         depends on I2C
1063         select IIO_BUFFER
1064         select IIO_TRIGGERED_BUFFER
1065         help
1066           If you say yes here you get support for Texas Instruments ADC081C,
1067           ADC101C and ADC121C ADC chips.
1068
1069           This driver can also be built as a module. If so, the module will be
1070           called ti-adc081c.
1071
1072 config TI_ADC0832
1073         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
1074         depends on SPI
1075         select IIO_BUFFER
1076         select IIO_TRIGGERED_BUFFER
1077         help
1078           If you say yes here you get support for Texas Instruments ADC0831,
1079           ADC0832, ADC0834, ADC0838 ADC chips.
1080
1081           This driver can also be built as a module. If so, the module will be
1082           called ti-adc0832.
1083
1084 config TI_ADC084S021
1085         tristate "Texas Instruments ADC084S021"
1086         depends on SPI
1087         select IIO_BUFFER
1088         select IIO_TRIGGERED_BUFFER
1089         help
1090           If you say yes here you get support for Texas Instruments ADC084S021
1091           chips.
1092
1093           This driver can also be built as a module. If so, the module will be
1094           called ti-adc084s021.
1095
1096 config TI_ADC12138
1097         tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
1098         depends on SPI
1099         select IIO_BUFFER
1100         select IIO_TRIGGERED_BUFFER
1101         help
1102           If you say yes here you get support for Texas Instruments ADC12130,
1103           ADC12132 and ADC12138 chips.
1104
1105           This driver can also be built as a module. If so, the module will be
1106           called ti-adc12138.
1107
1108 config TI_ADC108S102
1109         tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
1110         depends on SPI
1111         select IIO_BUFFER
1112         select IIO_TRIGGERED_BUFFER
1113         help
1114           Say yes here to build support for Texas Instruments ADC108S102 and
1115           ADC128S102 ADC.
1116
1117           To compile this driver as a module, choose M here: the module will
1118           be called ti-adc108s102.
1119
1120 config TI_ADC128S052
1121         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
1122         depends on SPI
1123         help
1124           If you say yes here you get support for Texas Instruments ADC128S052,
1125           ADC122S021 and ADC124S021 chips.
1126
1127           This driver can also be built as a module. If so, the module will be
1128           called ti-adc128s052.
1129
1130 config TI_ADC161S626
1131         tristate "Texas Instruments ADC161S626 1-channel differential ADC"
1132         depends on SPI
1133         select IIO_BUFFER
1134         select IIO_TRIGGERED_BUFFER
1135         help
1136           If you say yes here you get support for Texas Instruments ADC141S626,
1137           and ADC161S626 chips.
1138
1139           This driver can also be built as a module. If so, the module will be
1140           called ti-adc161s626.
1141
1142 config TI_ADS1015
1143         tristate "Texas Instruments ADS1015 ADC"
1144         depends on I2C
1145         select REGMAP_I2C
1146         select IIO_BUFFER
1147         select IIO_TRIGGERED_BUFFER
1148         help
1149           If you say yes here you get support for Texas Instruments ADS1015
1150           ADC chip.
1151
1152           This driver can also be built as a module. If so, the module will be
1153           called ti-ads1015.
1154
1155 config TI_ADS7950
1156         tristate "Texas Instruments ADS7950 ADC driver"
1157         depends on SPI && GPIOLIB
1158         select IIO_BUFFER
1159         select IIO_TRIGGERED_BUFFER
1160         help
1161           Say yes here to build support for Texas Instruments ADS7950, ADS7951,
1162           ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
1163           ADS7960, ADS7961.
1164
1165           To compile this driver as a module, choose M here: the
1166           module will be called ti-ads7950.
1167
1168 config TI_ADS8344
1169         tristate "Texas Instruments ADS8344"
1170         depends on SPI
1171         help
1172           If you say yes here you get support for Texas Instruments ADS8344
1173           ADC chips
1174
1175           This driver can also be built as a module. If so, the module will be
1176           called ti-ads8344.
1177
1178 config TI_ADS8688
1179         tristate "Texas Instruments ADS8688"
1180         depends on SPI
1181         help
1182           If you say yes here you get support for Texas Instruments ADS8684 and
1183           and ADS8688 ADC chips
1184
1185           This driver can also be built as a module. If so, the module will be
1186           called ti-ads8688.
1187
1188 config TI_ADS124S08
1189         tristate "Texas Instruments ADS124S08"
1190         depends on SPI
1191         help
1192           If you say yes here you get support for Texas Instruments ADS124S08
1193           and ADS124S06 ADC chips
1194
1195           This driver can also be built as a module. If so, the module will be
1196           called ti-ads124s08.
1197
1198 config TI_ADS131E08
1199         tristate "Texas Instruments ADS131E08"
1200         depends on SPI
1201         select IIO_BUFFER
1202         select IIO_TRIGGERED_BUFFER
1203         help
1204           Say yes here to get support for Texas Instruments ADS131E04, ADS131E06
1205           and ADS131E08 chips.
1206
1207           This driver can also be built as a module. If so, the module will be
1208           called ti-ads131e08.
1209
1210 config TI_AM335X_ADC
1211         tristate "TI's AM335X ADC driver"
1212         depends on MFD_TI_AM335X_TSCADC && HAS_DMA
1213         select IIO_BUFFER
1214         select IIO_KFIFO_BUF
1215         help
1216           Say yes here to build support for Texas Instruments ADC
1217           driver which is also a MFD client.
1218
1219           To compile this driver as a module, choose M here: the module will be
1220           called ti_am335x_adc.
1221
1222 config TI_TLC4541
1223         tristate "Texas Instruments TLC4541 ADC driver"
1224         depends on SPI
1225         select IIO_BUFFER
1226         select IIO_TRIGGERED_BUFFER
1227         help
1228           Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1229           ADC chips.
1230
1231           This driver can also be built as a module. If so, the module will be
1232           called ti-tlc4541.
1233
1234 config TI_TSC2046
1235         tristate "Texas Instruments TSC2046 ADC driver"
1236         depends on SPI
1237         select IIO_BUFFER
1238         select IIO_TRIGGERED_BUFFER
1239         help
1240           Say yes here to build support for ADC functionality of Texas
1241           Instruments TSC2046 touch screen controller.
1242
1243           This driver can also be built as a module. If so, the module will be
1244           called ti-tsc2046.
1245
1246 config TWL4030_MADC
1247         tristate "TWL4030 MADC (Monitoring A/D Converter)"
1248         depends on TWL4030_CORE
1249         help
1250           This driver provides support for Triton TWL4030-MADC. The
1251           driver supports both RT and SW conversion methods.
1252
1253           This driver can also be built as a module. If so, the module will be
1254           called twl4030-madc.
1255
1256 config TWL6030_GPADC
1257         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1258         depends on TWL4030_CORE
1259         default n
1260         help
1261           Say yes here if you want support for the TWL6030/TWL6032 General
1262           Purpose A/D Converter. This will add support for battery type
1263           detection, battery voltage and temperature measurement, die
1264           temperature measurement, system supply voltage, audio accessory,
1265           USB ID detection.
1266
1267           This driver can also be built as a module. If so, the module will be
1268           called twl6030-gpadc.
1269
1270 config VF610_ADC
1271         tristate "Freescale vf610 ADC driver"
1272         depends on HAS_IOMEM
1273         select IIO_BUFFER
1274         select IIO_TRIGGERED_BUFFER
1275         help
1276           Say yes here to support for Vybrid board analog-to-digital converter.
1277           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1278
1279           This driver can also be built as a module. If so, the module will be
1280           called vf610_adc.
1281
1282 config VIPERBOARD_ADC
1283         tristate "Viperboard ADC support"
1284         depends on MFD_VIPERBOARD && USB
1285         help
1286           Say yes here to access the ADC part of the Nano River
1287           Technologies Viperboard.
1288
1289           To compile this driver as a module, choose M here: the module will be
1290           called viperboard_adc.
1291
1292 config XILINX_XADC
1293         tristate "Xilinx XADC driver"
1294         depends on HAS_IOMEM
1295         select IIO_BUFFER
1296         select IIO_TRIGGERED_BUFFER
1297         help
1298           Say yes here to have support for the Xilinx 7 Series XADC or
1299           UltraScale/UltraScale+ System Management Wizard.
1300
1301           For the 7 Series the driver does support both the ZYNQ interface
1302           to the XADC as well as the AXI-XADC interface.
1303
1304           The driver also support the Xilinx System Management Wizard IP core
1305           that can be used to access the System Monitor ADC on the Xilinx
1306           UltraScale and UltraScale+ FPGAs.
1307
1308           The driver can also be build as a module. If so, the module will be called
1309           xilinx-xadc.
1310
1311 config XILINX_AMS
1312         tristate "Xilinx AMS driver"
1313         depends on ARCH_ZYNQMP || COMPILE_TEST
1314         depends on HAS_IOMEM
1315         help
1316           Say yes here to have support for the Xilinx AMS for Ultrascale/Ultrascale+
1317           System Monitor. With this you can measure and monitor the Voltages and
1318           Temperature values on the SOC.
1319
1320           The driver supports Voltage and Temperature monitoring on Xilinx Ultrascale
1321           devices.
1322
1323           The driver can also be built as a module. If so, the module will be called
1324           xilinx-ams.
1325
1326 endmenu