xref: /linux/drivers/iio/adc/Kconfig (revision 1f2367a39f17bd553a75e179a747f9b257bc9478)
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 STMPE_ADC
821	tristate "STMicroelectronics STMPE ADC driver"
822	depends on OF && MFD_STMPE
823	help
824	  Say yes here to build support for ST Microelectronics STMPE
825	  built-in ADC block (stmpe811).
826
827config STX104
828	tristate "Apex Embedded Systems STX104 driver"
829	depends on PC104 && X86
830	select ISA_BUS_API
831	select GPIOLIB
832	help
833	  Say yes here to build support for the Apex Embedded Systems STX104
834	  integrated analog PC/104 card.
835
836	  This driver supports the 16 channels of single-ended (8 channels of
837	  differential) analog inputs, 2 channels of analog output, 4 digital
838	  inputs, and 4 digital outputs provided by the STX104.
839
840	  The base port addresses for the devices may be configured via the base
841	  array module parameter.
842
843config SUN4I_GPADC
844	tristate "Support for the Allwinner SoCs GPADC"
845	depends on IIO
846	depends on MFD_SUN4I_GPADC || MACH_SUN8I
847	depends on THERMAL || !THERMAL_OF
848	select REGMAP_IRQ
849	help
850	  Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
851	  GPADC. This ADC provides 4 channels which can be used as an ADC or as
852	  a touchscreen input and one channel for thermal sensor.
853
854	  The thermal sensor slows down ADC readings and can be disabled by
855	  disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
856	  enabled by default since the SoC temperature is usually more critical
857	  than ADC readings.
858
859	  To compile this driver as a module, choose M here: the module will be
860	  called sun4i-gpadc-iio.
861
862config TI_ADC081C
863	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
864	depends on I2C
865	select IIO_BUFFER
866	select IIO_TRIGGERED_BUFFER
867	help
868	  If you say yes here you get support for Texas Instruments ADC081C,
869	  ADC101C and ADC121C ADC chips.
870
871	  This driver can also be built as a module. If so, the module will be
872	  called ti-adc081c.
873
874config TI_ADC0832
875	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
876	depends on SPI
877	select IIO_BUFFER
878	select IIO_TRIGGERED_BUFFER
879	help
880	  If you say yes here you get support for Texas Instruments ADC0831,
881	  ADC0832, ADC0834, ADC0838 ADC chips.
882
883	  This driver can also be built as a module. If so, the module will be
884	  called ti-adc0832.
885
886config TI_ADC084S021
887	tristate "Texas Instruments ADC084S021"
888	depends on SPI
889	select IIO_BUFFER
890	select IIO_TRIGGERED_BUFFER
891	help
892	  If you say yes here you get support for Texas Instruments ADC084S021
893	  chips.
894
895	  This driver can also be built as a module. If so, the module will be
896	  called ti-adc084s021.
897
898config TI_ADC12138
899	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
900	depends on SPI
901	select IIO_BUFFER
902	select IIO_TRIGGERED_BUFFER
903	help
904	  If you say yes here you get support for Texas Instruments ADC12130,
905	  ADC12132 and ADC12138 chips.
906
907	  This driver can also be built as a module. If so, the module will be
908	  called ti-adc12138.
909
910config TI_ADC108S102
911	tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
912	depends on SPI
913	select IIO_BUFFER
914	select IIO_TRIGGERED_BUFFER
915	help
916	  Say yes here to build support for Texas Instruments ADC108S102 and
917	  ADC128S102 ADC.
918
919	  To compile this driver as a module, choose M here: the module will
920	  be called ti-adc108s102.
921
922config TI_ADC128S052
923	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
924	depends on SPI
925	help
926	  If you say yes here you get support for Texas Instruments ADC128S052,
927	  ADC122S021 and ADC124S021 chips.
928
929	  This driver can also be built as a module. If so, the module will be
930	  called ti-adc128s052.
931
932config TI_ADC161S626
933	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
934	depends on SPI
935	select IIO_BUFFER
936	select IIO_TRIGGERED_BUFFER
937	help
938	  If you say yes here you get support for Texas Instruments ADC141S626,
939	  and ADC161S626 chips.
940
941	  This driver can also be built as a module. If so, the module will be
942	  called ti-adc161s626.
943
944config TI_ADS1015
945	tristate "Texas Instruments ADS1015 ADC"
946	depends on I2C && !SENSORS_ADS1015
947	select REGMAP_I2C
948	select IIO_BUFFER
949	select IIO_TRIGGERED_BUFFER
950	help
951	  If you say yes here you get support for Texas Instruments ADS1015
952	  ADC chip.
953
954	  This driver can also be built as a module. If so, the module will be
955	  called ti-ads1015.
956
957config TI_ADS7950
958	tristate "Texas Instruments ADS7950 ADC driver"
959	depends on SPI
960	select IIO_BUFFER
961	select IIO_TRIGGERED_BUFFER
962	help
963	  Say yes here to build support for Texas Instruments ADS7950, ADS7951,
964	  ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
965	  ADS7960, ADS7961.
966
967	  To compile this driver as a module, choose M here: the
968	  module will be called ti-ads7950.
969
970config TI_ADS8688
971	tristate "Texas Instruments ADS8688"
972	depends on SPI && OF
973	help
974	  If you say yes here you get support for Texas Instruments ADS8684 and
975	  and ADS8688 ADC chips
976
977	  This driver can also be built as a module. If so, the module will be
978	  called ti-ads8688.
979
980config TI_ADS124S08
981	tristate "Texas Instruments ADS124S08"
982	depends on SPI && OF
983	help
984	  If you say yes here you get support for Texas Instruments ADS124S08
985	  and ADS124S06 ADC chips
986
987	  This driver can also be built as a module. If so, the module will be
988	  called ti-ads124s08.
989
990config TI_AM335X_ADC
991	tristate "TI's AM335X ADC driver"
992	depends on MFD_TI_AM335X_TSCADC && HAS_DMA
993	select IIO_BUFFER
994	select IIO_KFIFO_BUF
995	help
996	  Say yes here to build support for Texas Instruments ADC
997	  driver which is also a MFD client.
998
999	  To compile this driver as a module, choose M here: the module will be
1000	  called ti_am335x_adc.
1001
1002config TI_TLC4541
1003	tristate "Texas Instruments TLC4541 ADC driver"
1004	depends on SPI
1005	select IIO_BUFFER
1006	select IIO_TRIGGERED_BUFFER
1007	help
1008	  Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1009	  ADC chips.
1010
1011	  This driver can also be built as a module. If so, the module will be
1012	  called ti-tlc4541.
1013
1014config TWL4030_MADC
1015	tristate "TWL4030 MADC (Monitoring A/D Converter)"
1016	depends on TWL4030_CORE
1017	help
1018	  This driver provides support for Triton TWL4030-MADC. The
1019	  driver supports both RT and SW conversion methods.
1020
1021	  This driver can also be built as a module. If so, the module will be
1022	  called twl4030-madc.
1023
1024config TWL6030_GPADC
1025	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1026	depends on TWL4030_CORE
1027	default n
1028	help
1029	  Say yes here if you want support for the TWL6030/TWL6032 General
1030	  Purpose A/D Converter. This will add support for battery type
1031	  detection, battery voltage and temperature measurement, die
1032	  temperature measurement, system supply voltage, audio accessory,
1033	  USB ID detection.
1034
1035	  This driver can also be built as a module. If so, the module will be
1036	  called twl6030-gpadc.
1037
1038config VF610_ADC
1039	tristate "Freescale vf610 ADC driver"
1040	depends on OF
1041	depends on HAS_IOMEM
1042	select IIO_BUFFER
1043	select IIO_TRIGGERED_BUFFER
1044	help
1045	  Say yes here to support for Vybrid board analog-to-digital converter.
1046	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1047
1048	  This driver can also be built as a module. If so, the module will be
1049	  called vf610_adc.
1050
1051config VIPERBOARD_ADC
1052	tristate "Viperboard ADC support"
1053	depends on MFD_VIPERBOARD && USB
1054	help
1055	  Say yes here to access the ADC part of the Nano River
1056	  Technologies Viperboard.
1057
1058	  To compile this driver as a module, choose M here: the module will be
1059	  called viperboard_adc.
1060
1061config XILINX_XADC
1062	tristate "Xilinx XADC driver"
1063	depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
1064	depends on HAS_IOMEM
1065	select IIO_BUFFER
1066	select IIO_TRIGGERED_BUFFER
1067	help
1068	  Say yes here to have support for the Xilinx XADC. The driver does support
1069	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
1070
1071	  The driver can also be build as a module. If so, the module will be called
1072	  xilinx-xadc.
1073
1074endmenu
1075