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