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