xref: /openbmc/linux/drivers/iio/adc/Kconfig (revision 87d08b11)
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 AD7266
14	tristate "Analog Devices AD7265/AD7266 ADC driver"
15	depends on SPI_MASTER
16	select IIO_BUFFER
17	select IIO_TRIGGER
18	select IIO_TRIGGERED_BUFFER
19	help
20	  Say yes here to build support for Analog Devices AD7265 and AD7266
21	  ADCs.
22
23	  To compile this driver as a module, choose M here: the module will be
24	  called ad7266.
25
26config AD7291
27	tristate "Analog Devices AD7291 ADC driver"
28	depends on I2C
29	help
30	  Say yes here to build support for Analog Devices AD7291
31	  8 Channel ADC with temperature sensor.
32
33	  To compile this driver as a module, choose M here: the
34	  module will be called ad7291.
35
36config AD7298
37	tristate "Analog Devices AD7298 ADC driver"
38	depends on SPI
39	select IIO_BUFFER
40	select IIO_TRIGGERED_BUFFER
41	help
42	  Say yes here to build support for Analog Devices AD7298
43	  8 Channel ADC with temperature sensor.
44
45	  To compile this driver as a module, choose M here: the
46	  module will be called ad7298.
47
48config AD7476
49	tristate "Analog Devices AD7476 and similar 1-channel ADCs driver"
50	depends on SPI
51	select IIO_BUFFER
52	select IIO_TRIGGERED_BUFFER
53	help
54	  Say yes here to build support for Analog Devices AD7273, AD7274, AD7276,
55	  AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468,
56	  AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC).
57
58	  To compile this driver as a module, choose M here: the
59	  module will be called ad7476.
60
61config AD7766
62	tristate "Analog Devices AD7766/AD7767 ADC driver"
63	depends on SPI_MASTER
64	select IIO_BUFFER
65	select IIO_TRIGGERED_BUFFER
66	help
67	  Say yes here to build support for Analog Devices AD7766, AD7766-1,
68	  AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.
69
70	  To compile this driver as a module, choose M here: the module will be
71	  called ad7766.
72
73config AD7791
74	tristate "Analog Devices AD7791 ADC driver"
75	depends on SPI
76	select AD_SIGMA_DELTA
77	help
78	  Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
79	  AD7790 and AD7791 SPI analog to digital converters (ADC).
80
81	  To compile this driver as a module, choose M here: the module will be
82	  called ad7791.
83
84config AD7793
85	tristate "Analog Devices AD7793 and similar ADCs driver"
86	depends on SPI
87	select AD_SIGMA_DELTA
88	help
89	  Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
90	  AD7794 and AD7795 SPI analog to digital converters (ADC).
91
92	  To compile this driver as a module, choose M here: the
93	  module will be called AD7793.
94
95config AD7887
96	tristate "Analog Devices AD7887 ADC driver"
97	depends on SPI
98	select IIO_BUFFER
99	select IIO_TRIGGERED_BUFFER
100	help
101	  Say yes here to build support for Analog Devices
102	  AD7887 SPI analog to digital converter (ADC).
103
104	  To compile this driver as a module, choose M here: the
105	  module will be called ad7887.
106
107config AD7923
108	tristate "Analog Devices AD7923 and similar ADCs driver"
109	depends on SPI
110	select IIO_BUFFER
111	select IIO_TRIGGERED_BUFFER
112	help
113	  Say yes here to build support for Analog Devices
114	  AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
115
116	  To compile this driver as a module, choose M here: the
117	  module will be called ad7923.
118
119config AD799X
120	tristate "Analog Devices AD799x ADC driver"
121	depends on I2C
122	select IIO_BUFFER
123	select IIO_TRIGGERED_BUFFER
124	help
125	  Say yes here to build support for Analog Devices:
126	  ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
127	  i2c analog to digital converters (ADC). Provides direct access
128	  via sysfs.
129
130	  To compile this driver as a module, choose M here: the module will be
131	  called ad799x.
132
133config AT91_ADC
134	tristate "Atmel AT91 ADC"
135	depends on ARCH_AT91
136	depends on INPUT
137	select IIO_BUFFER
138	select IIO_TRIGGERED_BUFFER
139	select SYSFS
140	help
141	  Say yes here to build support for Atmel AT91 ADC.
142
143	  To compile this driver as a module, choose M here: the module will be
144	  called at91_adc.
145
146config AT91_SAMA5D2_ADC
147	tristate "Atmel AT91 SAMA5D2 ADC"
148	depends on ARCH_AT91 || COMPILE_TEST
149	depends on HAS_IOMEM
150	help
151	  Say yes here to build support for Atmel SAMA5D2 ADC which is
152	  available on SAMA5D2 SoC family.
153
154	  To compile this driver as a module, choose M here: the module will be
155	  called at91-sama5d2_adc.
156
157config AXP288_ADC
158	tristate "X-Powers AXP288 ADC driver"
159	depends on MFD_AXP20X
160	help
161	  Say yes here to have support for X-Powers power management IC (PMIC) ADC
162	  device. Depending on platform configuration, this general purpose ADC can
163	  be used for sampling sensors such as thermal resistors.
164
165	  To compile this driver as a module, choose M here: the module will be
166	  called axp288_adc.
167
168config BCM_IPROC_ADC
169	tristate "Broadcom IPROC ADC driver"
170	depends on ARCH_BCM_IPROC || COMPILE_TEST
171	depends on MFD_SYSCON
172	default ARCH_BCM_CYGNUS
173	help
174	  Say Y here if you want to add support for the Broadcom static
175	  ADC driver.
176
177	  Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
178	  channels. The driver allows the user to read voltage values.
179
180config BERLIN2_ADC
181	tristate "Marvell Berlin2 ADC driver"
182	depends on ARCH_BERLIN
183	help
184	  Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
185	  temperature measurement.
186
187config CC10001_ADC
188	tristate "Cosmic Circuits 10001 ADC driver"
189	depends on HAS_IOMEM && HAVE_CLK && REGULATOR
190	select IIO_BUFFER
191	select IIO_TRIGGERED_BUFFER
192	help
193	  Say yes here to build support for Cosmic Circuits 10001 ADC.
194
195	  This driver can also be built as a module. If so, the module will be
196	  called cc10001_adc.
197
198config DA9150_GPADC
199	tristate "Dialog DA9150 GPADC driver support"
200	depends on MFD_DA9150
201	help
202	  Say yes here to build support for Dialog DA9150 GPADC.
203
204	  This driver can also be built as a module. If chosen, the module name
205	  will be da9150-gpadc.
206
207	  To compile this driver as a module, choose M here: the module will be
208	  called berlin2-adc.
209
210config ENVELOPE_DETECTOR
211	tristate "Envelope detector using a DAC and a comparator"
212	depends on OF
213	help
214	  Say yes here to build support for an envelope detector using a DAC
215	  and a comparator.
216
217	  To compile this driver as a module, choose M here: the module will be
218	  called envelope-detector.
219
220config EXYNOS_ADC
221	tristate "Exynos ADC driver support"
222	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
223	depends on HAS_IOMEM
224	help
225	  Core support for the ADC block found in the Samsung EXYNOS series
226	  of SoCs for drivers such as the touchscreen and hwmon to use to share
227	  this resource.
228
229	  To compile this driver as a module, choose M here: the module will be
230	  called exynos_adc.
231
232config FSL_MX25_ADC
233	tristate "Freescale MX25 ADC driver"
234	depends on MFD_MX25_TSADC
235	help
236	  Generic Conversion Queue driver used for general purpose ADC in the
237	  MX25. This driver supports single measurements using the MX25 ADC.
238
239config HI8435
240	tristate "Holt Integrated Circuits HI-8435 threshold detector"
241	select IIO_TRIGGERED_EVENT
242	depends on SPI
243	help
244	  If you say yes here you get support for Holt Integrated Circuits
245	  HI-8435 chip.
246
247	  This driver can also be built as a module. If so, the module will be
248	  called hi8435.
249
250config INA2XX_ADC
251	tristate "Texas Instruments INA2xx Power Monitors IIO driver"
252	depends on I2C && !SENSORS_INA2XX
253	select REGMAP_I2C
254	select IIO_BUFFER
255	select IIO_KFIFO_BUF
256	help
257	  Say yes here to build support for TI INA2xx family of Power Monitors.
258	  This driver is mutually exclusive with the HWMON version.
259
260config IMX7D_ADC
261	tristate "IMX7D ADC driver"
262	depends on ARCH_MXC || COMPILE_TEST
263	depends on HAS_IOMEM
264	help
265	  Say yes here to build support for IMX7D ADC.
266
267	  This driver can also be built as a module. If so, the module will be
268	  called imx7d_adc.
269
270config LP8788_ADC
271	tristate "LP8788 ADC driver"
272	depends on MFD_LP8788
273	help
274	  Say yes here to build support for TI LP8788 ADC.
275
276	  To compile this driver as a module, choose M here: the module will be
277	  called lp8788_adc.
278
279config LPC18XX_ADC
280	tristate "NXP LPC18xx ADC driver"
281	depends on ARCH_LPC18XX || COMPILE_TEST
282	depends on OF && HAS_IOMEM
283	help
284	  Say yes here to build support for NXP LPC18XX ADC.
285
286	  To compile this driver as a module, choose M here: the module will be
287	  called lpc18xx_adc.
288
289config LTC2485
290	tristate "Linear Technology LTC2485 ADC driver"
291	depends on I2C
292	help
293	  Say yes here to build support for Linear Technology LTC2485 ADC.
294
295	  To compile this driver as a module, choose M here: the module will be
296	  called ltc2485.
297
298config MAX1027
299	tristate "Maxim max1027 ADC driver"
300	depends on SPI
301	select IIO_BUFFER
302	select IIO_TRIGGERED_BUFFER
303	help
304	  Say yes here to build support for Maxim SPI ADC models
305	  max1027, max1029 and max1031.
306
307	  To compile this driver as a module, choose M here: the module will be
308	  called max1027.
309
310config MAX1363
311	tristate "Maxim max1363 ADC driver"
312	depends on I2C
313	select IIO_BUFFER
314	select IIO_TRIGGERED_BUFFER
315	help
316	  Say yes here to build support for many Maxim i2c analog to digital
317	  converters (ADC). (max1361, max1362, max1363, max1364, max1036,
318	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
319	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
320	  max11602, max11603, max11604, max11605, max11606, max11607,
321	  max11608, max11609, max11610, max11611, max11612, max11613,
322	  max11614, max11615, max11616, max11617, max11644, max11645,
323	  max11646, max11647) Provides direct access via sysfs and buffered
324	  data via the iio dev interface.
325
326	  To compile this driver as a module, choose M here: the module will be
327	  called max1363.
328
329config MCP320X
330	tristate "Microchip Technology MCP3x01/02/04/08"
331	depends on SPI
332	help
333	  Say yes here to build support for Microchip Technology's
334	  MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
335	  MCP3208 or MCP3301 analog to digital converter.
336
337	  This driver can also be built as a module. If so, the module will be
338	  called mcp320x.
339
340config MCP3422
341	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
342	depends on I2C
343	help
344	  Say yes here to build support for Microchip Technology's MCP3421
345	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
346	  analog to digital converters.
347
348	  This driver can also be built as a module. If so, the module will be
349	  called mcp3422.
350
351config MEDIATEK_MT6577_AUXADC
352        tristate "MediaTek AUXADC driver"
353        depends on ARCH_MEDIATEK || COMPILE_TEST
354        depends on HAS_IOMEM
355        help
356          Say yes here to enable support for MediaTek mt65xx AUXADC.
357
358          The driver supports immediate mode operation to read from one of sixteen
359          channels (external or internal).
360
361          This driver can also be built as a module. If so, the module will be
362          called mt6577_auxadc.
363
364config MEN_Z188_ADC
365	tristate "MEN 16z188 ADC IP Core support"
366	depends on MCB
367	help
368	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
369	  carrier.
370
371	  This driver can also be built as a module. If so, the module will be
372	  called men_z188_adc.
373
374config MXS_LRADC
375        tristate "Freescale i.MX23/i.MX28 LRADC"
376        depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
377        depends on INPUT
378        select STMP_DEVICE
379        select IIO_BUFFER
380        select IIO_TRIGGERED_BUFFER
381        help
382          Say yes here to build support for i.MX23/i.MX28 LRADC convertor
383          built into these chips.
384
385          To compile this driver as a module, choose M here: the
386          module will be called mxs-lradc.
387
388config NAU7802
389	tristate "Nuvoton NAU7802 ADC driver"
390	depends on I2C
391	help
392	  Say yes here to build support for Nuvoton NAU7802 ADC.
393
394	  To compile this driver as a module, choose M here: the
395	  module will be called nau7802.
396
397config PALMAS_GPADC
398	tristate "TI Palmas General Purpose ADC"
399	depends on MFD_PALMAS
400	help
401	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
402	  is used in smartphones and tablets and supports a 16 channel
403	  general purpose ADC.
404
405config QCOM_SPMI_IADC
406	tristate "Qualcomm SPMI PMIC current ADC"
407	depends on SPMI
408	select REGMAP_SPMI
409	help
410	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
411
412	  The driver supports single mode operation to read from one of two
413	  channels (external or internal). Hardware have additional
414	  channels internally used for gain and offset calibration.
415
416	  To compile this driver as a module, choose M here: the module will
417	  be called qcom-spmi-iadc.
418
419config QCOM_SPMI_VADC
420	tristate "Qualcomm SPMI PMIC voltage ADC"
421	depends on SPMI
422	select REGMAP_SPMI
423	help
424	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
425
426	  The driver supports multiple channels read. The VADC is a 15-bit
427	  sigma-delta ADC. Some of the channels are internally used for
428	  calibration.
429
430	  To compile this driver as a module, choose M here: the module will
431	  be called qcom-spmi-vadc.
432
433config ROCKCHIP_SARADC
434	tristate "Rockchip SARADC driver"
435	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
436	depends on RESET_CONTROLLER
437	help
438	  Say yes here to build support for the SARADC found in SoCs from
439	  Rockchip.
440
441	  To compile this driver as a module, choose M here: the
442	  module will be called rockchip_saradc.
443
444config STM32_ADC_CORE
445	tristate "STMicroelectronics STM32 adc core"
446	depends on ARCH_STM32 || COMPILE_TEST
447	depends on OF
448	depends on REGULATOR
449	help
450	  Select this option to enable the core driver for STMicroelectronics
451	  STM32 analog-to-digital converter (ADC).
452
453	  This driver can also be built as a module.  If so, the module
454	  will be called stm32-adc-core.
455
456config STM32_ADC
457	tristate "STMicroelectronics STM32 adc"
458	depends on STM32_ADC_CORE
459	help
460	  Say yes here to build support for STMicroelectronics stm32 Analog
461	  to Digital Converter (ADC).
462
463	  This driver can also be built as a module.  If so, the module
464	  will be called stm32-adc.
465
466config STX104
467	tristate "Apex Embedded Systems STX104 driver"
468	depends on X86 && ISA_BUS_API
469	select GPIOLIB
470	help
471	  Say yes here to build support for the Apex Embedded Systems STX104
472	  integrated analog PC/104 card.
473
474	  This driver supports the 16 channels of single-ended (8 channels of
475	  differential) analog inputs, 2 channels of analog output, 4 digital
476	  inputs, and 4 digital outputs provided by the STX104.
477
478	  The base port addresses for the devices may be configured via the base
479	  array module parameter.
480
481config TI_ADC081C
482	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
483	depends on I2C
484	select IIO_BUFFER
485	select IIO_TRIGGERED_BUFFER
486	help
487	  If you say yes here you get support for Texas Instruments ADC081C,
488	  ADC101C and ADC121C ADC chips.
489
490	  This driver can also be built as a module. If so, the module will be
491	  called ti-adc081c.
492
493config TI_ADC0832
494	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
495	depends on SPI
496	select IIO_BUFFER
497	select IIO_TRIGGERED_BUFFER
498	help
499	  If you say yes here you get support for Texas Instruments ADC0831,
500	  ADC0832, ADC0834, ADC0838 ADC chips.
501
502	  This driver can also be built as a module. If so, the module will be
503	  called ti-adc0832.
504
505config TI_ADC12138
506	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
507	depends on SPI
508	select IIO_BUFFER
509	select IIO_TRIGGERED_BUFFER
510	help
511	  If you say yes here you get support for Texas Instruments ADC12130,
512	  ADC12132 and ADC12138 chips.
513
514	  This driver can also be built as a module. If so, the module will be
515	  called ti-adc12138.
516
517config TI_ADC128S052
518	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
519	depends on SPI
520	help
521	  If you say yes here you get support for Texas Instruments ADC128S052,
522	  ADC122S021 and ADC124S021 chips.
523
524	  This driver can also be built as a module. If so, the module will be
525	  called ti-adc128s052.
526
527config TI_ADC161S626
528	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
529	depends on SPI
530	select IIO_BUFFER
531	select IIO_TRIGGERED_BUFFER
532	help
533	  If you say yes here you get support for Texas Instruments ADC141S626,
534	  and ADC161S626 chips.
535
536	  This driver can also be built as a module. If so, the module will be
537	  called ti-adc161s626.
538
539config TI_ADS1015
540	tristate "Texas Instruments ADS1015 ADC"
541	depends on I2C && !SENSORS_ADS1015
542	select REGMAP_I2C
543	select IIO_BUFFER
544	select IIO_TRIGGERED_BUFFER
545	help
546	  If you say yes here you get support for Texas Instruments ADS1015
547	  ADC chip.
548
549	  This driver can also be built as a module. If so, the module will be
550	  called ti-ads1015.
551
552config TI_ADS8688
553	tristate "Texas Instruments ADS8688"
554	depends on SPI && OF
555	help
556	  If you say yes here you get support for Texas Instruments ADS8684 and
557	  and ADS8688 ADC chips
558
559	  This driver can also be built as a module. If so, the module will be
560	  called ti-ads8688.
561
562config TI_AM335X_ADC
563	tristate "TI's AM335X ADC driver"
564	depends on MFD_TI_AM335X_TSCADC
565	select IIO_BUFFER
566	select IIO_KFIFO_BUF
567	help
568	  Say yes here to build support for Texas Instruments ADC
569	  driver which is also a MFD client.
570
571	  To compile this driver as a module, choose M here: the module will be
572	  called ti_am335x_adc.
573
574config TWL4030_MADC
575	tristate "TWL4030 MADC (Monitoring A/D Converter)"
576	depends on TWL4030_CORE
577	help
578	  This driver provides support for Triton TWL4030-MADC. The
579	  driver supports both RT and SW conversion methods.
580
581	  This driver can also be built as a module. If so, the module will be
582	  called twl4030-madc.
583
584config TWL6030_GPADC
585	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
586	depends on TWL4030_CORE
587	default n
588	help
589	  Say yes here if you want support for the TWL6030/TWL6032 General
590	  Purpose A/D Converter. This will add support for battery type
591	  detection, battery voltage and temperature measurement, die
592	  temperature measurement, system supply voltage, audio accessory,
593	  USB ID detection.
594
595	  This driver can also be built as a module. If so, the module will be
596	  called twl6030-gpadc.
597
598config VF610_ADC
599	tristate "Freescale vf610 ADC driver"
600	depends on OF
601	depends on HAS_IOMEM
602	select IIO_BUFFER
603	select IIO_TRIGGERED_BUFFER
604	help
605	  Say yes here to support for Vybrid board analog-to-digital converter.
606	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
607
608	  This driver can also be built as a module. If so, the module will be
609	  called vf610_adc.
610
611config VIPERBOARD_ADC
612	tristate "Viperboard ADC support"
613	depends on MFD_VIPERBOARD && USB
614	help
615	  Say yes here to access the ADC part of the Nano River
616	  Technologies Viperboard.
617
618	  To compile this driver as a module, choose M here: the module will be
619	  called viperboard_adc.
620
621config XILINX_XADC
622	tristate "Xilinx XADC driver"
623	depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
624	depends on HAS_IOMEM
625	select IIO_BUFFER
626	select IIO_TRIGGERED_BUFFER
627	help
628	  Say yes here to have support for the Xilinx XADC. The driver does support
629	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
630
631	  The driver can also be build as a module. If so, the module will be called
632	  xilinx-xadc.
633
634endmenu
635