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