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