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