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