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