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