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