1# 2# GPIO infrastructure and drivers 3# 4 5config ARCH_HAVE_CUSTOM_GPIO_H 6 bool 7 help 8 Selecting this config option from the architecture Kconfig allows 9 the architecture to provide a custom asm/gpio.h implementation 10 overriding the default implementations. New uses of this are 11 strongly discouraged. 12 13config ARCH_WANT_OPTIONAL_GPIOLIB 14 bool 15 help 16 Select this config option from the architecture Kconfig, if 17 it is possible to use gpiolib on the architecture, but let the 18 user decide whether to actually build it or not. 19 Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does 20 not depend on GPIOs being available, but rather let the user 21 decide whether he needs it or not. 22 23config ARCH_REQUIRE_GPIOLIB 24 bool 25 select GPIOLIB 26 help 27 Platforms select gpiolib if they use this infrastructure 28 for all their GPIOs, usually starting with ones integrated 29 into SOC processors. 30 Selecting this from the architecture code will cause the gpiolib 31 code to always get built in. 32 33 34menuconfig GPIOLIB 35 bool "GPIO Support" 36 depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB 37 help 38 This enables GPIO support through the generic GPIO library. 39 You only need to enable this, if you also want to enable 40 one or more of the GPIO drivers below. 41 42 If unsure, say N. 43 44if GPIOLIB 45 46config GPIO_DEVRES 47 def_bool y 48 depends on HAS_IOMEM 49 50config OF_GPIO 51 def_bool y 52 depends on OF 53 54config GPIO_ACPI 55 def_bool y 56 depends on ACPI 57 58config GPIOLIB_IRQCHIP 59 select IRQ_DOMAIN 60 bool 61 62config DEBUG_GPIO 63 bool "Debug GPIO calls" 64 depends on DEBUG_KERNEL 65 help 66 Say Y here to add some extra checks and diagnostics to GPIO calls. 67 These checks help ensure that GPIOs have been properly initialized 68 before they are used, and that sleeping calls are not made from 69 non-sleeping contexts. They can make bitbanged serial protocols 70 slower. The diagnostics help catch the type of setup errors 71 that are most common when setting up new platforms or boards. 72 73config GPIO_SYSFS 74 bool "/sys/class/gpio/... (sysfs interface)" 75 depends on SYSFS 76 help 77 Say Y here to add a sysfs interface for GPIOs. 78 79 This is mostly useful to work around omissions in a system's 80 kernel support. Those are common in custom and semicustom 81 hardware assembled using standard kernels with a minimum of 82 custom patches. In those cases, userspace code may import 83 a given GPIO from the kernel, if no kernel driver requested it. 84 85 Kernel drivers may also request that a particular GPIO be 86 exported to userspace; this can be useful when debugging. 87 88config GPIO_GENERIC 89 tristate 90 91# put drivers in the right section, in alphabetical order 92 93# This symbol is selected by both I2C and SPI expanders 94config GPIO_MAX730X 95 tristate 96 97menu "Memory mapped GPIO drivers" 98 99config GPIO_74XX_MMIO 100 tristate "GPIO driver for 74xx-ICs with MMIO access" 101 depends on OF_GPIO 102 select GPIO_GENERIC 103 help 104 Say yes here to support GPIO functionality for 74xx-compatible ICs 105 with MMIO access. Compatible models include: 106 1 bit: 741G125 (Input), 741G74 (Output) 107 2 bits: 742G125 (Input), 7474 (Output) 108 4 bits: 74125 (Input), 74175 (Output) 109 6 bits: 74365 (Input), 74174 (Output) 110 8 bits: 74244 (Input), 74273 (Output) 111 16 bits: 741624 (Input), 7416374 (Output) 112 113config GPIO_ALTERA 114 tristate "Altera GPIO" 115 depends on OF_GPIO 116 select GPIO_GENERIC 117 select GPIOLIB_IRQCHIP 118 help 119 Say Y or M here to build support for the Altera PIO device. 120 121 If driver is built as a module it will be called gpio-altera. 122 123config GPIO_BCM_KONA 124 bool "Broadcom Kona GPIO" 125 depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) 126 help 127 Turn on GPIO support for Broadcom "Kona" chips. 128 129config GPIO_BRCMSTB 130 tristate "BRCMSTB GPIO support" 131 default y if ARCH_BRCMSTB 132 depends on OF_GPIO && (ARCH_BRCMSTB || COMPILE_TEST) 133 select GPIO_GENERIC 134 help 135 Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. 136 137config GPIO_CLPS711X 138 tristate "CLPS711X GPIO support" 139 depends on ARCH_CLPS711X || COMPILE_TEST 140 select GPIO_GENERIC 141 help 142 Say yes here to support GPIO on CLPS711X SoCs. 143 144config GPIO_DAVINCI 145 bool "TI Davinci/Keystone GPIO support" 146 default y if ARCH_DAVINCI 147 depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE) 148 help 149 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. 150 151config GPIO_DWAPB 152 tristate "Synopsys DesignWare APB GPIO driver" 153 select GPIO_GENERIC 154 select GENERIC_IRQ_CHIP 155 help 156 Say Y or M here to build support for the Synopsys DesignWare APB 157 GPIO block. 158 159config GPIO_EM 160 tristate "Emma Mobile GPIO" 161 depends on ARM && OF_GPIO 162 help 163 Say yes here to support GPIO on Renesas Emma Mobile SoCs. 164 165config GPIO_EP93XX 166 def_bool y 167 depends on ARCH_EP93XX 168 select GPIO_GENERIC 169 170config GPIO_F7188X 171 tristate "F71869, F71869A, F71882FG and F71889F GPIO support" 172 depends on X86 173 help 174 This option enables support for GPIOs found on Fintek Super-I/O 175 chips F71869, F71869A, F71882FG and F71889F. 176 177 To compile this driver as a module, choose M here: the module will 178 be called f7188x-gpio. 179 180config GPIO_GE_FPGA 181 bool "GE FPGA based GPIO" 182 depends on GE_FPGA 183 select GPIO_GENERIC 184 help 185 Support for common GPIO functionality provided on some GE Single Board 186 Computers. 187 188 This driver provides basic support (configure as input or output, read 189 and write pin state) for GPIO implemented in a number of GE single 190 board computers. 191 192config GPIO_GENERIC_PLATFORM 193 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" 194 select GPIO_GENERIC 195 help 196 Say yes here to support basic platform_device memory-mapped GPIO controllers. 197 198config GPIO_GRGPIO 199 tristate "Aeroflex Gaisler GRGPIO support" 200 depends on OF 201 select GPIO_GENERIC 202 select IRQ_DOMAIN 203 help 204 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB 205 VHDL IP core library. 206 207config GPIO_ICH 208 tristate "Intel ICH GPIO" 209 depends on PCI && X86 210 select MFD_CORE 211 select LPC_ICH 212 help 213 Say yes here to support the GPIO functionality of a number of Intel 214 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 215 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg 216 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). 217 218 If unsure, say N. 219 220config GPIO_IOP 221 tristate "Intel IOP GPIO" 222 depends on ARM && (ARCH_IOP32X || ARCH_IOP33X) 223 help 224 Say yes here to support the GPIO functionality of a number of Intel 225 IOP32X or IOP33X. 226 227 If unsure, say N. 228 229config GPIO_IT8761E 230 tristate "IT8761E GPIO support" 231 depends on X86 # unconditional access to IO space. 232 help 233 Say yes here to support GPIO functionality of IT8761E super I/O chip. 234 235config GPIO_LOONGSON 236 bool "Loongson-2/3 GPIO support" 237 depends on CPU_LOONGSON2 || CPU_LOONGSON3 238 help 239 driver for GPIO functionality on Loongson-2F/3A/3B processors. 240 241config GPIO_LPC18XX 242 bool "NXP LPC18XX/43XX GPIO support" 243 default y if ARCH_LPC18XX 244 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST) 245 help 246 Select this option to enable GPIO driver for 247 NXP LPC18XX/43XX devices. 248 249config GPIO_LYNXPOINT 250 tristate "Intel Lynxpoint GPIO support" 251 depends on ACPI && X86 252 select GPIOLIB_IRQCHIP 253 help 254 driver for GPIO functionality on Intel Lynxpoint PCH chipset 255 Requires ACPI device enumeration code to set up a platform device. 256 257config GPIO_MB86S7X 258 bool "GPIO support for Fujitsu MB86S7x Platforms" 259 depends on ARCH_MB86S7X 260 help 261 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. 262 263config GPIO_MM_LANTIQ 264 bool "Lantiq Memory mapped GPIOs" 265 depends on LANTIQ && SOC_XWAY 266 help 267 This enables support for memory mapped GPIOs on the External Bus Unit 268 (EBU) found on Lantiq SoCs. The gpios are output only as they are 269 created by attaching a 16bit latch to the bus. 270 271config GPIO_MOXART 272 bool "MOXART GPIO support" 273 depends on ARCH_MOXART 274 select GPIO_GENERIC 275 help 276 Select this option to enable GPIO driver for 277 MOXA ART SoC devices. 278 279config GPIO_MPC5200 280 def_bool y 281 depends on PPC_MPC52xx 282 283config GPIO_MPC8XXX 284 bool "MPC512x/MPC8xxx GPIO support" 285 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ 286 FSL_SOC_BOOKE || PPC_86xx 287 help 288 Say Y here if you're going to use hardware that connects to the 289 MPC512x/831x/834x/837x/8572/8610 GPIOs. 290 291config GPIO_MSM_V2 292 tristate "Qualcomm MSM GPIO v2" 293 depends on GPIOLIB && OF && ARCH_QCOM 294 help 295 Say yes here to support the GPIO interface on ARM v7 based 296 Qualcomm MSM chips. Most of the pins on the MSM can be 297 selected for GPIO, and are controlled by this driver. 298 299config GPIO_MVEBU 300 def_bool y 301 depends on PLAT_ORION 302 depends on OF 303 select GPIO_GENERIC 304 select GENERIC_IRQ_CHIP 305 306config GPIO_MXC 307 def_bool y 308 depends on ARCH_MXC 309 select GPIO_GENERIC 310 select GENERIC_IRQ_CHIP 311 312config GPIO_MXS 313 def_bool y 314 depends on ARCH_MXS 315 select GPIO_GENERIC 316 select GENERIC_IRQ_CHIP 317 318config GPIO_OCTEON 319 tristate "Cavium OCTEON GPIO" 320 depends on GPIOLIB && CAVIUM_OCTEON_SOC 321 default y 322 help 323 Say yes here to support the on-chip GPIO lines on the OCTEON 324 family of SOCs. 325 326config GPIO_OMAP 327 tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST 328 default y if ARCH_OMAP 329 depends on ARM 330 select GENERIC_IRQ_CHIP 331 select GPIOLIB_IRQCHIP 332 help 333 Say yes here to enable GPIO support for TI OMAP SoCs. 334 335config GPIO_PL061 336 bool "PrimeCell PL061 GPIO support" 337 depends on ARM_AMBA 338 select IRQ_DOMAIN 339 select GPIOLIB_IRQCHIP 340 help 341 Say yes here to support the PrimeCell PL061 GPIO device 342 343config GPIO_PXA 344 bool "PXA GPIO support" 345 depends on ARCH_PXA || ARCH_MMP 346 help 347 Say yes here to support the PXA GPIO device 348 349config GPIO_RCAR 350 tristate "Renesas R-Car GPIO" 351 depends on ARM && (ARCH_SHMOBILE || COMPILE_TEST) 352 select GPIOLIB_IRQCHIP 353 help 354 Say yes here to support GPIO on Renesas R-Car SoCs. 355 356config GPIO_SAMSUNG 357 bool 358 depends on PLAT_SAMSUNG 359 help 360 Legacy GPIO support. Use only for platforms without support for 361 pinctrl. 362 363config GPIO_SCH 364 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO" 365 depends on PCI && X86 366 select MFD_CORE 367 select LPC_SCH 368 help 369 Say yes here to support GPIO interface on Intel Poulsbo SCH, 370 Intel Tunnel Creek processor, Intel Centerton processor or 371 Intel Quark X1000 SoC. 372 373 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are 374 powered by the core power rail and are turned off during sleep 375 modes (S3 and higher). The remaining four GPIOs are powered by 376 the Intel SCH suspend power supply. These GPIOs remain 377 active during S3. The suspend powered GPIOs can be used to wake the 378 system from the Suspend-to-RAM state. 379 380 The Intel Tunnel Creek processor has 5 GPIOs powered by the 381 core power rail and 9 from suspend power supply. 382 383 The Intel Centerton processor has a total of 30 GPIO pins. 384 Twenty-one are powered by the core power rail and 9 from the 385 suspend power supply. 386 387 The Intel Quark X1000 SoC has 2 GPIOs powered by the core 388 power well and 6 from the suspend power well. 389 390config GPIO_SCH311X 391 tristate "SMSC SCH311x SuperI/O GPIO" 392 help 393 Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and 394 SCH3116 "Super I/O" chipsets. 395 396 To compile this driver as a module, choose M here: the module will 397 be called gpio-sch311x. 398 399config GPIO_SPEAR_SPICS 400 bool "ST SPEAr13xx SPI Chip Select as GPIO support" 401 depends on PLAT_SPEAR 402 select GENERIC_IRQ_CHIP 403 help 404 Say yes here to support ST SPEAr SPI Chip Select as GPIO device 405 406config GPIO_STA2X11 407 bool "STA2x11/ConneXt GPIO support" 408 depends on MFD_STA2X11 409 select GENERIC_IRQ_CHIP 410 help 411 Say yes here to support the STA2x11/ConneXt GPIO device. 412 The GPIO module has 128 GPIO pins with alternate functions. 413 414config GPIO_STP_XWAY 415 bool "XWAY STP GPIOs" 416 depends on SOC_XWAY 417 help 418 This enables support for the Serial To Parallel (STP) unit found on 419 XWAY SoC. The STP allows the SoC to drive a shift registers cascade, 420 that can be up to 24 bit. This peripheral is aimed at driving leds. 421 Some of the gpios/leds can be auto updated by the soc with dsl and 422 phy status. 423 424config GPIO_SYSCON 425 tristate "GPIO based on SYSCON" 426 depends on MFD_SYSCON && OF 427 help 428 Say yes here to support GPIO functionality though SYSCON driver. 429 430config GPIO_TB10X 431 bool 432 select GENERIC_IRQ_CHIP 433 select OF_GPIO 434 435config GPIO_TS5500 436 tristate "TS-5500 DIO blocks and compatibles" 437 depends on TS5500 || COMPILE_TEST 438 help 439 This driver supports Digital I/O exposed by pin blocks found on some 440 Technologic Systems platforms. It includes, but is not limited to, 3 441 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600 442 LCD port. 443 444config GPIO_TZ1090 445 bool "Toumaz Xenif TZ1090 GPIO support" 446 depends on SOC_TZ1090 447 select GENERIC_IRQ_CHIP 448 default y 449 help 450 Say yes here to support Toumaz Xenif TZ1090 GPIOs. 451 452config GPIO_TZ1090_PDC 453 bool "Toumaz Xenif TZ1090 PDC GPIO support" 454 depends on SOC_TZ1090 455 default y 456 help 457 Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs. 458 459config GPIO_VF610 460 def_bool y 461 depends on ARCH_MXC && SOC_VF610 462 select GPIOLIB_IRQCHIP 463 help 464 Say yes here to support Vybrid vf610 GPIOs. 465 466config GPIO_VR41XX 467 tristate "NEC VR4100 series General-purpose I/O Uint support" 468 depends on CPU_VR41XX 469 help 470 Say yes here to support the NEC VR4100 series General-purpose I/O Uint 471 472config GPIO_VX855 473 tristate "VIA VX855/VX875 GPIO" 474 depends on PCI 475 select MFD_CORE 476 select MFD_VX855 477 help 478 Support access to the VX855/VX875 GPIO lines through the gpio library. 479 480 This driver provides common support for accessing the device, 481 additional drivers must be enabled in order to use the 482 functionality of the device. 483 484config GPIO_XGENE 485 bool "APM X-Gene GPIO controller support" 486 depends on ARM64 && OF_GPIO 487 help 488 This driver is to support the GPIO block within the APM X-Gene SoC 489 platform's generic flash controller. The GPIO pins are muxed with 490 the generic flash controller's address and data pins. Say yes 491 here to enable the GFC GPIO functionality. 492 493config GPIO_XGENE_SB 494 tristate "APM X-Gene GPIO standby controller support" 495 depends on ARCH_XGENE && OF_GPIO 496 select GPIO_GENERIC 497 help 498 This driver supports the GPIO block within the APM X-Gene 499 Standby Domain. Say yes here to enable the GPIO functionality. 500 501config GPIO_XILINX 502 tristate "Xilinx GPIO support" 503 depends on OF_GPIO && (PPC || MICROBLAZE || ARCH_ZYNQ || X86) 504 help 505 Say yes here to support the Xilinx FPGA GPIO device 506 507config GPIO_XLP 508 tristate "Netlogic XLP GPIO support" 509 depends on CPU_XLP 510 select GPIOLIB_IRQCHIP 511 help 512 This driver provides support for GPIO interface on Netlogic XLP MIPS64 513 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, 514 XLP9XX and XLP5XX. 515 516 If unsure, say N. 517 518config GPIO_XTENSA 519 bool "Xtensa GPIO32 support" 520 depends on XTENSA 521 depends on HAVE_XTENSA_GPIO32 522 depends on !SMP 523 help 524 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input) 525 and EXPSTATE (output) ports 526 527config GPIO_ZEVIO 528 bool "LSI ZEVIO SoC memory mapped GPIOs" 529 depends on ARM && OF_GPIO 530 help 531 Say yes here to support the GPIO controller in LSI ZEVIO SoCs. 532 533config GPIO_ZYNQ 534 tristate "Xilinx Zynq GPIO support" 535 depends on ARCH_ZYNQ 536 select GPIOLIB_IRQCHIP 537 help 538 Say yes here to support Xilinx Zynq GPIO controller. 539 540endmenu 541 542menu "I2C GPIO expanders" 543 depends on I2C 544 545config GPIO_ADP5588 546 tristate "ADP5588 I2C GPIO expander" 547 depends on I2C 548 help 549 This option enables support for 18 GPIOs found 550 on Analog Devices ADP5588 GPIO Expanders. 551 552config GPIO_ADP5588_IRQ 553 bool "Interrupt controller support for ADP5588" 554 depends on GPIO_ADP5588=y 555 help 556 Say yes here to enable the adp5588 to be used as an interrupt 557 controller. It requires the driver to be built in the kernel. 558 559config GPIO_ADNP 560 tristate "Avionic Design N-bit GPIO expander" 561 depends on I2C && OF_GPIO 562 select GPIOLIB_IRQCHIP 563 help 564 This option enables support for N GPIOs found on Avionic Design 565 I2C GPIO expanders. The register space will be extended by powers 566 of two, so the controller will need to accommodate for that. For 567 example: if a controller provides 48 pins, 6 registers will be 568 enough to represent all pins, but the driver will assume a 569 register layout for 64 pins (8 registers). 570 571config GPIO_MAX7300 572 tristate "Maxim MAX7300 GPIO expander" 573 depends on I2C 574 select GPIO_MAX730X 575 help 576 GPIO driver for Maxim MAX7300 I2C-based GPIO expander. 577 578config GPIO_MAX732X 579 tristate "MAX7319, MAX7320-7327 I2C Port Expanders" 580 depends on I2C 581 help 582 Say yes here to support the MAX7319, MAX7320-7327 series of I2C 583 Port Expanders. Each IO port on these chips has a fixed role of 584 Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain 585 Input and Output (designed by 'P'). The combinations are listed 586 below: 587 588 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), 589 max7322 (4I4O), max7323 (4P4O) 590 591 16 bits: max7324 (8I8O), max7325 (8P8O), 592 max7326 (4I12O), max7327 (4P12O) 593 594 Board setup code must specify the model to use, and the start 595 number for these GPIOs. 596 597config GPIO_MAX732X_IRQ 598 bool "Interrupt controller support for MAX732x" 599 depends on GPIO_MAX732X=y 600 select GPIOLIB_IRQCHIP 601 help 602 Say yes here to enable the max732x to be used as an interrupt 603 controller. It requires the driver to be built in the kernel. 604 605config GPIO_MC9S08DZ60 606 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions" 607 depends on I2C=y && MACH_MX35_3DS 608 help 609 Select this to enable the MC9S08DZ60 GPIO driver 610 611config GPIO_PCA953X 612 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" 613 depends on I2C 614 help 615 Say yes here to provide access to several register-oriented 616 SMBus I/O expanders, made mostly by NXP or TI. Compatible 617 models include: 618 619 4 bits: pca9536, pca9537 620 621 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, 622 pca9556, pca9557, pca9574, tca6408, xra1202 623 624 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, 625 tca6416 626 627 24 bits: tca6424 628 629 40 bits: pca9505, pca9698 630 631config GPIO_PCA953X_IRQ 632 bool "Interrupt controller support for PCA953x" 633 depends on GPIO_PCA953X=y 634 select GPIOLIB_IRQCHIP 635 help 636 Say yes here to enable the pca953x to be used as an interrupt 637 controller. It requires the driver to be built in the kernel. 638 639config GPIO_PCF857X 640 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" 641 depends on I2C 642 select GPIOLIB_IRQCHIP 643 select IRQ_DOMAIN 644 help 645 Say yes here to provide access to most "quasi-bidirectional" I2C 646 GPIO expanders used for additional digital outputs or inputs. 647 Most of these parts are from NXP, though TI is a second source for 648 some of them. Compatible models include: 649 650 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, 651 pca9670, pca9672, pca9674, pca9674a, 652 max7328, max7329 653 654 16 bits: pcf8575, pcf8575c, pca8575, 655 pca9671, pca9673, pca9675 656 657 Your board setup code will need to declare the expanders in 658 use, and assign numbers to the GPIOs they expose. Those GPIOs 659 can then be used from drivers and other kernel code, just like 660 other GPIOs, but only accessible from task contexts. 661 662 This driver provides an in-kernel interface to those GPIOs using 663 platform-neutral GPIO calls. 664 665config GPIO_SX150X 666 bool "Semtech SX150x I2C GPIO expander" 667 depends on I2C=y 668 select GPIOLIB_IRQCHIP 669 default n 670 help 671 Say yes here to provide support for Semtech SX150-series I2C 672 GPIO expanders. Compatible models include: 673 674 8 bits: sx1508q 675 16 bits: sx1509q 676 677endmenu 678 679menu "MFD GPIO expanders" 680 681config GPIO_ADP5520 682 tristate "GPIO Support for ADP5520 PMIC" 683 depends on PMIC_ADP5520 684 help 685 This option enables support for on-chip GPIO found 686 on Analog Devices ADP5520 PMICs. 687 688config GPIO_ARIZONA 689 tristate "Wolfson Microelectronics Arizona class devices" 690 depends on MFD_ARIZONA 691 help 692 Support for GPIOs on Wolfson Arizona class devices. 693 694config GPIO_CRYSTAL_COVE 695 tristate "GPIO support for Crystal Cove PMIC" 696 depends on INTEL_SOC_PMIC 697 select GPIOLIB_IRQCHIP 698 help 699 Support for GPIO pins on Crystal Cove PMIC. 700 701 Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC 702 inside. 703 704 This driver can also be built as a module. If so, the module will be 705 called gpio-crystalcove. 706 707config GPIO_CS5535 708 tristate "AMD CS5535/CS5536 GPIO support" 709 depends on MFD_CS5535 710 help 711 The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that 712 can be used for quite a number of things. The CS5535/6 is found on 713 AMD Geode and Lemote Yeeloong devices. 714 715 If unsure, say N. 716 717config GPIO_DA9052 718 tristate "Dialog DA9052 GPIO" 719 depends on PMIC_DA9052 720 help 721 Say yes here to enable the GPIO driver for the DA9052 chip. 722 723config GPIO_DA9055 724 tristate "Dialog Semiconductor DA9055 GPIO" 725 depends on MFD_DA9055 726 help 727 Say yes here to enable the GPIO driver for the DA9055 chip. 728 729 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be 730 be controller by this driver. 731 732 If driver is built as a module it will be called gpio-da9055. 733 734config GPIO_DLN2 735 tristate "Diolan DLN2 GPIO support" 736 depends on MFD_DLN2 737 select GPIOLIB_IRQCHIP 738 739 help 740 Select this option to enable GPIO driver for the Diolan DLN2 741 board. 742 743 This driver can also be built as a module. If so, the module 744 will be called gpio-dln2. 745 746config GPIO_JANZ_TTL 747 tristate "Janz VMOD-TTL Digital IO Module" 748 depends on MFD_JANZ_CMODIO 749 help 750 This enables support for the Janz VMOD-TTL Digital IO module. 751 This driver provides support for driving the pins in output 752 mode only. Input mode is not supported. 753 754config GPIO_KEMPLD 755 tristate "Kontron ETX / COMexpress GPIO" 756 depends on MFD_KEMPLD 757 help 758 This enables support for the PLD GPIO interface on some Kontron ETX 759 and COMexpress (ETXexpress) modules. 760 761 This driver can also be built as a module. If so, the module will be 762 called gpio-kempld. 763 764config GPIO_LP3943 765 tristate "TI/National Semiconductor LP3943 GPIO expander" 766 depends on MFD_LP3943 767 help 768 GPIO driver for LP3943 MFD. 769 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. 770 Open drain outputs are required for this usage. 771 772config GPIO_MSIC 773 bool "Intel MSIC mixed signal gpio support" 774 depends on MFD_INTEL_MSIC 775 help 776 Enable support for GPIO on intel MSIC controllers found in 777 intel MID devices 778 779config GPIO_PALMAS 780 bool "TI PALMAS series PMICs GPIO" 781 depends on MFD_PALMAS 782 help 783 Select this option to enable GPIO driver for the TI PALMAS 784 series chip family. 785 786config GPIO_RC5T583 787 bool "RICOH RC5T583 GPIO" 788 depends on MFD_RC5T583 789 help 790 Select this option to enable GPIO driver for the Ricoh RC5T583 791 chip family. 792 This driver provides the support for driving/reading the gpio pins 793 of RC5T583 device through standard gpio library. 794 795config GPIO_STMPE 796 bool "STMPE GPIOs" 797 depends on MFD_STMPE 798 depends on OF_GPIO 799 select GPIOLIB_IRQCHIP 800 help 801 This enables support for the GPIOs found on the STMPE I/O 802 Expanders. 803 804config GPIO_TC3589X 805 bool "TC3589X GPIOs" 806 depends on MFD_TC3589X 807 depends on OF_GPIO 808 select GPIOLIB_IRQCHIP 809 help 810 This enables support for the GPIOs found on the TC3589X 811 I/O Expander. 812 813config GPIO_TIMBERDALE 814 bool "Support for timberdale GPIO IP" 815 depends on MFD_TIMBERDALE 816 ---help--- 817 Add support for the GPIO IP in the timberdale FPGA. 818 819config GPIO_TPS6586X 820 bool "TPS6586X GPIO" 821 depends on MFD_TPS6586X 822 help 823 Select this option to enable GPIO driver for the TPS6586X 824 chip family. 825 826config GPIO_TPS65910 827 bool "TPS65910 GPIO" 828 depends on MFD_TPS65910 829 help 830 Select this option to enable GPIO driver for the TPS65910 831 chip family. 832 833config GPIO_TPS65912 834 tristate "TI TPS65912 GPIO" 835 depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI) 836 help 837 This driver supports TPS65912 gpio chip 838 839config GPIO_TWL4030 840 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" 841 depends on TWL4030_CORE 842 help 843 Say yes here to access the GPIO signals of various multi-function 844 power management chips from Texas Instruments. 845 846config GPIO_TWL6040 847 tristate "TWL6040 GPO" 848 depends on TWL6040_CORE 849 help 850 Say yes here to access the GPO signals of twl6040 851 audio chip from Texas Instruments. 852 853config GPIO_UCB1400 854 tristate "Philips UCB1400 GPIO" 855 depends on UCB1400_CORE 856 help 857 This enables support for the Philips UCB1400 GPIO pins. 858 The UCB1400 is an AC97 audio codec. 859 860config GPIO_WM831X 861 tristate "WM831x GPIOs" 862 depends on MFD_WM831X 863 help 864 Say yes here to access the GPIO signals of WM831x power management 865 chips from Wolfson Microelectronics. 866 867config GPIO_WM8350 868 tristate "WM8350 GPIOs" 869 depends on MFD_WM8350 870 help 871 Say yes here to access the GPIO signals of WM8350 power management 872 chips from Wolfson Microelectronics. 873 874config GPIO_WM8994 875 tristate "WM8994 GPIOs" 876 depends on MFD_WM8994 877 help 878 Say yes here to access the GPIO signals of WM8994 audio hub 879 CODECs from Wolfson Microelectronics. 880 881endmenu 882 883menu "PCI GPIO expanders" 884 depends on PCI 885 886config GPIO_AMD8111 887 tristate "AMD 8111 GPIO driver" 888 depends on PCI 889 help 890 The AMD 8111 south bridge contains 32 GPIO pins which can be used. 891 892 Note, that usually system firmware/ACPI handles GPIO pins on their 893 own and users might easily break their systems with uncarefull usage 894 of this driver! 895 896 If unsure, say N 897 898config GPIO_BT8XX 899 tristate "BT8XX GPIO abuser" 900 depends on PCI && VIDEO_BT848=n 901 help 902 The BT8xx frame grabber chip has 24 GPIO pins that can be abused 903 as a cheap PCI GPIO card. 904 905 This chip can be found on Miro, Hauppauge and STB TV-cards. 906 907 The card needs to be physically altered for using it as a 908 GPIO card. For more information on how to build a GPIO card 909 from a BT8xx TV card, see the documentation file at 910 Documentation/bt8xxgpio.txt 911 912 If unsure, say N. 913 914config GPIO_INTEL_MID 915 bool "Intel Mid GPIO support" 916 depends on PCI && X86 917 select GPIOLIB_IRQCHIP 918 help 919 Say Y here to support Intel Mid GPIO. 920 921config GPIO_ML_IOH 922 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" 923 depends on PCI 924 select GENERIC_IRQ_CHIP 925 help 926 ML7213 is companion chip for Intel Atom E6xx series. 927 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output 928 Hub) which is for IVI(In-Vehicle Infotainment) use. 929 This driver can access the IOH's GPIO device. 930 931config GPIO_PCH 932 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO" 933 depends on PCI && (X86_32 || COMPILE_TEST) 934 select GENERIC_IRQ_CHIP 935 help 936 This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff 937 which is an IOH(Input/Output Hub) for x86 embedded processor. 938 This driver can access PCH GPIO device. 939 940 This driver also can be used for LAPIS Semiconductor IOH(Input/ 941 Output Hub), ML7223 and ML7831. 942 ML7223 IOH is for MP(Media Phone) use. 943 ML7831 IOH is for general purpose use. 944 ML7223/ML7831 is companion chip for Intel Atom E6xx series. 945 ML7223/ML7831 is completely compatible for Intel EG20T PCH. 946 947config GPIO_RDC321X 948 tristate "RDC R-321x GPIO support" 949 depends on PCI 950 select MFD_CORE 951 select MFD_RDC321X 952 help 953 Support for the RDC R321x SoC GPIOs over southbridge 954 PCI configuration space. 955 956config GPIO_SODAVILLE 957 bool "Intel Sodaville GPIO support" 958 depends on X86 && PCI && OF 959 select GPIO_GENERIC 960 select GENERIC_IRQ_CHIP 961 help 962 Say Y here to support Intel Sodaville GPIO. 963 964endmenu 965 966menu "SPI GPIO expanders" 967 depends on SPI_MASTER 968 969config GPIO_74X164 970 tristate "74x164 serial-in/parallel-out 8-bits shift register" 971 depends on SPI_MASTER && OF 972 help 973 Driver for 74x164 compatible serial-in/parallel-out 8-outputs 974 shift registers. This driver can be used to provide access 975 to more gpio outputs. 976 977config GPIO_MAX7301 978 tristate "Maxim MAX7301 GPIO expander" 979 depends on SPI_MASTER 980 select GPIO_MAX730X 981 help 982 GPIO driver for Maxim MAX7301 SPI-based GPIO expander. 983 984config GPIO_MCP23S08 985 tristate "Microchip MCP23xxx I/O expander" 986 depends on (SPI_MASTER && !I2C) || I2C 987 help 988 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017 989 I/O expanders. 990 This provides a GPIO interface supporting inputs and outputs. 991 The I2C versions of the chips can be used as interrupt-controller. 992 993config GPIO_MC33880 994 tristate "Freescale MC33880 high-side/low-side switch" 995 depends on SPI_MASTER 996 help 997 SPI driver for Freescale MC33880 high-side/low-side switch. 998 This provides GPIO interface supporting inputs and outputs. 999 1000endmenu 1001 1002menu "USB GPIO expanders" 1003 depends on USB 1004 1005config GPIO_VIPERBOARD 1006 tristate "Viperboard GPIO a & b support" 1007 depends on MFD_VIPERBOARD && USB 1008 help 1009 Say yes here to access the GPIO signals of Nano River 1010 Technologies Viperboard. There are two GPIO chips on the 1011 board: gpioa and gpiob. 1012 See viperboard API specification and Nano 1013 River Tech's viperboard.h for detailed meaning 1014 of the module parameters. 1015 1016endmenu 1017 1018endif 1019