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