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