Merge tag 'iio-for-4.7a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio...
[cascardo/linux.git] / drivers / iio / adc / Kconfig
1 #
2 # ADC drivers
3 #
4 # When adding new entries keep the list in alphabetical order
5
6 menu "Analog to digital converters"
7
8 config AD_SIGMA_DELTA
9         tristate
10         select IIO_BUFFER
11         select IIO_TRIGGERED_BUFFER
12
13 config 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
26 config 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
36 config 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
48 config 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
61 config AD7791
62         tristate "Analog Devices AD7791 ADC driver"
63         depends on SPI
64         select AD_SIGMA_DELTA
65         help
66           Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
67           AD7790 and AD7791 SPI analog to digital converters (ADC).
68
69           To compile this driver as a module, choose M here: the module will be
70           called ad7791.
71
72 config AD7793
73         tristate "Analog Devices AD7793 and similar ADCs driver"
74         depends on SPI
75         select AD_SIGMA_DELTA
76         help
77           Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
78           AD7794 and AD7795 SPI analog to digital converters (ADC).
79
80           To compile this driver as a module, choose M here: the
81           module will be called AD7793.
82
83 config AD7887
84         tristate "Analog Devices AD7887 ADC driver"
85         depends on SPI
86         select IIO_BUFFER
87         select IIO_TRIGGERED_BUFFER
88         help
89           Say yes here to build support for Analog Devices
90           AD7887 SPI analog to digital converter (ADC).
91
92           To compile this driver as a module, choose M here: the
93           module will be called ad7887.
94
95 config AD7923
96         tristate "Analog Devices AD7923 and similar ADCs 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           AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
103
104           To compile this driver as a module, choose M here: the
105           module will be called ad7923.
106
107 config AD799X
108         tristate "Analog Devices AD799x ADC driver"
109         depends on I2C
110         select IIO_BUFFER
111         select IIO_TRIGGERED_BUFFER
112         help
113           Say yes here to build support for Analog Devices:
114           ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
115           i2c analog to digital converters (ADC). Provides direct access
116           via sysfs.
117
118           To compile this driver as a module, choose M here: the module will be
119           called ad799x.
120
121 config AT91_ADC
122         tristate "Atmel AT91 ADC"
123         depends on ARCH_AT91
124         depends on INPUT
125         select IIO_BUFFER
126         select IIO_TRIGGERED_BUFFER
127         select SYSFS
128         help
129           Say yes here to build support for Atmel AT91 ADC.
130
131           To compile this driver as a module, choose M here: the module will be
132           called at91_adc.
133
134 config AT91_SAMA5D2_ADC
135         tristate "Atmel AT91 SAMA5D2 ADC"
136         depends on ARCH_AT91 || COMPILE_TEST
137         depends on HAS_IOMEM
138         help
139           Say yes here to build support for Atmel SAMA5D2 ADC which is
140           available on SAMA5D2 SoC family.
141
142           To compile this driver as a module, choose M here: the module will be
143           called at91-sama5d2_adc.
144
145 config AXP288_ADC
146         tristate "X-Powers AXP288 ADC driver"
147         depends on MFD_AXP20X
148         help
149           Say yes here to have support for X-Powers power management IC (PMIC) ADC
150           device. Depending on platform configuration, this general purpose ADC can
151           be used for sampling sensors such as thermal resistors.
152
153           To compile this driver as a module, choose M here: the module will be
154           called axp288_adc.
155
156 config BERLIN2_ADC
157         tristate "Marvell Berlin2 ADC driver"
158         depends on ARCH_BERLIN
159         help
160           Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
161           temperature measurement.
162
163 config CC10001_ADC
164         tristate "Cosmic Circuits 10001 ADC driver"
165         depends on HAS_IOMEM && HAVE_CLK && REGULATOR
166         select IIO_BUFFER
167         select IIO_TRIGGERED_BUFFER
168         help
169           Say yes here to build support for Cosmic Circuits 10001 ADC.
170
171           This driver can also be built as a module. If so, the module will be
172           called cc10001_adc.
173
174 config DA9150_GPADC
175         tristate "Dialog DA9150 GPADC driver support"
176         depends on MFD_DA9150
177         help
178           Say yes here to build support for Dialog DA9150 GPADC.
179
180           This driver can also be built as a module. If chosen, the module name
181           will be da9150-gpadc.
182
183           To compile this driver as a module, choose M here: the module will be
184           called berlin2-adc.
185
186 config EXYNOS_ADC
187         tristate "Exynos ADC driver support"
188         depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
189         depends on HAS_IOMEM
190         help
191           Core support for the ADC block found in the Samsung EXYNOS series
192           of SoCs for drivers such as the touchscreen and hwmon to use to share
193           this resource.
194
195           To compile this driver as a module, choose M here: the module will be
196           called exynos_adc.
197
198 config FSL_MX25_ADC
199         tristate "Freescale MX25 ADC driver"
200         depends on MFD_MX25_TSADC
201         help
202           Generic Conversion Queue driver used for general purpose ADC in the
203           MX25. This driver supports single measurements using the MX25 ADC.
204
205 config HI8435
206         tristate "Holt Integrated Circuits HI-8435 threshold detector"
207         select IIO_TRIGGERED_EVENT
208         depends on SPI
209         help
210           If you say yes here you get support for Holt Integrated Circuits
211           HI-8435 chip.
212
213           This driver can also be built as a module. If so, the module will be
214           called hi8435.
215
216 config INA2XX_ADC
217         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
218         depends on I2C && !SENSORS_INA2XX
219         select REGMAP_I2C
220         select IIO_BUFFER
221         select IIO_KFIFO_BUF
222         help
223           Say yes here to build support for TI INA2xx family of Power Monitors.
224           This driver is mutually exclusive with the HWMON version.
225
226 config IMX7D_ADC
227         tristate "IMX7D ADC driver"
228         depends on ARCH_MXC || COMPILE_TEST
229         depends on HAS_IOMEM
230         help
231           Say yes here to build support for IMX7D ADC.
232
233           This driver can also be built as a module. If so, the module will be
234           called imx7d_adc.
235
236 config LP8788_ADC
237         tristate "LP8788 ADC driver"
238         depends on MFD_LP8788
239         help
240           Say yes here to build support for TI LP8788 ADC.
241
242           To compile this driver as a module, choose M here: the module will be
243           called lp8788_adc.
244
245 config LPC18XX_ADC
246         tristate "NXP LPC18xx ADC driver"
247         depends on ARCH_LPC18XX || COMPILE_TEST
248         depends on OF && HAS_IOMEM
249         help
250           Say yes here to build support for NXP LPC18XX ADC.
251
252           To compile this driver as a module, choose M here: the module will be
253           called lpc18xx_adc.
254
255 config MAX1027
256         tristate "Maxim max1027 ADC driver"
257         depends on SPI
258         select IIO_BUFFER
259         select IIO_TRIGGERED_BUFFER
260         help
261           Say yes here to build support for Maxim SPI ADC models
262           max1027, max1029 and max1031.
263
264           To compile this driver as a module, choose M here: the module will be
265           called max1027.
266
267 config MAX1363
268         tristate "Maxim max1363 ADC driver"
269         depends on I2C
270         select IIO_BUFFER
271         select IIO_TRIGGERED_BUFFER
272         help
273           Say yes here to build support for many Maxim i2c analog to digital
274           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
275           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
276           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
277           max11602, max11603, max11604, max11605, max11606, max11607,
278           max11608, max11609, max11610, max11611, max11612, max11613,
279           max11614, max11615, max11616, max11617, max11644, max11645,
280           max11646, max11647) Provides direct access via sysfs and buffered
281           data via the iio dev interface.
282
283           To compile this driver as a module, choose M here: the module will be
284           called max1363.
285
286 config MCP320X
287         tristate "Microchip Technology MCP3x01/02/04/08"
288         depends on SPI
289         help
290           Say yes here to build support for Microchip Technology's
291           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
292           MCP3208 or MCP3301 analog to digital converter.
293
294           This driver can also be built as a module. If so, the module will be
295           called mcp320x.
296
297 config MCP3422
298         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
299         depends on I2C
300         help
301           Say yes here to build support for Microchip Technology's MCP3421
302           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
303           analog to digital converters.
304
305           This driver can also be built as a module. If so, the module will be
306           called mcp3422.
307
308 config MEN_Z188_ADC
309         tristate "MEN 16z188 ADC IP Core support"
310         depends on MCB
311         help
312           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
313           carrier.
314
315           This driver can also be built as a module. If so, the module will be
316           called men_z188_adc.
317
318 config MXS_LRADC
319         tristate "Freescale i.MX23/i.MX28 LRADC"
320         depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
321         depends on INPUT
322         select STMP_DEVICE
323         select IIO_BUFFER
324         select IIO_TRIGGERED_BUFFER
325         help
326           Say yes here to build support for i.MX23/i.MX28 LRADC convertor
327           built into these chips.
328
329           To compile this driver as a module, choose M here: the
330           module will be called mxs-lradc.
331
332 config NAU7802
333         tristate "Nuvoton NAU7802 ADC driver"
334         depends on I2C
335         help
336           Say yes here to build support for Nuvoton NAU7802 ADC.
337
338           To compile this driver as a module, choose M here: the
339           module will be called nau7802.
340
341 config PALMAS_GPADC
342         tristate "TI Palmas General Purpose ADC"
343         depends on MFD_PALMAS
344         help
345           Palmas series pmic chip by Texas Instruments (twl6035/6037)
346           is used in smartphones and tablets and supports a 16 channel
347           general purpose ADC.
348
349 config QCOM_SPMI_IADC
350         tristate "Qualcomm SPMI PMIC current ADC"
351         depends on SPMI
352         select REGMAP_SPMI
353         help
354           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
355
356           The driver supports single mode operation to read from one of two
357           channels (external or internal). Hardware have additional
358           channels internally used for gain and offset calibration.
359
360           To compile this driver as a module, choose M here: the module will
361           be called qcom-spmi-iadc.
362
363 config QCOM_SPMI_VADC
364         tristate "Qualcomm SPMI PMIC voltage ADC"
365         depends on SPMI
366         select REGMAP_SPMI
367         help
368           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
369
370           The driver supports multiple channels read. The VADC is a 15-bit
371           sigma-delta ADC. Some of the channels are internally used for
372           calibration.
373
374           To compile this driver as a module, choose M here: the module will
375           be called qcom-spmi-vadc.
376
377 config ROCKCHIP_SARADC
378         tristate "Rockchip SARADC driver"
379         depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
380         help
381           Say yes here to build support for the SARADC found in SoCs from
382           Rockchip.
383
384           To compile this driver as a module, choose M here: the
385           module will be called rockchip_saradc.
386
387 config TI_ADC081C
388         tristate "Texas Instruments ADC081C021/027"
389         depends on I2C
390         help
391           If you say yes here you get support for Texas Instruments ADC081C021
392           and ADC081C027 ADC chips.
393
394           This driver can also be built as a module. If so, the module will be
395           called ti-adc081c.
396
397 config TI_ADC0832
398         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
399         depends on SPI
400         help
401           If you say yes here you get support for Texas Instruments ADC0831,
402           ADC0832, ADC0834, ADC0838 ADC chips.
403
404           This driver can also be built as a module. If so, the module will be
405           called ti-adc0832.
406
407 config TI_ADC128S052
408         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
409         depends on SPI
410         help
411           If you say yes here you get support for Texas Instruments ADC128S052,
412           ADC122S021 and ADC124S021 chips.
413
414           This driver can also be built as a module. If so, the module will be
415           called ti-adc128s052.
416
417 config TI_ADS1015
418         tristate "Texas Instruments ADS1015 ADC"
419         depends on I2C && !SENSORS_ADS1015
420         select REGMAP_I2C
421         select IIO_BUFFER
422         select IIO_TRIGGERED_BUFFER
423         help
424           If you say yes here you get support for Texas Instruments ADS1015
425           ADC chip.
426
427           This driver can also be built as a module. If so, the module will be
428           called ti-ads1015.
429
430 config TI_ADS8688
431         tristate "Texas Instruments ADS8688"
432         depends on SPI && OF
433         help
434           If you say yes here you get support for Texas Instruments ADS8684 and
435           and ADS8688 ADC chips
436
437           This driver can also be built as a module. If so, the module will be
438           called ti-ads8688.
439
440 config TI_AM335X_ADC
441         tristate "TI's AM335X ADC driver"
442         depends on MFD_TI_AM335X_TSCADC
443         select IIO_BUFFER
444         select IIO_KFIFO_BUF
445         help
446           Say yes here to build support for Texas Instruments ADC
447           driver which is also a MFD client.
448
449           To compile this driver as a module, choose M here: the module will be
450           called ti_am335x_adc.
451
452 config TWL4030_MADC
453         tristate "TWL4030 MADC (Monitoring A/D Converter)"
454         depends on TWL4030_CORE
455         help
456           This driver provides support for Triton TWL4030-MADC. The
457           driver supports both RT and SW conversion methods.
458
459           This driver can also be built as a module. If so, the module will be
460           called twl4030-madc.
461
462 config TWL6030_GPADC
463         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
464         depends on TWL4030_CORE
465         default n
466         help
467           Say yes here if you want support for the TWL6030/TWL6032 General
468           Purpose A/D Converter. This will add support for battery type
469           detection, battery voltage and temperature measurement, die
470           temperature measurement, system supply voltage, audio accessory,
471           USB ID detection.
472
473           This driver can also be built as a module. If so, the module will be
474           called twl6030-gpadc.
475
476 config VF610_ADC
477         tristate "Freescale vf610 ADC driver"
478         depends on OF
479         depends on HAS_IOMEM
480         select IIO_BUFFER
481         select IIO_TRIGGERED_BUFFER
482         help
483           Say yes here to support for Vybrid board analog-to-digital converter.
484           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
485
486           This driver can also be built as a module. If so, the module will be
487           called vf610_adc.
488
489 config VIPERBOARD_ADC
490         tristate "Viperboard ADC support"
491         depends on MFD_VIPERBOARD && USB
492         help
493           Say yes here to access the ADC part of the Nano River
494           Technologies Viperboard.
495
496           To compile this driver as a module, choose M here: the module will be
497           called viperboard_adc.
498
499 config XILINX_XADC
500         tristate "Xilinx XADC driver"
501         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
502         depends on HAS_IOMEM
503         select IIO_BUFFER
504         select IIO_TRIGGERED_BUFFER
505         help
506           Say yes here to have support for the Xilinx XADC. The driver does support
507           both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
508
509           The driver can also be build as a module. If so, the module will be called
510           xilinx-xadc.
511
512 endmenu