Merge tag 'driver-core-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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 BCM_IPROC_ADC
157         tristate "Broadcom IPROC ADC driver"
158         depends on ARCH_BCM_IPROC || COMPILE_TEST
159         depends on MFD_SYSCON
160         default ARCH_BCM_CYGNUS
161         help
162           Say Y here if you want to add support for the Broadcom static
163           ADC driver.
164
165           Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
166           channels. The driver allows the user to read voltage values.
167
168 config BERLIN2_ADC
169         tristate "Marvell Berlin2 ADC driver"
170         depends on ARCH_BERLIN
171         help
172           Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
173           temperature measurement.
174
175 config CC10001_ADC
176         tristate "Cosmic Circuits 10001 ADC driver"
177         depends on HAS_IOMEM && HAVE_CLK && REGULATOR
178         select IIO_BUFFER
179         select IIO_TRIGGERED_BUFFER
180         help
181           Say yes here to build support for Cosmic Circuits 10001 ADC.
182
183           This driver can also be built as a module. If so, the module will be
184           called cc10001_adc.
185
186 config DA9150_GPADC
187         tristate "Dialog DA9150 GPADC driver support"
188         depends on MFD_DA9150
189         help
190           Say yes here to build support for Dialog DA9150 GPADC.
191
192           This driver can also be built as a module. If chosen, the module name
193           will be da9150-gpadc.
194
195           To compile this driver as a module, choose M here: the module will be
196           called berlin2-adc.
197
198 config EXYNOS_ADC
199         tristate "Exynos ADC driver support"
200         depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
201         depends on HAS_IOMEM
202         help
203           Core support for the ADC block found in the Samsung EXYNOS series
204           of SoCs for drivers such as the touchscreen and hwmon to use to share
205           this resource.
206
207           To compile this driver as a module, choose M here: the module will be
208           called exynos_adc.
209
210 config FSL_MX25_ADC
211         tristate "Freescale MX25 ADC driver"
212         depends on MFD_MX25_TSADC
213         help
214           Generic Conversion Queue driver used for general purpose ADC in the
215           MX25. This driver supports single measurements using the MX25 ADC.
216
217 config HI8435
218         tristate "Holt Integrated Circuits HI-8435 threshold detector"
219         select IIO_TRIGGERED_EVENT
220         depends on SPI
221         help
222           If you say yes here you get support for Holt Integrated Circuits
223           HI-8435 chip.
224
225           This driver can also be built as a module. If so, the module will be
226           called hi8435.
227
228 config INA2XX_ADC
229         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
230         depends on I2C && !SENSORS_INA2XX
231         select REGMAP_I2C
232         select IIO_BUFFER
233         select IIO_KFIFO_BUF
234         help
235           Say yes here to build support for TI INA2xx family of Power Monitors.
236           This driver is mutually exclusive with the HWMON version.
237
238 config IMX7D_ADC
239         tristate "IMX7D ADC driver"
240         depends on ARCH_MXC || COMPILE_TEST
241         depends on HAS_IOMEM
242         help
243           Say yes here to build support for IMX7D ADC.
244
245           This driver can also be built as a module. If so, the module will be
246           called imx7d_adc.
247
248 config LP8788_ADC
249         tristate "LP8788 ADC driver"
250         depends on MFD_LP8788
251         help
252           Say yes here to build support for TI LP8788 ADC.
253
254           To compile this driver as a module, choose M here: the module will be
255           called lp8788_adc.
256
257 config LPC18XX_ADC
258         tristate "NXP LPC18xx ADC driver"
259         depends on ARCH_LPC18XX || COMPILE_TEST
260         depends on OF && HAS_IOMEM
261         help
262           Say yes here to build support for NXP LPC18XX ADC.
263
264           To compile this driver as a module, choose M here: the module will be
265           called lpc18xx_adc.
266
267 config LTC2485
268         tristate "Linear Technology LTC2485 ADC driver"
269         depends on I2C
270         help
271           Say yes here to build support for Linear Technology LTC2485 ADC.
272
273           To compile this driver as a module, choose M here: the module will be
274           called ltc2485.
275
276 config MAX1027
277         tristate "Maxim max1027 ADC driver"
278         depends on SPI
279         select IIO_BUFFER
280         select IIO_TRIGGERED_BUFFER
281         help
282           Say yes here to build support for Maxim SPI ADC models
283           max1027, max1029 and max1031.
284
285           To compile this driver as a module, choose M here: the module will be
286           called max1027.
287
288 config MAX1363
289         tristate "Maxim max1363 ADC driver"
290         depends on I2C
291         select IIO_BUFFER
292         select IIO_TRIGGERED_BUFFER
293         help
294           Say yes here to build support for many Maxim i2c analog to digital
295           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
296           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
297           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
298           max11602, max11603, max11604, max11605, max11606, max11607,
299           max11608, max11609, max11610, max11611, max11612, max11613,
300           max11614, max11615, max11616, max11617, max11644, max11645,
301           max11646, max11647) Provides direct access via sysfs and buffered
302           data via the iio dev interface.
303
304           To compile this driver as a module, choose M here: the module will be
305           called max1363.
306
307 config MCP320X
308         tristate "Microchip Technology MCP3x01/02/04/08"
309         depends on SPI
310         help
311           Say yes here to build support for Microchip Technology's
312           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
313           MCP3208 or MCP3301 analog to digital converter.
314
315           This driver can also be built as a module. If so, the module will be
316           called mcp320x.
317
318 config MCP3422
319         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
320         depends on I2C
321         help
322           Say yes here to build support for Microchip Technology's MCP3421
323           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
324           analog to digital converters.
325
326           This driver can also be built as a module. If so, the module will be
327           called mcp3422.
328
329 config MEDIATEK_MT6577_AUXADC
330         tristate "MediaTek AUXADC driver"
331         depends on ARCH_MEDIATEK || COMPILE_TEST
332         depends on HAS_IOMEM
333         help
334           Say yes here to enable support for MediaTek mt65xx AUXADC.
335
336           The driver supports immediate mode operation to read from one of sixteen
337           channels (external or internal).
338
339           This driver can also be built as a module. If so, the module will be
340           called mt6577_auxadc.
341
342 config MEN_Z188_ADC
343         tristate "MEN 16z188 ADC IP Core support"
344         depends on MCB
345         help
346           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
347           carrier.
348
349           This driver can also be built as a module. If so, the module will be
350           called men_z188_adc.
351
352 config MXS_LRADC
353         tristate "Freescale i.MX23/i.MX28 LRADC"
354         depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
355         depends on INPUT
356         select STMP_DEVICE
357         select IIO_BUFFER
358         select IIO_TRIGGERED_BUFFER
359         help
360           Say yes here to build support for i.MX23/i.MX28 LRADC convertor
361           built into these chips.
362
363           To compile this driver as a module, choose M here: the
364           module will be called mxs-lradc.
365
366 config NAU7802
367         tristate "Nuvoton NAU7802 ADC driver"
368         depends on I2C
369         help
370           Say yes here to build support for Nuvoton NAU7802 ADC.
371
372           To compile this driver as a module, choose M here: the
373           module will be called nau7802.
374
375 config PALMAS_GPADC
376         tristate "TI Palmas General Purpose ADC"
377         depends on MFD_PALMAS
378         help
379           Palmas series pmic chip by Texas Instruments (twl6035/6037)
380           is used in smartphones and tablets and supports a 16 channel
381           general purpose ADC.
382
383 config QCOM_SPMI_IADC
384         tristate "Qualcomm SPMI PMIC current ADC"
385         depends on SPMI
386         select REGMAP_SPMI
387         help
388           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
389
390           The driver supports single mode operation to read from one of two
391           channels (external or internal). Hardware have additional
392           channels internally used for gain and offset calibration.
393
394           To compile this driver as a module, choose M here: the module will
395           be called qcom-spmi-iadc.
396
397 config QCOM_SPMI_VADC
398         tristate "Qualcomm SPMI PMIC voltage ADC"
399         depends on SPMI
400         select REGMAP_SPMI
401         help
402           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
403
404           The driver supports multiple channels read. The VADC is a 15-bit
405           sigma-delta ADC. Some of the channels are internally used for
406           calibration.
407
408           To compile this driver as a module, choose M here: the module will
409           be called qcom-spmi-vadc.
410
411 config ROCKCHIP_SARADC
412         tristate "Rockchip SARADC driver"
413         depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
414         depends on RESET_CONTROLLER
415         help
416           Say yes here to build support for the SARADC found in SoCs from
417           Rockchip.
418
419           To compile this driver as a module, choose M here: the
420           module will be called rockchip_saradc.
421
422 config STX104
423         tristate "Apex Embedded Systems STX104 driver"
424         depends on X86 && ISA_BUS_API
425         select GPIOLIB
426         help
427           Say yes here to build support for the Apex Embedded Systems STX104
428           integrated analog PC/104 card.
429
430           This driver supports the 16 channels of single-ended (8 channels of
431           differential) analog inputs, 2 channels of analog output, 4 digital
432           inputs, and 4 digital outputs provided by the STX104.
433
434           The base port addresses for the devices may be configured via the base
435           array module parameter.
436
437 config TI_ADC081C
438         tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
439         depends on I2C
440         select IIO_BUFFER
441         select IIO_TRIGGERED_BUFFER
442         help
443           If you say yes here you get support for Texas Instruments ADC081C,
444           ADC101C and ADC121C ADC chips.
445
446           This driver can also be built as a module. If so, the module will be
447           called ti-adc081c.
448
449 config TI_ADC0832
450         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
451         depends on SPI
452         help
453           If you say yes here you get support for Texas Instruments ADC0831,
454           ADC0832, ADC0834, ADC0838 ADC chips.
455
456           This driver can also be built as a module. If so, the module will be
457           called ti-adc0832.
458
459 config TI_ADC12138
460         tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
461         depends on SPI
462         select IIO_BUFFER
463         select IIO_TRIGGERED_BUFFER
464         help
465           If you say yes here you get support for Texas Instruments ADC12130,
466           ADC12132 and ADC12138 chips.
467
468           This driver can also be built as a module. If so, the module will be
469           called ti-adc12138.
470
471 config TI_ADC128S052
472         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
473         depends on SPI
474         help
475           If you say yes here you get support for Texas Instruments ADC128S052,
476           ADC122S021 and ADC124S021 chips.
477
478           This driver can also be built as a module. If so, the module will be
479           called ti-adc128s052.
480
481 config TI_ADC161S626
482         tristate "Texas Instruments ADC161S626 1-channel differential ADC"
483         depends on SPI
484         select IIO_BUFFER
485         select IIO_TRIGGERED_BUFFER
486         help
487           If you say yes here you get support for Texas Instruments ADC141S626,
488           and ADC161S626 chips.
489
490           This driver can also be built as a module. If so, the module will be
491           called ti-adc161s626.
492
493 config TI_ADS1015
494         tristate "Texas Instruments ADS1015 ADC"
495         depends on I2C && !SENSORS_ADS1015
496         select REGMAP_I2C
497         select IIO_BUFFER
498         select IIO_TRIGGERED_BUFFER
499         help
500           If you say yes here you get support for Texas Instruments ADS1015
501           ADC chip.
502
503           This driver can also be built as a module. If so, the module will be
504           called ti-ads1015.
505
506 config TI_ADS8688
507         tristate "Texas Instruments ADS8688"
508         depends on SPI && OF
509         help
510           If you say yes here you get support for Texas Instruments ADS8684 and
511           and ADS8688 ADC chips
512
513           This driver can also be built as a module. If so, the module will be
514           called ti-ads8688.
515
516 config TI_AM335X_ADC
517         tristate "TI's AM335X ADC driver"
518         depends on MFD_TI_AM335X_TSCADC
519         select IIO_BUFFER
520         select IIO_KFIFO_BUF
521         help
522           Say yes here to build support for Texas Instruments ADC
523           driver which is also a MFD client.
524
525           To compile this driver as a module, choose M here: the module will be
526           called ti_am335x_adc.
527
528 config TWL4030_MADC
529         tristate "TWL4030 MADC (Monitoring A/D Converter)"
530         depends on TWL4030_CORE
531         help
532           This driver provides support for Triton TWL4030-MADC. The
533           driver supports both RT and SW conversion methods.
534
535           This driver can also be built as a module. If so, the module will be
536           called twl4030-madc.
537
538 config TWL6030_GPADC
539         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
540         depends on TWL4030_CORE
541         default n
542         help
543           Say yes here if you want support for the TWL6030/TWL6032 General
544           Purpose A/D Converter. This will add support for battery type
545           detection, battery voltage and temperature measurement, die
546           temperature measurement, system supply voltage, audio accessory,
547           USB ID detection.
548
549           This driver can also be built as a module. If so, the module will be
550           called twl6030-gpadc.
551
552 config VF610_ADC
553         tristate "Freescale vf610 ADC driver"
554         depends on OF
555         depends on HAS_IOMEM
556         select IIO_BUFFER
557         select IIO_TRIGGERED_BUFFER
558         help
559           Say yes here to support for Vybrid board analog-to-digital converter.
560           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
561
562           This driver can also be built as a module. If so, the module will be
563           called vf610_adc.
564
565 config VIPERBOARD_ADC
566         tristate "Viperboard ADC support"
567         depends on MFD_VIPERBOARD && USB
568         help
569           Say yes here to access the ADC part of the Nano River
570           Technologies Viperboard.
571
572           To compile this driver as a module, choose M here: the module will be
573           called viperboard_adc.
574
575 config XILINX_XADC
576         tristate "Xilinx XADC driver"
577         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
578         depends on HAS_IOMEM
579         select IIO_BUFFER
580         select IIO_TRIGGERED_BUFFER
581         help
582           Say yes here to have support for the Xilinx XADC. The driver does support
583           both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
584
585           The driver can also be build as a module. If so, the module will be called
586           xilinx-xadc.
587
588 endmenu