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