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