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