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