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