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