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