xref: /openbmc/linux/drivers/iio/adc/Kconfig (revision 547840bd)
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 MP2629_ADC
696	tristate "Monolithic MP2629 ADC driver"
697	depends on MFD_MP2629
698	help
699	  Say yes to have support for battery charger IC MP2629 ADC device
700	  accessed over I2C.
701
702	  This driver provides ADC conversion of system, input power supply
703	  and battery voltage & current information.
704
705config NAU7802
706	tristate "Nuvoton NAU7802 ADC driver"
707	depends on I2C
708	help
709	  Say yes here to build support for Nuvoton NAU7802 ADC.
710
711	  To compile this driver as a module, choose M here: the
712	  module will be called nau7802.
713
714config NPCM_ADC
715	tristate "Nuvoton NPCM ADC driver"
716	depends on ARCH_NPCM || COMPILE_TEST
717	depends on HAS_IOMEM
718	help
719	  Say yes here to build support for Nuvoton NPCM ADC.
720
721	  This driver can also be built as a module. If so, the module
722	  will be called npcm_adc.
723
724config PALMAS_GPADC
725	tristate "TI Palmas General Purpose ADC"
726	depends on MFD_PALMAS
727	help
728	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
729	  is used in smartphones and tablets and supports a 16 channel
730	  general purpose ADC.
731
732config QCOM_VADC_COMMON
733	tristate
734
735config QCOM_PM8XXX_XOADC
736	tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
737	depends on MFD_PM8XXX
738	select QCOM_VADC_COMMON
739	help
740	  ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
741	  using SSBI transport: PM8018, PM8038, PM8058, PM8921.
742
743	  To compile this driver as a module, choose M here: the module
744	  will be called qcom-pm8xxx-xoadc.
745
746config QCOM_SPMI_IADC
747	tristate "Qualcomm SPMI PMIC current ADC"
748	depends on SPMI
749	select REGMAP_SPMI
750	help
751	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
752
753	  The driver supports single mode operation to read from one of two
754	  channels (external or internal). Hardware have additional
755	  channels internally used for gain and offset calibration.
756
757	  To compile this driver as a module, choose M here: the module will
758	  be called qcom-spmi-iadc.
759
760config QCOM_SPMI_VADC
761	tristate "Qualcomm SPMI PMIC voltage ADC"
762	depends on SPMI
763	select REGMAP_SPMI
764	select QCOM_VADC_COMMON
765	help
766	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
767
768	  The driver supports multiple channels read. The VADC is a 15-bit
769	  sigma-delta ADC. Some of the channels are internally used for
770	  calibration.
771
772	  To compile this driver as a module, choose M here: the module will
773	  be called qcom-spmi-vadc.
774
775config QCOM_SPMI_ADC5
776	tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
777	depends on SPMI
778	select REGMAP_SPMI
779	select QCOM_VADC_COMMON
780	help
781	  This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
782
783	  The driver supports multiple channels read. The ADC is a 16-bit
784	  sigma-delta ADC. The hardware supports calibrated results for
785	  conversion requests and clients include reading voltage phone
786	  power, on board system thermistors connected to the PMIC ADC,
787	  PMIC die temperature, charger temperature, battery current, USB voltage
788	  input, voltage signals connected to supported PMIC GPIO inputs. The
789	  hardware supports internal pull-up for thermistors and can choose between
790	  a 100k, 30k and 400k pull up using the ADC channels.
791
792	  To compile this driver as a module, choose M here: the module will
793	  be called qcom-spmi-adc5.
794
795config RCAR_GYRO_ADC
796	tristate "Renesas R-Car GyroADC driver"
797	depends on ARCH_RCAR_GEN2 || COMPILE_TEST
798	help
799	  Say yes here to build support for the GyroADC found in Renesas
800	  R-Car Gen2 SoCs. This block is a simple SPI offload engine for
801	  reading data out of attached compatible ADCs in a round-robin
802	  fashion. Up to 4 or 8 ADC channels are supported by this block,
803	  depending on which ADCs are attached.
804
805	  To compile this driver as a module, choose M here: the
806	  module will be called rcar-gyroadc.
807
808config RN5T618_ADC
809	tristate "ADC for the RN5T618/RC5T619 family of chips"
810	depends on MFD_RN5T618
811	help
812	  Say yes here to build support for the integrated ADC inside the
813	  RN5T618/619 series PMICs:
814
815	  This driver can also be built as a module. If so, the module
816	  will be called rn5t618-adc.
817
818config ROCKCHIP_SARADC
819	tristate "Rockchip SARADC driver"
820	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
821	depends on RESET_CONTROLLER
822	help
823	  Say yes here to build support for the SARADC found in SoCs from
824	  Rockchip.
825
826	  To compile this driver as a module, choose M here: the
827	  module will be called rockchip_saradc.
828
829config SC27XX_ADC
830	tristate "Spreadtrum SC27xx series PMICs ADC"
831	depends on MFD_SC27XX_PMIC || COMPILE_TEST
832	help
833	  Say yes here to build support for the integrated ADC inside the
834	  Spreadtrum SC27xx series PMICs.
835
836	  This driver can also be built as a module. If so, the module
837	  will be called sc27xx_adc.
838
839config SPEAR_ADC
840	tristate "ST SPEAr ADC"
841	depends on PLAT_SPEAR || COMPILE_TEST
842	depends on HAS_IOMEM
843	help
844	  Say yes here to build support for the integrated ADC inside the
845	  ST SPEAr SoC. Provides direct access via sysfs.
846
847	  To compile this driver as a module, choose M here: the
848	  module will be called spear_adc.
849
850config SD_ADC_MODULATOR
851	tristate "Generic sigma delta modulator"
852	depends on OF
853	select IIO_BUFFER
854	select IIO_TRIGGERED_BUFFER
855	help
856	  Select this option to enables sigma delta modulator. This driver can
857	  support generic sigma delta modulators.
858
859	  This driver can also be built as a module.  If so, the module
860	  will be called sd_adc_modulator.
861
862config STM32_ADC_CORE
863	tristate "STMicroelectronics STM32 adc core"
864	depends on ARCH_STM32 || COMPILE_TEST
865	depends on OF
866	depends on REGULATOR
867	select IIO_BUFFER
868	select MFD_STM32_TIMERS
869	select IIO_STM32_TIMER_TRIGGER
870	select IIO_TRIGGERED_BUFFER
871	help
872	  Select this option to enable the core driver for STMicroelectronics
873	  STM32 analog-to-digital converter (ADC).
874
875	  This driver can also be built as a module.  If so, the module
876	  will be called stm32-adc-core.
877
878config STM32_ADC
879	tristate "STMicroelectronics STM32 adc"
880	depends on STM32_ADC_CORE
881	help
882	  Say yes here to build support for STMicroelectronics stm32 Analog
883	  to Digital Converter (ADC).
884
885	  This driver can also be built as a module.  If so, the module
886	  will be called stm32-adc.
887
888config STM32_DFSDM_CORE
889	tristate "STMicroelectronics STM32 DFSDM core"
890	depends on (ARCH_STM32 && OF) || COMPILE_TEST
891	select REGMAP
892	select REGMAP_MMIO
893	help
894	  Select this option to enable the  driver for STMicroelectronics
895	  STM32 digital filter for sigma delta converter.
896
897	  This driver can also be built as a module.  If so, the module
898	  will be called stm32-dfsdm-core.
899
900config STM32_DFSDM_ADC
901	tristate "STMicroelectronics STM32 dfsdm adc"
902	depends on (ARCH_STM32 && OF) || COMPILE_TEST
903	select STM32_DFSDM_CORE
904	select REGMAP_MMIO
905	select IIO_BUFFER
906	select IIO_BUFFER_HW_CONSUMER
907	select IIO_TRIGGERED_BUFFER
908	help
909	  Select this option to support ADCSigma delta modulator for
910	  STMicroelectronics STM32 digital filter for sigma delta converter.
911
912	  This driver can also be built as a module.  If so, the module
913	  will be called stm32-dfsdm-adc.
914
915config STMPE_ADC
916	tristate "STMicroelectronics STMPE ADC driver"
917	depends on OF && MFD_STMPE
918	help
919	  Say yes here to build support for ST Microelectronics STMPE
920	  built-in ADC block (stmpe811).
921
922config STX104
923	tristate "Apex Embedded Systems STX104 driver"
924	depends on PC104 && X86
925	select ISA_BUS_API
926	select GPIOLIB
927	help
928	  Say yes here to build support for the Apex Embedded Systems STX104
929	  integrated analog PC/104 card.
930
931	  This driver supports the 16 channels of single-ended (8 channels of
932	  differential) analog inputs, 2 channels of analog output, 4 digital
933	  inputs, and 4 digital outputs provided by the STX104.
934
935	  The base port addresses for the devices may be configured via the base
936	  array module parameter.
937
938config SUN4I_GPADC
939	tristate "Support for the Allwinner SoCs GPADC"
940	depends on IIO
941	depends on MFD_SUN4I_GPADC || MACH_SUN8I
942	depends on THERMAL || !THERMAL_OF
943	select REGMAP_IRQ
944	help
945	  Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
946	  GPADC. This ADC provides 4 channels which can be used as an ADC or as
947	  a touchscreen input and one channel for thermal sensor.
948
949	  The thermal sensor slows down ADC readings and can be disabled by
950	  disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
951	  enabled by default since the SoC temperature is usually more critical
952	  than ADC readings.
953
954	  To compile this driver as a module, choose M here: the module will be
955	  called sun4i-gpadc-iio.
956
957config TI_ADC081C
958	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
959	depends on I2C
960	select IIO_BUFFER
961	select IIO_TRIGGERED_BUFFER
962	help
963	  If you say yes here you get support for Texas Instruments ADC081C,
964	  ADC101C and ADC121C ADC chips.
965
966	  This driver can also be built as a module. If so, the module will be
967	  called ti-adc081c.
968
969config TI_ADC0832
970	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
971	depends on SPI
972	select IIO_BUFFER
973	select IIO_TRIGGERED_BUFFER
974	help
975	  If you say yes here you get support for Texas Instruments ADC0831,
976	  ADC0832, ADC0834, ADC0838 ADC chips.
977
978	  This driver can also be built as a module. If so, the module will be
979	  called ti-adc0832.
980
981config TI_ADC084S021
982	tristate "Texas Instruments ADC084S021"
983	depends on SPI
984	select IIO_BUFFER
985	select IIO_TRIGGERED_BUFFER
986	help
987	  If you say yes here you get support for Texas Instruments ADC084S021
988	  chips.
989
990	  This driver can also be built as a module. If so, the module will be
991	  called ti-adc084s021.
992
993config TI_ADC12138
994	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
995	depends on SPI
996	select IIO_BUFFER
997	select IIO_TRIGGERED_BUFFER
998	help
999	  If you say yes here you get support for Texas Instruments ADC12130,
1000	  ADC12132 and ADC12138 chips.
1001
1002	  This driver can also be built as a module. If so, the module will be
1003	  called ti-adc12138.
1004
1005config TI_ADC108S102
1006	tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
1007	depends on SPI
1008	select IIO_BUFFER
1009	select IIO_TRIGGERED_BUFFER
1010	help
1011	  Say yes here to build support for Texas Instruments ADC108S102 and
1012	  ADC128S102 ADC.
1013
1014	  To compile this driver as a module, choose M here: the module will
1015	  be called ti-adc108s102.
1016
1017config TI_ADC128S052
1018	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
1019	depends on SPI
1020	help
1021	  If you say yes here you get support for Texas Instruments ADC128S052,
1022	  ADC122S021 and ADC124S021 chips.
1023
1024	  This driver can also be built as a module. If so, the module will be
1025	  called ti-adc128s052.
1026
1027config TI_ADC161S626
1028	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
1029	depends on SPI
1030	select IIO_BUFFER
1031	select IIO_TRIGGERED_BUFFER
1032	help
1033	  If you say yes here you get support for Texas Instruments ADC141S626,
1034	  and ADC161S626 chips.
1035
1036	  This driver can also be built as a module. If so, the module will be
1037	  called ti-adc161s626.
1038
1039config TI_ADS1015
1040	tristate "Texas Instruments ADS1015 ADC"
1041	depends on I2C
1042	select REGMAP_I2C
1043	select IIO_BUFFER
1044	select IIO_TRIGGERED_BUFFER
1045	help
1046	  If you say yes here you get support for Texas Instruments ADS1015
1047	  ADC chip.
1048
1049	  This driver can also be built as a module. If so, the module will be
1050	  called ti-ads1015.
1051
1052config TI_ADS7950
1053	tristate "Texas Instruments ADS7950 ADC driver"
1054	depends on SPI && GPIOLIB
1055	select IIO_BUFFER
1056	select IIO_TRIGGERED_BUFFER
1057	help
1058	  Say yes here to build support for Texas Instruments ADS7950, ADS7951,
1059	  ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
1060	  ADS7960, ADS7961.
1061
1062	  To compile this driver as a module, choose M here: the
1063	  module will be called ti-ads7950.
1064
1065config TI_ADS8344
1066	tristate "Texas Instruments ADS8344"
1067	depends on SPI && OF
1068	help
1069	  If you say yes here you get support for Texas Instruments ADS8344
1070	  ADC chips
1071
1072	  This driver can also be built as a module. If so, the module will be
1073	  called ti-ads8344.
1074
1075config TI_ADS8688
1076	tristate "Texas Instruments ADS8688"
1077	depends on SPI && OF
1078	help
1079	  If you say yes here you get support for Texas Instruments ADS8684 and
1080	  and ADS8688 ADC chips
1081
1082	  This driver can also be built as a module. If so, the module will be
1083	  called ti-ads8688.
1084
1085config TI_ADS124S08
1086	tristate "Texas Instruments ADS124S08"
1087	depends on SPI && OF
1088	help
1089	  If you say yes here you get support for Texas Instruments ADS124S08
1090	  and ADS124S06 ADC chips
1091
1092	  This driver can also be built as a module. If so, the module will be
1093	  called ti-ads124s08.
1094
1095config TI_AM335X_ADC
1096	tristate "TI's AM335X ADC driver"
1097	depends on MFD_TI_AM335X_TSCADC && HAS_DMA
1098	select IIO_BUFFER
1099	select IIO_KFIFO_BUF
1100	help
1101	  Say yes here to build support for Texas Instruments ADC
1102	  driver which is also a MFD client.
1103
1104	  To compile this driver as a module, choose M here: the module will be
1105	  called ti_am335x_adc.
1106
1107config TI_TLC4541
1108	tristate "Texas Instruments TLC4541 ADC driver"
1109	depends on SPI
1110	select IIO_BUFFER
1111	select IIO_TRIGGERED_BUFFER
1112	help
1113	  Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1114	  ADC chips.
1115
1116	  This driver can also be built as a module. If so, the module will be
1117	  called ti-tlc4541.
1118
1119config TWL4030_MADC
1120	tristate "TWL4030 MADC (Monitoring A/D Converter)"
1121	depends on TWL4030_CORE
1122	help
1123	  This driver provides support for Triton TWL4030-MADC. The
1124	  driver supports both RT and SW conversion methods.
1125
1126	  This driver can also be built as a module. If so, the module will be
1127	  called twl4030-madc.
1128
1129config TWL6030_GPADC
1130	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1131	depends on TWL4030_CORE
1132	default n
1133	help
1134	  Say yes here if you want support for the TWL6030/TWL6032 General
1135	  Purpose A/D Converter. This will add support for battery type
1136	  detection, battery voltage and temperature measurement, die
1137	  temperature measurement, system supply voltage, audio accessory,
1138	  USB ID detection.
1139
1140	  This driver can also be built as a module. If so, the module will be
1141	  called twl6030-gpadc.
1142
1143config VF610_ADC
1144	tristate "Freescale vf610 ADC driver"
1145	depends on OF
1146	depends on HAS_IOMEM
1147	select IIO_BUFFER
1148	select IIO_TRIGGERED_BUFFER
1149	help
1150	  Say yes here to support for Vybrid board analog-to-digital converter.
1151	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1152
1153	  This driver can also be built as a module. If so, the module will be
1154	  called vf610_adc.
1155
1156config VIPERBOARD_ADC
1157	tristate "Viperboard ADC support"
1158	depends on MFD_VIPERBOARD && USB
1159	help
1160	  Say yes here to access the ADC part of the Nano River
1161	  Technologies Viperboard.
1162
1163	  To compile this driver as a module, choose M here: the module will be
1164	  called viperboard_adc.
1165
1166config XILINX_XADC
1167	tristate "Xilinx XADC driver"
1168	depends on HAS_IOMEM
1169	select IIO_BUFFER
1170	select IIO_TRIGGERED_BUFFER
1171	help
1172	  Say yes here to have support for the Xilinx XADC. The driver does support
1173	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
1174
1175	  The driver can also be build as a module. If so, the module will be called
1176	  xilinx-xadc.
1177
1178endmenu
1179