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