xref: /openbmc/linux/drivers/iio/adc/Kconfig (revision 3381df09)
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 RN5T618_ADC
799	tristate "ADC for the RN5T618/RC5T619 family of chips"
800	depends on MFD_RN5T618
801	help
802	  Say yes here to build support for the integrated ADC inside the
803	  RN5T618/619 series PMICs:
804
805	  This driver can also be built as a module. If so, the module
806	  will be called rn5t618-adc.
807
808config ROCKCHIP_SARADC
809	tristate "Rockchip SARADC driver"
810	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
811	depends on RESET_CONTROLLER
812	help
813	  Say yes here to build support for the SARADC found in SoCs from
814	  Rockchip.
815
816	  To compile this driver as a module, choose M here: the
817	  module will be called rockchip_saradc.
818
819config SC27XX_ADC
820	tristate "Spreadtrum SC27xx series PMICs ADC"
821	depends on MFD_SC27XX_PMIC || COMPILE_TEST
822	help
823	  Say yes here to build support for the integrated ADC inside the
824	  Spreadtrum SC27xx series PMICs.
825
826	  This driver can also be built as a module. If so, the module
827	  will be called sc27xx_adc.
828
829config SPEAR_ADC
830	tristate "ST SPEAr ADC"
831	depends on PLAT_SPEAR || COMPILE_TEST
832	depends on HAS_IOMEM
833	help
834	  Say yes here to build support for the integrated ADC inside the
835	  ST SPEAr SoC. Provides direct access via sysfs.
836
837	  To compile this driver as a module, choose M here: the
838	  module will be called spear_adc.
839
840config SD_ADC_MODULATOR
841	tristate "Generic sigma delta modulator"
842	depends on OF
843	select IIO_BUFFER
844	select IIO_TRIGGERED_BUFFER
845	help
846	  Select this option to enables sigma delta modulator. This driver can
847	  support generic sigma delta modulators.
848
849	  This driver can also be built as a module.  If so, the module
850	  will be called sd_adc_modulator.
851
852config STM32_ADC_CORE
853	tristate "STMicroelectronics STM32 adc core"
854	depends on ARCH_STM32 || COMPILE_TEST
855	depends on OF
856	depends on REGULATOR
857	select IIO_BUFFER
858	select MFD_STM32_TIMERS
859	select IIO_STM32_TIMER_TRIGGER
860	select IIO_TRIGGERED_BUFFER
861	help
862	  Select this option to enable the core driver for STMicroelectronics
863	  STM32 analog-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-core.
867
868config STM32_ADC
869	tristate "STMicroelectronics STM32 adc"
870	depends on STM32_ADC_CORE
871	help
872	  Say yes here to build support for STMicroelectronics stm32 Analog
873	  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.
877
878config STM32_DFSDM_CORE
879	tristate "STMicroelectronics STM32 DFSDM core"
880	depends on (ARCH_STM32 && OF) || COMPILE_TEST
881	select REGMAP
882	select REGMAP_MMIO
883	help
884	  Select this option to enable the  driver for STMicroelectronics
885	  STM32 digital filter for sigma delta converter.
886
887	  This driver can also be built as a module.  If so, the module
888	  will be called stm32-dfsdm-core.
889
890config STM32_DFSDM_ADC
891	tristate "STMicroelectronics STM32 dfsdm adc"
892	depends on (ARCH_STM32 && OF) || COMPILE_TEST
893	select STM32_DFSDM_CORE
894	select REGMAP_MMIO
895	select IIO_BUFFER
896	select IIO_BUFFER_HW_CONSUMER
897	select IIO_TRIGGERED_BUFFER
898	help
899	  Select this option to support ADCSigma delta modulator for
900	  STMicroelectronics STM32 digital filter for sigma delta converter.
901
902	  This driver can also be built as a module.  If so, the module
903	  will be called stm32-dfsdm-adc.
904
905config STMPE_ADC
906	tristate "STMicroelectronics STMPE ADC driver"
907	depends on OF && MFD_STMPE
908	help
909	  Say yes here to build support for ST Microelectronics STMPE
910	  built-in ADC block (stmpe811).
911
912config STX104
913	tristate "Apex Embedded Systems STX104 driver"
914	depends on PC104 && X86
915	select ISA_BUS_API
916	select GPIOLIB
917	help
918	  Say yes here to build support for the Apex Embedded Systems STX104
919	  integrated analog PC/104 card.
920
921	  This driver supports the 16 channels of single-ended (8 channels of
922	  differential) analog inputs, 2 channels of analog output, 4 digital
923	  inputs, and 4 digital outputs provided by the STX104.
924
925	  The base port addresses for the devices may be configured via the base
926	  array module parameter.
927
928config SUN4I_GPADC
929	tristate "Support for the Allwinner SoCs GPADC"
930	depends on IIO
931	depends on MFD_SUN4I_GPADC || MACH_SUN8I
932	depends on THERMAL || !THERMAL_OF
933	select REGMAP_IRQ
934	help
935	  Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
936	  GPADC. This ADC provides 4 channels which can be used as an ADC or as
937	  a touchscreen input and one channel for thermal sensor.
938
939	  The thermal sensor slows down ADC readings and can be disabled by
940	  disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
941	  enabled by default since the SoC temperature is usually more critical
942	  than ADC readings.
943
944	  To compile this driver as a module, choose M here: the module will be
945	  called sun4i-gpadc-iio.
946
947config TI_ADC081C
948	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
949	depends on I2C
950	select IIO_BUFFER
951	select IIO_TRIGGERED_BUFFER
952	help
953	  If you say yes here you get support for Texas Instruments ADC081C,
954	  ADC101C and ADC121C ADC chips.
955
956	  This driver can also be built as a module. If so, the module will be
957	  called ti-adc081c.
958
959config TI_ADC0832
960	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
961	depends on SPI
962	select IIO_BUFFER
963	select IIO_TRIGGERED_BUFFER
964	help
965	  If you say yes here you get support for Texas Instruments ADC0831,
966	  ADC0832, ADC0834, ADC0838 ADC chips.
967
968	  This driver can also be built as a module. If so, the module will be
969	  called ti-adc0832.
970
971config TI_ADC084S021
972	tristate "Texas Instruments ADC084S021"
973	depends on SPI
974	select IIO_BUFFER
975	select IIO_TRIGGERED_BUFFER
976	help
977	  If you say yes here you get support for Texas Instruments ADC084S021
978	  chips.
979
980	  This driver can also be built as a module. If so, the module will be
981	  called ti-adc084s021.
982
983config TI_ADC12138
984	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
985	depends on SPI
986	select IIO_BUFFER
987	select IIO_TRIGGERED_BUFFER
988	help
989	  If you say yes here you get support for Texas Instruments ADC12130,
990	  ADC12132 and ADC12138 chips.
991
992	  This driver can also be built as a module. If so, the module will be
993	  called ti-adc12138.
994
995config TI_ADC108S102
996	tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
997	depends on SPI
998	select IIO_BUFFER
999	select IIO_TRIGGERED_BUFFER
1000	help
1001	  Say yes here to build support for Texas Instruments ADC108S102 and
1002	  ADC128S102 ADC.
1003
1004	  To compile this driver as a module, choose M here: the module will
1005	  be called ti-adc108s102.
1006
1007config TI_ADC128S052
1008	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
1009	depends on SPI
1010	help
1011	  If you say yes here you get support for Texas Instruments ADC128S052,
1012	  ADC122S021 and ADC124S021 chips.
1013
1014	  This driver can also be built as a module. If so, the module will be
1015	  called ti-adc128s052.
1016
1017config TI_ADC161S626
1018	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
1019	depends on SPI
1020	select IIO_BUFFER
1021	select IIO_TRIGGERED_BUFFER
1022	help
1023	  If you say yes here you get support for Texas Instruments ADC141S626,
1024	  and ADC161S626 chips.
1025
1026	  This driver can also be built as a module. If so, the module will be
1027	  called ti-adc161s626.
1028
1029config TI_ADS1015
1030	tristate "Texas Instruments ADS1015 ADC"
1031	depends on I2C
1032	select REGMAP_I2C
1033	select IIO_BUFFER
1034	select IIO_TRIGGERED_BUFFER
1035	help
1036	  If you say yes here you get support for Texas Instruments ADS1015
1037	  ADC chip.
1038
1039	  This driver can also be built as a module. If so, the module will be
1040	  called ti-ads1015.
1041
1042config TI_ADS7950
1043	tristate "Texas Instruments ADS7950 ADC driver"
1044	depends on SPI && GPIOLIB
1045	select IIO_BUFFER
1046	select IIO_TRIGGERED_BUFFER
1047	help
1048	  Say yes here to build support for Texas Instruments ADS7950, ADS7951,
1049	  ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
1050	  ADS7960, ADS7961.
1051
1052	  To compile this driver as a module, choose M here: the
1053	  module will be called ti-ads7950.
1054
1055config TI_ADS8344
1056	tristate "Texas Instruments ADS8344"
1057	depends on SPI && OF
1058	help
1059	  If you say yes here you get support for Texas Instruments ADS8344
1060	  ADC chips
1061
1062	  This driver can also be built as a module. If so, the module will be
1063	  called ti-ads8344.
1064
1065config TI_ADS8688
1066	tristate "Texas Instruments ADS8688"
1067	depends on SPI && OF
1068	help
1069	  If you say yes here you get support for Texas Instruments ADS8684 and
1070	  and ADS8688 ADC chips
1071
1072	  This driver can also be built as a module. If so, the module will be
1073	  called ti-ads8688.
1074
1075config TI_ADS124S08
1076	tristate "Texas Instruments ADS124S08"
1077	depends on SPI && OF
1078	help
1079	  If you say yes here you get support for Texas Instruments ADS124S08
1080	  and ADS124S06 ADC chips
1081
1082	  This driver can also be built as a module. If so, the module will be
1083	  called ti-ads124s08.
1084
1085config TI_AM335X_ADC
1086	tristate "TI's AM335X ADC driver"
1087	depends on MFD_TI_AM335X_TSCADC && HAS_DMA
1088	select IIO_BUFFER
1089	select IIO_KFIFO_BUF
1090	help
1091	  Say yes here to build support for Texas Instruments ADC
1092	  driver which is also a MFD client.
1093
1094	  To compile this driver as a module, choose M here: the module will be
1095	  called ti_am335x_adc.
1096
1097config TI_TLC4541
1098	tristate "Texas Instruments TLC4541 ADC driver"
1099	depends on SPI
1100	select IIO_BUFFER
1101	select IIO_TRIGGERED_BUFFER
1102	help
1103	  Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1104	  ADC chips.
1105
1106	  This driver can also be built as a module. If so, the module will be
1107	  called ti-tlc4541.
1108
1109config TWL4030_MADC
1110	tristate "TWL4030 MADC (Monitoring A/D Converter)"
1111	depends on TWL4030_CORE
1112	help
1113	  This driver provides support for Triton TWL4030-MADC. The
1114	  driver supports both RT and SW conversion methods.
1115
1116	  This driver can also be built as a module. If so, the module will be
1117	  called twl4030-madc.
1118
1119config TWL6030_GPADC
1120	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1121	depends on TWL4030_CORE
1122	default n
1123	help
1124	  Say yes here if you want support for the TWL6030/TWL6032 General
1125	  Purpose A/D Converter. This will add support for battery type
1126	  detection, battery voltage and temperature measurement, die
1127	  temperature measurement, system supply voltage, audio accessory,
1128	  USB ID detection.
1129
1130	  This driver can also be built as a module. If so, the module will be
1131	  called twl6030-gpadc.
1132
1133config VF610_ADC
1134	tristate "Freescale vf610 ADC driver"
1135	depends on OF
1136	depends on HAS_IOMEM
1137	select IIO_BUFFER
1138	select IIO_TRIGGERED_BUFFER
1139	help
1140	  Say yes here to support for Vybrid board analog-to-digital converter.
1141	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1142
1143	  This driver can also be built as a module. If so, the module will be
1144	  called vf610_adc.
1145
1146config VIPERBOARD_ADC
1147	tristate "Viperboard ADC support"
1148	depends on MFD_VIPERBOARD && USB
1149	help
1150	  Say yes here to access the ADC part of the Nano River
1151	  Technologies Viperboard.
1152
1153	  To compile this driver as a module, choose M here: the module will be
1154	  called viperboard_adc.
1155
1156config XILINX_XADC
1157	tristate "Xilinx XADC driver"
1158	depends on HAS_IOMEM
1159	select IIO_BUFFER
1160	select IIO_TRIGGERED_BUFFER
1161	help
1162	  Say yes here to have support for the Xilinx XADC. The driver does support
1163	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
1164
1165	  The driver can also be build as a module. If so, the module will be called
1166	  xilinx-xadc.
1167
1168endmenu
1169