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