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