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