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