1# SPDX-License-Identifier: GPL-2.0-only 2# 3# GPIO infrastructure and drivers 4# 5 6menuconfig GPIOLIB 7 bool "GPIO Support" 8 help 9 This enables GPIO support through the generic GPIO library. 10 You only need to enable this if you also want to enable 11 one or more of the GPIO drivers below. 12 13 If unsure, say N. 14 15if GPIOLIB 16 17config GPIOLIB_FASTPATH_LIMIT 18 int "Maximum number of GPIOs for fast path" 19 range 32 512 20 default 512 21 help 22 This adjusts the point at which certain APIs will switch from 23 using a stack allocated buffer to a dynamically allocated buffer. 24 25 You shouldn't need to change this unless you really need to 26 optimize either stack space or performance. Change this carefully 27 since setting an incorrect value could cause stack corruption. 28 29config OF_GPIO 30 def_bool y 31 depends on OF 32 depends on HAS_IOMEM 33 34config GPIO_ACPI 35 def_bool y 36 depends on ACPI 37 38config GPIOLIB_IRQCHIP 39 select IRQ_DOMAIN 40 bool 41 42config OF_GPIO_MM_GPIOCHIP 43 bool 44 help 45 This adds support for the legacy 'struct of_mm_gpio_chip' interface 46 from PowerPC. Existing drivers using this interface need to select 47 this symbol, but new drivers should use the generic gpio-regmap 48 infrastructure instead. 49 50config DEBUG_GPIO 51 bool "Debug GPIO calls" 52 depends on DEBUG_KERNEL 53 help 54 Say Y here to add some extra checks and diagnostics to GPIO calls. 55 These checks help ensure that GPIOs have been properly initialized 56 before they are used, and that sleeping calls are not made from 57 non-sleeping contexts. They can make bitbanged serial protocols 58 slower. The diagnostics help catch the type of setup errors 59 that are most common when setting up new platforms or boards. 60 61config GPIO_SYSFS 62 bool "/sys/class/gpio/... (sysfs interface)" if EXPERT 63 depends on SYSFS 64 select GPIO_CDEV # We need to encourage the new ABI 65 help 66 Say Y here to add the legacy sysfs interface for GPIOs. 67 68 This ABI is deprecated. If you want to use GPIO from userspace, 69 use the character device /dev/gpiochipN with the appropriate 70 ioctl() operations instead. 71 72config GPIO_CDEV 73 bool "Character device (/dev/gpiochipN) support" if EXPERT 74 default y 75 help 76 Say Y here to add the character device /dev/gpiochipN interface 77 for GPIOs. The character device allows userspace to control GPIOs 78 using ioctl() operations. 79 80 Only say N if you are sure that the GPIO character device is not 81 required. 82 83 If unsure, say Y. 84 85config GPIO_CDEV_V1 86 bool "Support GPIO ABI Version 1" 87 default y 88 depends on GPIO_CDEV 89 help 90 Say Y here to support version 1 of the GPIO CDEV ABI. 91 92 This ABI version is deprecated. 93 Please use the latest ABI for new developments. 94 95 If unsure, say Y. 96 97config GPIO_GENERIC 98 depends on HAS_IOMEM # Only for IOMEM drivers 99 tristate 100 101config GPIO_REGMAP 102 select REGMAP 103 tristate 104 105config GPIO_SWNODE_UNDEFINED 106 bool 107 help 108 This adds a special place holder for software nodes to contain an 109 undefined GPIO reference, this is primarily used by SPI to allow a 110 list of GPIO chip selects to mark a certain chip select as being 111 controlled the SPI device's internal chip select mechanism and not 112 a GPIO. 113 114# put drivers in the right section, in alphabetical order 115 116# This symbol is selected by both I2C and SPI expanders 117config GPIO_MAX730X 118 tristate 119 120config GPIO_IDIO_16 121 tristate 122 select REGMAP_IRQ 123 select GPIOLIB_IRQCHIP 124 select GPIO_REGMAP 125 help 126 Enables support for the idio-16 library functions. The idio-16 library 127 provides functions to facilitate communication with devices within the 128 ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. 129 130 If built as a module its name will be gpio-idio-16. 131 132menu "Memory mapped GPIO drivers" 133 depends on HAS_IOMEM 134 135config GPIO_74XX_MMIO 136 tristate "GPIO driver for 74xx-ICs with MMIO access" 137 depends on OF_GPIO 138 select GPIO_GENERIC 139 help 140 Say yes here to support GPIO functionality for 74xx-compatible ICs 141 with MMIO access. Compatible models include: 142 1 bit: 741G125 (Input), 741G74 (Output) 143 2 bits: 742G125 (Input), 7474 (Output) 144 4 bits: 74125 (Input), 74175 (Output) 145 6 bits: 74365 (Input), 74174 (Output) 146 8 bits: 74244 (Input), 74273 (Output) 147 16 bits: 741624 (Input), 7416374 (Output) 148 149config GPIO_ALTERA 150 tristate "Altera GPIO" 151 depends on OF_GPIO 152 select GPIOLIB_IRQCHIP 153 select OF_GPIO_MM_GPIOCHIP 154 help 155 Say Y or M here to build support for the Altera PIO device. 156 157 If driver is built as a module it will be called gpio-altera. 158 159config GPIO_AMDPT 160 tristate "AMD Promontory GPIO support" 161 depends on ACPI 162 select GPIO_GENERIC 163 help 164 Driver for GPIO functionality on Promontory IOHub. 165 Requires ACPI ASL code to enumerate as a platform device. 166 167config GPIO_ASPEED 168 tristate "Aspeed GPIO support" 169 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO 170 select GPIOLIB_IRQCHIP 171 help 172 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. 173 174config GPIO_ASPEED_SGPIO 175 bool "Aspeed SGPIO support" 176 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO 177 select GPIO_GENERIC 178 select GPIOLIB_IRQCHIP 179 help 180 Say Y here to support Aspeed AST2500 SGPIO functionality. 181 182config GPIO_ATH79 183 tristate "Atheros AR71XX/AR724X/AR913X GPIO support" 184 default y if ATH79 185 depends on ATH79 || COMPILE_TEST 186 select GPIO_GENERIC 187 select GPIOLIB_IRQCHIP 188 help 189 Select this option to enable GPIO driver for 190 Atheros AR71XX/AR724X/AR913X SoC devices. 191 192config GPIO_RASPBERRYPI_EXP 193 tristate "Raspberry Pi 3 GPIO Expander" 194 default RASPBERRYPI_FIRMWARE 195 depends on OF_GPIO 196 # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only 197 # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. 198 depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 199 help 200 Turn on GPIO support for the expander on Raspberry Pi 3 boards, using 201 the firmware mailbox to communicate with VideoCore on BCM283x chips. 202 203config GPIO_BCM_KONA 204 bool "Broadcom Kona GPIO" 205 depends on ARCH_BCM_MOBILE || COMPILE_TEST 206 help 207 Turn on GPIO support for Broadcom "Kona" chips. 208 209config GPIO_BCM_XGS_IPROC 210 tristate "BRCM XGS iProc GPIO support" 211 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) 212 select GPIO_GENERIC 213 select GPIOLIB_IRQCHIP 214 default ARCH_BCM_IPROC 215 help 216 Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. 217 218config GPIO_BRCMSTB 219 tristate "BRCMSTB GPIO support" 220 default y if (ARCH_BRCMSTB || BMIPS_GENERIC) 221 depends on OF_GPIO && (ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST) 222 select GPIO_GENERIC 223 select IRQ_DOMAIN 224 help 225 Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. 226 227config GPIO_CADENCE 228 tristate "Cadence GPIO support" 229 depends on OF_GPIO 230 select GPIO_GENERIC 231 select GPIOLIB_IRQCHIP 232 help 233 Say yes here to enable support for Cadence GPIO controller. 234 235config GPIO_CLPS711X 236 tristate "CLPS711X GPIO support" 237 depends on ARCH_CLPS711X || COMPILE_TEST 238 select GPIO_GENERIC 239 help 240 Say yes here to support GPIO on CLPS711X SoCs. 241 242config GPIO_DAVINCI 243 tristate "TI Davinci/Keystone GPIO support" 244 default y if ARCH_DAVINCI 245 depends on ((ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)) || COMPILE_TEST 246 help 247 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. 248 249config GPIO_DWAPB 250 tristate "Synopsys DesignWare APB GPIO driver" 251 select GPIO_GENERIC 252 select GPIOLIB_IRQCHIP 253 help 254 Say Y or M here to build support for the Synopsys DesignWare APB 255 GPIO block. 256 257config GPIO_EIC_SPRD 258 tristate "Spreadtrum EIC support" 259 depends on ARCH_SPRD || COMPILE_TEST 260 depends on OF_GPIO 261 select GPIOLIB_IRQCHIP 262 help 263 Say yes here to support Spreadtrum EIC device. 264 265config GPIO_EM 266 tristate "Emma Mobile GPIO" 267 depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO 268 help 269 Say yes here to support GPIO on Renesas Emma Mobile SoCs. 270 271config GPIO_EN7523 272 tristate "Airoha GPIO support" 273 depends on ARCH_AIROHA 274 default ARCH_AIROHA 275 select GPIO_GENERIC 276 select GPIOLIB_IRQCHIP 277 help 278 Say Y or M here to support the GPIO controller block on the 279 Airoha EN7523 SoC. It supports two banks of 32 GPIOs. 280 281config GPIO_EP93XX 282 def_bool y 283 depends on ARCH_EP93XX 284 select GPIO_GENERIC 285 select GPIOLIB_IRQCHIP 286 287config GPIO_EXAR 288 tristate "Support for GPIO pins on XR17V352/354/358" 289 depends on SERIAL_8250_EXAR 290 select REGMAP_MMIO 291 help 292 Selecting this option will enable handling of GPIO pins present 293 on Exar XR17V352/354/358 chips. 294 295config GPIO_GE_FPGA 296 bool "GE FPGA based GPIO" 297 depends on GE_FPGA || COMPILE_TEST 298 select GPIO_GENERIC 299 help 300 Support for common GPIO functionality provided on some GE Single Board 301 Computers. 302 303 This driver provides basic support (configure as input or output, read 304 and write pin state) for GPIO implemented in a number of GE single 305 board computers. 306 307config GPIO_FTGPIO010 308 bool "Faraday FTGPIO010 GPIO" 309 depends on OF_GPIO 310 select GPIO_GENERIC 311 select GPIOLIB_IRQCHIP 312 default (ARCH_GEMINI || ARCH_MOXART) 313 help 314 Support for common GPIOs from the Faraday FTGPIO010 IP core, found in 315 Cortina systems Gemini platforms, Moxa ART and others. 316 317config GPIO_GENERIC_PLATFORM 318 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" 319 select GPIO_GENERIC 320 help 321 Say yes here to support basic platform_device memory-mapped GPIO controllers. 322 323config GPIO_GRANITERAPIDS 324 tristate "Intel Granite Rapids-D vGPIO support" 325 depends on X86 || COMPILE_TEST 326 select GPIOLIB_IRQCHIP 327 help 328 Select this to enable virtual GPIO support on platforms with the 329 following SoCs: 330 331 - Intel Granite Rapids-D 332 333 The driver enables basic GPIO functionality and implements interrupt 334 support. The virtual GPIO driver controls GPIO lines via a firmware 335 interface. The physical GPIO pins reside on device that is external 336 from the main SoC package, such as a BMC or a CPLD. 337 338 To compile this driver as a module, choose M here: the module will 339 be called gpio-graniterapids. 340 341config GPIO_GRGPIO 342 tristate "Aeroflex Gaisler GRGPIO support" 343 depends on OF_GPIO 344 select GPIO_GENERIC 345 select IRQ_DOMAIN 346 help 347 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB 348 VHDL IP core library. 349 350config GPIO_HISI 351 tristate "HiSilicon GPIO controller driver" 352 depends on ARM64 || COMPILE_TEST 353 select GPIO_GENERIC 354 select GPIOLIB_IRQCHIP 355 help 356 Say Y or M here to build support for the HiSilicon GPIO controller 357 driver GPIO block. 358 This GPIO controller supports double-edge interrupt and multi-core 359 concurrent access. 360 361config GPIO_HLWD 362 tristate "Nintendo Wii (Hollywood) GPIO" 363 depends on OF_GPIO 364 select GPIO_GENERIC 365 select GPIOLIB_IRQCHIP 366 help 367 Select this to support the GPIO controller of the Nintendo Wii. 368 369 If unsure, say N. 370 371config GPIO_ICH 372 tristate "Intel ICH GPIO" 373 depends on X86 374 depends on LPC_ICH 375 help 376 Say yes here to support the GPIO functionality of a number of Intel 377 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 378 ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g. 379 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). 380 381 If unsure, say N. 382 383config GPIO_IMX_SCU 384 def_bool y 385 depends on IMX_SCU 386 387config GPIO_IXP4XX 388 bool "Intel IXP4xx GPIO" 389 depends on ARCH_IXP4XX 390 depends on OF 391 select GPIO_GENERIC 392 select GPIOLIB_IRQCHIP 393 select IRQ_DOMAIN_HIERARCHY 394 help 395 Say yes here to support the GPIO functionality of a number of Intel 396 IXP4xx series of chips. 397 398 If unsure, say N. 399 400config GPIO_LOGICVC 401 tristate "Xylon LogiCVC GPIO support" 402 depends on MFD_SYSCON && OF 403 help 404 Say yes here to support GPIO functionality of the Xylon LogiCVC 405 programmable logic block. 406 407config GPIO_LOONGSON 408 bool "Loongson-2/3 GPIO support" 409 depends on CPU_LOONGSON2EF || CPU_LOONGSON64 410 help 411 Driver for GPIO functionality on Loongson-2F/3A/3B processors. 412 413config GPIO_LOONGSON_64BIT 414 tristate "Loongson 64 bit GPIO support" 415 depends on LOONGARCH || COMPILE_TEST 416 depends on OF_GPIO 417 select GPIO_GENERIC 418 help 419 Say yes here to support the GPIO functionality of a number of 420 Loongson series of chips. The Loongson GPIO controller supports 421 up to 60 GPIOS in total, 4 of which are dedicated GPIO pins, and 422 the remaining 56 are reused with other functions, with edge or 423 level triggered interrupts. 424 425config GPIO_LPC18XX 426 tristate "NXP LPC18XX/43XX GPIO support" 427 default y if ARCH_LPC18XX 428 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST) 429 select IRQ_DOMAIN_HIERARCHY 430 help 431 Select this option to enable GPIO driver for 432 NXP LPC18XX/43XX devices. 433 434config GPIO_LPC32XX 435 tristate "NXP LPC32XX GPIO support" 436 depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST) 437 help 438 Select this option to enable GPIO driver for 439 NXP LPC32XX devices. 440 441config GPIO_MB86S7X 442 tristate "GPIO support for Fujitsu MB86S7x Platforms" 443 help 444 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. 445 446config GPIO_MENZ127 447 tristate "MEN 16Z127 GPIO support" 448 depends on MCB 449 select GPIO_GENERIC 450 help 451 Say yes here to support the MEN 16Z127 GPIO Controller. 452 453config GPIO_MM_LANTIQ 454 bool "Lantiq Memory mapped GPIOs" 455 depends on LANTIQ && SOC_XWAY 456 select OF_GPIO_MM_GPIOCHIP 457 help 458 This enables support for memory mapped GPIOs on the External Bus Unit 459 (EBU) found on Lantiq SoCs. The GPIOs are output only as they are 460 created by attaching a 16-bit latch to the bus. 461 462config GPIO_MPC5200 463 def_bool y 464 depends on PPC_MPC52xx 465 select OF_GPIO_MM_GPIOCHIP 466 467config GPIO_MPC8XXX 468 bool "MPC512x/MPC8xxx/QorIQ GPIO support" 469 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ 470 FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \ 471 COMPILE_TEST 472 select GPIO_GENERIC 473 select IRQ_DOMAIN 474 help 475 Say Y here if you're going to use hardware that connects to the 476 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. 477 478config GPIO_MT7621 479 bool "Mediatek MT7621 GPIO Support" 480 depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST 481 depends on OF_GPIO 482 select GPIO_GENERIC 483 select GPIOLIB_IRQCHIP 484 help 485 Say yes here to support the Mediatek MT7621 SoC GPIO device. 486 487config GPIO_MVEBU 488 def_bool y 489 depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST 490 select GENERIC_IRQ_CHIP 491 select REGMAP_MMIO 492 493config GPIO_MXC 494 tristate "i.MX GPIO support" 495 depends on ARCH_MXC || COMPILE_TEST 496 select GPIO_GENERIC 497 select GENERIC_IRQ_CHIP 498 499config GPIO_MXS 500 bool "Freescale MXS GPIO support" if COMPILE_TEST 501 depends on ARCH_MXS || COMPILE_TEST 502 default y if ARCH_MXS 503 select GPIO_GENERIC 504 select GENERIC_IRQ_CHIP 505 506config GPIO_NOMADIK 507 bool "Nomadik GPIO driver" 508 depends on ARCH_U8500 || ARCH_NOMADIK || MACH_EYEQ5 || COMPILE_TEST 509 select GPIOLIB_IRQCHIP 510 help 511 Say yes here to support the Nomadik SoC GPIO block. This block is also 512 used by the Mobileye EyeQ5 SoC. 513 514 It handles up to 32 GPIOs per bank, that can all be interrupt sources. 515 It is deeply interconnected with the associated pinctrl driver as GPIO 516 registers handle muxing ("alternate functions") as well. 517 518config GPIO_NPCM_SGPIO 519 bool "Nuvoton SGPIO support" 520 depends on ARCH_NPCM || COMPILE_TEST 521 select GPIOLIB_IRQCHIP 522 help 523 Say Y here to support Nuvoton NPCM7XX/NPCM8XX SGPIO functionality. 524 525config GPIO_OCTEON 526 tristate "Cavium OCTEON GPIO" 527 depends on CAVIUM_OCTEON_SOC 528 default y 529 help 530 Say yes here to support the on-chip GPIO lines on the OCTEON 531 family of SOCs. 532 533config GPIO_OMAP 534 tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST 535 default y if ARCH_OMAP 536 depends on ARM 537 select GENERIC_IRQ_CHIP 538 select GPIOLIB_IRQCHIP 539 help 540 Say yes here to enable GPIO support for TI OMAP SoCs. 541 542config GPIO_PL061 543 tristate "PrimeCell PL061 GPIO support" 544 depends on ARM_AMBA 545 select IRQ_DOMAIN 546 select GPIOLIB_IRQCHIP 547 help 548 Say yes here to support the PrimeCell PL061 GPIO device. 549 550config GPIO_PXA 551 bool "PXA GPIO support" 552 depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 553 help 554 Say yes here to support the PXA GPIO device. 555 556config GPIO_RCAR 557 tristate "Renesas R-Car and RZ/G GPIO support" 558 depends on ARCH_RENESAS || COMPILE_TEST 559 select GPIOLIB_IRQCHIP 560 help 561 Say yes here to support GPIO on Renesas R-Car or RZ/G SoCs. 562 563config GPIO_RDA 564 bool "RDA Micro GPIO controller support" 565 depends on ARCH_RDA || COMPILE_TEST 566 depends on OF_GPIO 567 select GPIO_GENERIC 568 select GPIOLIB_IRQCHIP 569 help 570 Say Y here to support RDA Micro GPIO controller. 571 572config GPIO_REALTEK_OTTO 573 tristate "Realtek Otto GPIO support" 574 depends on MACH_REALTEK_RTL 575 default MACH_REALTEK_RTL 576 select GPIO_GENERIC 577 select GPIOLIB_IRQCHIP 578 help 579 The GPIO controller on the Otto MIPS platform supports up to two 580 banks of 32 GPIOs, with edge triggered interrupts. The 32 GPIOs 581 are grouped in four 8-bit wide ports. 582 583 When built as a module, the module will be called realtek_otto_gpio. 584 585config GPIO_REG 586 bool 587 help 588 A 32-bit single register GPIO fixed in/out implementation. This 589 can be used to represent any register as a set of GPIO signals. 590 591config GPIO_ROCKCHIP 592 tristate "Rockchip GPIO support" 593 depends on ARCH_ROCKCHIP || COMPILE_TEST 594 select GENERIC_IRQ_CHIP 595 select GPIOLIB_IRQCHIP 596 default ARCH_ROCKCHIP 597 help 598 Say yes here to support GPIO on Rockchip SoCs. 599 600config GPIO_RTD 601 tristate "Realtek DHC GPIO support" 602 depends on ARCH_REALTEK 603 default y 604 select GPIOLIB_IRQCHIP 605 help 606 This option enables support for GPIOs found on Realtek DHC(Digital 607 Home Center) SoCs family, including RTD1295, RTD1315E, RTD1319, 608 RTD1319D, RTD1395, RTD1619 and RTD1619B. 609 610 Say yes here to support GPIO functionality and GPIO interrupt on 611 Realtek DHC SoCs. 612 613config GPIO_SAMA5D2_PIOBU 614 tristate "SAMA5D2 PIOBU GPIO support" 615 depends on MFD_SYSCON 616 depends on OF_GPIO 617 depends on ARCH_AT91 || COMPILE_TEST 618 select GPIO_SYSCON 619 help 620 Say yes here to use the PIOBU pins as GPIOs. 621 622 PIOBU pins on the SAMA5D2 can be used as GPIOs. 623 The difference from regular GPIOs is that they 624 maintain their value during backup/self-refresh. 625 626config GPIO_SIFIVE 627 tristate "SiFive GPIO support" 628 depends on OF_GPIO 629 select IRQ_DOMAIN_HIERARCHY 630 select GPIO_GENERIC 631 select GPIOLIB_IRQCHIP 632 select REGMAP_MMIO 633 help 634 Say yes here to support the GPIO device on SiFive SoCs. 635 636config GPIO_SIOX 637 tristate "SIOX GPIO support" 638 depends on SIOX 639 select GPIOLIB_IRQCHIP 640 help 641 Say yes here to support SIOX I/O devices. These are units connected 642 via a SIOX bus and have a number of fixed-direction I/O lines. 643 644config GPIO_SNPS_CREG 645 bool "Synopsys GPIO via CREG (Control REGisters) driver" 646 depends on ARC || COMPILE_TEST 647 depends on OF_GPIO 648 help 649 This driver supports GPIOs via CREG on various Synopsys SoCs. 650 This is a single-register MMIO GPIO driver for complex cases 651 where only several fields in register belong to GPIO lines and 652 each GPIO line owns a field with different length and on/off value. 653 654config GPIO_SPEAR_SPICS 655 bool "ST SPEAr13xx SPI Chip Select as GPIO support" 656 depends on PLAT_SPEAR 657 select GENERIC_IRQ_CHIP 658 help 659 Say yes here to support ST SPEAr SPI Chip Select as GPIO device. 660 661config GPIO_SPRD 662 tristate "Spreadtrum GPIO support" 663 depends on ARCH_SPRD || COMPILE_TEST 664 depends on OF_GPIO 665 select GPIOLIB_IRQCHIP 666 help 667 Say yes here to support Spreadtrum GPIO device. 668 669config GPIO_STP_XWAY 670 bool "XWAY STP GPIOs" 671 depends on SOC_XWAY || COMPILE_TEST 672 depends on OF_GPIO 673 help 674 This enables support for the Serial To Parallel (STP) unit found on 675 XWAY SoC. The STP allows the SoC to drive a shift registers cascade, 676 that can be up to 24 bits. This peripheral is aimed at driving LEDs. 677 Some of the GPIOs/LEDs can be auto updated by the SoC with DSL and 678 phy status. 679 680config GPIO_SYSCON 681 tristate "GPIO based on SYSCON" 682 depends on MFD_SYSCON && OF 683 help 684 Say yes here to support GPIO functionality though SYSCON driver. 685 686config GPIO_TANGIER 687 tristate 688 select GPIOLIB_IRQCHIP 689 help 690 GPIO support for Intel Tangier and compatible platforms. 691 Currently supported: 692 - Elkhart Lake 693 - Merrifield 694 695 If built as a module its name will be gpio-tangier. 696 697config GPIO_TB10X 698 bool 699 select GPIO_GENERIC 700 select GENERIC_IRQ_CHIP 701 select OF_GPIO 702 703config GPIO_TEGRA 704 tristate "NVIDIA Tegra GPIO support" 705 default ARCH_TEGRA 706 depends on ARCH_TEGRA || COMPILE_TEST 707 depends on OF_GPIO 708 select GPIOLIB_IRQCHIP 709 select IRQ_DOMAIN_HIERARCHY 710 help 711 Say yes here to support GPIO pins on NVIDIA Tegra SoCs. 712 713config GPIO_TEGRA186 714 tristate "NVIDIA Tegra186 GPIO support" 715 default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC 716 depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST 717 depends on OF_GPIO 718 select GPIOLIB_IRQCHIP 719 select IRQ_DOMAIN_HIERARCHY 720 help 721 Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs. 722 723config GPIO_TS4800 724 tristate "TS-4800 DIO blocks and compatibles" 725 depends on OF_GPIO 726 depends on SOC_IMX51 || COMPILE_TEST 727 select GPIO_GENERIC 728 help 729 This driver support TS-4800 FPGA GPIO controllers. 730 731config GPIO_THUNDERX 732 tristate "Cavium ThunderX/OCTEON-TX GPIO" 733 depends on ARCH_THUNDER || (64BIT && COMPILE_TEST) 734 depends on PCI_MSI 735 select GPIOLIB_IRQCHIP 736 select IRQ_DOMAIN_HIERARCHY 737 select IRQ_FASTEOI_HIERARCHY_HANDLERS 738 help 739 Say yes here to support the on-chip GPIO lines on the ThunderX 740 and OCTEON-TX families of SoCs. 741 742config GPIO_UNIPHIER 743 tristate "UniPhier GPIO support" 744 depends on ARCH_UNIPHIER || COMPILE_TEST 745 depends on OF_GPIO 746 select IRQ_DOMAIN_HIERARCHY 747 help 748 Say yes here to support UniPhier GPIOs. 749 750config GPIO_VF610 751 bool "VF610 GPIO support" 752 default y if SOC_VF610 753 depends on ARCH_MXC || COMPILE_TEST 754 select GPIOLIB_IRQCHIP 755 help 756 Say yes here to support i.MX or Vybrid vf610 GPIOs. 757 758config GPIO_VISCONTI 759 tristate "Toshiba Visconti GPIO support" 760 depends on ARCH_VISCONTI || COMPILE_TEST 761 depends on OF_GPIO 762 select GPIOLIB_IRQCHIP 763 select GPIO_GENERIC 764 select IRQ_DOMAIN_HIERARCHY 765 help 766 Say yes here to support GPIO on Tohisba Visconti. 767 768config GPIO_WCD934X 769 tristate "Qualcomm Technologies Inc WCD9340/WCD9341 GPIO controller driver" 770 depends on MFD_WCD934X && OF_GPIO 771 help 772 This driver is to support GPIO block found on the Qualcomm Technologies 773 Inc WCD9340/WCD9341 Audio Codec. 774 775config GPIO_XGENE 776 bool "APM X-Gene GPIO controller support" 777 depends on ARM64 && OF_GPIO 778 help 779 This driver is to support the GPIO block within the APM X-Gene SoC 780 platform's generic flash controller. The GPIO pins are muxed with 781 the generic flash controller's address and data pins. Say yes 782 here to enable the GFC GPIO functionality. 783 784config GPIO_XGENE_SB 785 tristate "APM X-Gene GPIO standby controller support" 786 depends on (ARCH_XGENE || COMPILE_TEST) 787 select GPIO_GENERIC 788 select GPIOLIB_IRQCHIP 789 select IRQ_DOMAIN_HIERARCHY 790 help 791 This driver supports the GPIO block within the APM X-Gene 792 Standby Domain. Say yes here to enable the GPIO functionality. 793 794config GPIO_XILINX 795 tristate "Xilinx GPIO support" 796 select GPIOLIB_IRQCHIP 797 help 798 Say yes here to support the Xilinx FPGA GPIO device. 799 800config GPIO_XLP 801 tristate "Cavium ThunderX2 GPIO support" 802 depends on ARCH_THUNDER2 || COMPILE_TEST 803 select GPIOLIB_IRQCHIP 804 help 805 This driver provides support for GPIO interface on Cavium's ThunderX2 806 CN99XX SoCs (Originally from Netlogic XLP). 807 808 If unsure, say N. 809 810config GPIO_XTENSA 811 bool "Xtensa GPIO32 support" 812 depends on XTENSA 813 depends on HAVE_XTENSA_GPIO32 814 depends on !SMP 815 help 816 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input) 817 and EXPSTATE (output) ports. 818 819config GPIO_ZEVIO 820 bool "LSI ZEVIO SoC memory mapped GPIOs" 821 depends on ARM 822 help 823 Say yes here to support the GPIO controller in LSI ZEVIO SoCs. 824 825config GPIO_ZYNQ 826 tristate "Xilinx Zynq GPIO support" 827 depends on ARCH_ZYNQ || ARCH_ZYNQMP 828 select GPIOLIB_IRQCHIP 829 help 830 Say yes here to support Xilinx Zynq GPIO controller. 831 832config GPIO_ZYNQMP_MODEPIN 833 tristate "ZynqMP ps-mode pin GPIO configuration driver" 834 depends on ZYNQMP_FIRMWARE 835 default ZYNQMP_FIRMWARE 836 help 837 Say yes here to support the ZynqMP ps-mode pin GPIO configuration 838 driver. 839 840 This ps-mode pin GPIO driver is based on GPIO framework. PS_MODE 841 is 4-bits boot mode pins. It sets and gets the status of 842 the ps-mode pin. Every pin can be configured as input/output. 843 844config GPIO_LOONGSON1 845 tristate "Loongson1 GPIO support" 846 depends on MACH_LOONGSON32 847 select GPIO_GENERIC 848 help 849 Say Y or M here to support GPIO on Loongson1 SoCs. 850 851config GPIO_AMD_FCH 852 tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)" 853 help 854 This option enables driver for GPIO on AMD's Fusion Controller Hub, 855 as found on G-series SOCs (e.g. GX-412TC). 856 857 Note: This driver doesn't register itself automatically, as it 858 needs to be provided with platform-specific configuration. 859 (See e.g. CONFIG_PCENGINES_APU2.) 860 861config GPIO_MSC313 862 bool "MStar MSC313 GPIO support" 863 depends on ARCH_MSTARV7 864 default ARCH_MSTARV7 865 select GPIOLIB_IRQCHIP 866 select IRQ_DOMAIN_HIERARCHY 867 help 868 Say Y here to support the main GPIO block on MStar/SigmaStar 869 ARMv7-based SoCs. 870 871config GPIO_IDT3243X 872 tristate "IDT 79RC3243X GPIO support" 873 depends on MIKROTIK_RB532 || COMPILE_TEST 874 select GPIO_GENERIC 875 select GPIOLIB_IRQCHIP 876 help 877 Select this option to enable GPIO driver for 878 IDT 79RC3243X-based devices like Mikrotik RB532. 879 880 To compile this driver as a module, choose M here: the module will 881 be called gpio-idt3243x. 882 883endmenu 884 885menu "Port-mapped I/O GPIO drivers" 886 depends on X86 && HAS_IOPORT # I/O space access 887 888config GPIO_VX855 889 tristate "VIA VX855/VX875 GPIO" 890 depends on PCI 891 select MFD_CORE 892 select MFD_VX855 893 help 894 Support access to the VX855/VX875 GPIO lines through the GPIO library. 895 896 This driver provides common support for accessing the device. 897 Additional drivers must be enabled in order to use the 898 functionality of the device. 899 900config GPIO_I8255 901 tristate 902 select GPIO_REGMAP 903 help 904 Enables support for the i8255 interface library functions. The i8255 905 interface library provides functions to facilitate communication with 906 interfaces compatible with the venerable Intel 8255 Programmable 907 Peripheral Interface (PPI). The Intel 8255 PPI chip was first released 908 in the early 1970s but compatible interfaces are nowadays typically 909 found embedded in larger VLSI processing chips and FPGA components. 910 911 If built as a module its name will be gpio-i8255. 912 913config GPIO_104_DIO_48E 914 tristate "ACCES 104-DIO-48E GPIO support" 915 depends on PC104 916 select ISA_BUS_API 917 select REGMAP_MMIO 918 select REGMAP_IRQ 919 select GPIOLIB_IRQCHIP 920 select GPIO_I8255 921 select I8254 922 help 923 Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E, 924 104-DIO-24E). The base port addresses for the devices may be 925 configured via the base module parameter. The interrupt line numbers 926 for the devices may be configured via the irq module parameter. 927 928config GPIO_104_IDIO_16 929 tristate "ACCES 104-IDIO-16 GPIO support" 930 depends on PC104 931 select ISA_BUS_API 932 select REGMAP_MMIO 933 select GPIO_IDIO_16 934 help 935 Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16, 936 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The 937 base port addresses for the devices may be configured via the base 938 module parameter. The interrupt line numbers for the devices may be 939 configured via the irq module parameter. 940 941config GPIO_104_IDI_48 942 tristate "ACCES 104-IDI-48 GPIO support" 943 depends on PC104 944 select ISA_BUS_API 945 select REGMAP_MMIO 946 select REGMAP_IRQ 947 select GPIOLIB_IRQCHIP 948 select GPIO_REGMAP 949 help 950 Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A, 951 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for 952 the devices may be configured via the base module parameter. The 953 interrupt line numbers for the devices may be configured via the irq 954 module parameter. 955 956config GPIO_F7188X 957 tristate "Fintek and Nuvoton Super-I/O GPIO support" 958 help 959 This option enables support for GPIOs found on Fintek Super-I/O 960 chips F71869, F71869A, F71882FG, F71889F and F81866. 961 As well as Nuvoton Super-I/O chip NCT6126D. 962 963 To compile this driver as a module, choose M here: the module will 964 be called f7188x-gpio. 965 966config GPIO_GPIO_MM 967 tristate "Diamond Systems GPIO-MM GPIO support" 968 depends on PC104 969 select ISA_BUS_API 970 select REGMAP_MMIO 971 select GPIO_I8255 972 help 973 Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12. 974 975 The Diamond Systems GPIO-MM device features 48 lines of digital I/O 976 via the emulation of dual 82C55A PPI chips. This driver provides GPIO 977 support for these 48 channels of digital I/O. 978 979 The base port addresses for the devices may be configured via the base 980 array module parameter. 981 982config GPIO_IT87 983 tristate "IT87xx GPIO support" 984 help 985 Say yes here to support GPIO functionality of IT87xx Super I/O chips. 986 987 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and 988 supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as 989 well. 990 991 To compile this driver as a module, choose M here: the module will 992 be called gpio_it87. 993 994config GPIO_SCH 995 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO" 996 depends on (X86 || COMPILE_TEST) && ACPI 997 depends on LPC_SCH 998 select GPIOLIB_IRQCHIP 999 help 1000 Say yes here to support GPIO interface on Intel Poulsbo SCH, 1001 Intel Tunnel Creek processor, Intel Centerton processor or 1002 Intel Quark X1000 SoC. 1003 1004 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are 1005 powered by the core power rail and are turned off during sleep 1006 modes (S3 and higher). The remaining four GPIOs are powered by 1007 the Intel SCH suspend power supply. These GPIOs remain 1008 active during S3. The suspend-powered GPIOs can be used to wake the 1009 system from the Suspend-to-RAM state. 1010 1011 The Intel Tunnel Creek processor has 5 GPIOs powered by the 1012 core power rail and 9 from suspend power supply. 1013 1014 The Intel Centerton processor has a total of 30 GPIO pins. 1015 Twenty-one are powered by the core power rail and 9 from the 1016 suspend power supply. 1017 1018 The Intel Quark X1000 SoC has 2 GPIOs powered by the core 1019 power well and 6 from the suspend power well. 1020 1021config GPIO_SCH311X 1022 tristate "SMSC SCH311x SuperI/O GPIO" 1023 help 1024 Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and 1025 SCH3116 "Super I/O" chipsets. 1026 1027 To compile this driver as a module, choose M here: the module will 1028 be called gpio-sch311x. 1029 1030config GPIO_TS5500 1031 tristate "TS-5500 DIO blocks and compatibles" 1032 depends on TS5500 || COMPILE_TEST 1033 help 1034 This driver supports Digital I/O exposed by pin blocks found on some 1035 Technologic Systems platforms. It includes, but is not limited to, 3 1036 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600 1037 LCD port. 1038 1039config GPIO_WINBOND 1040 tristate "Winbond Super I/O GPIO support" 1041 select ISA_BUS_API 1042 help 1043 This option enables support for GPIOs found on Winbond Super I/O 1044 chips. 1045 Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is 1046 supported. 1047 1048 You will need to provide a module parameter "gpios", or a 1049 boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO 1050 ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.). 1051 1052 To compile this driver as a module, choose M here: the module will 1053 be called gpio-winbond. 1054 1055config GPIO_WS16C48 1056 tristate "WinSystems WS16C48 GPIO support" 1057 select ISA_BUS_API 1058 select REGMAP_IRQ 1059 select REGMAP_MMIO 1060 select GPIOLIB_IRQCHIP 1061 select GPIO_REGMAP 1062 help 1063 Enables GPIO support for the WinSystems WS16C48. The base port 1064 addresses for the devices may be configured via the base module 1065 parameter. The interrupt line numbers for the devices may be 1066 configured via the irq module parameter. 1067 1068endmenu 1069 1070menu "I2C GPIO expanders" 1071 depends on I2C 1072 1073config GPIO_ADNP 1074 tristate "Avionic Design N-bit GPIO expander" 1075 depends on OF_GPIO 1076 select GPIOLIB_IRQCHIP 1077 help 1078 This option enables support for N GPIOs found on Avionic Design 1079 I2C GPIO expanders. The register space will be extended by powers 1080 of two, so the controller will need to accommodate for that. For 1081 example: if a controller provides 48 pins, 6 registers will be 1082 enough to represent all pins, but the driver will assume a 1083 register layout for 64 pins (8 registers). 1084 1085config GPIO_FXL6408 1086 tristate "FXL6408 I2C GPIO expander" 1087 select GPIO_REGMAP 1088 select REGMAP_I2C 1089 help 1090 GPIO driver for Fairchild Semiconductor FXL6408 GPIO expander. 1091 1092 To compile this driver as a module, choose M here: the module will 1093 be called gpio-fxl6408. 1094 1095config GPIO_DS4520 1096 tristate "DS4520 I2C GPIO expander" 1097 select REGMAP_I2C 1098 select GPIO_REGMAP 1099 help 1100 GPIO driver for ADI DS4520 I2C-based GPIO expander. 1101 Say yes here to enable the GPIO driver for the ADI DS4520 chip. 1102 1103 To compile this driver as a module, choose M here: the module will 1104 be called gpio-ds4520. 1105 1106config GPIO_GW_PLD 1107 tristate "Gateworks PLD GPIO Expander" 1108 depends on OF_GPIO 1109 help 1110 Say yes here to provide access to the Gateworks I2C PLD GPIO 1111 Expander. This is used at least on the Cambria GW2358-4. 1112 1113config GPIO_MAX7300 1114 tristate "Maxim MAX7300 GPIO expander" 1115 select GPIO_MAX730X 1116 help 1117 GPIO driver for Maxim MAX7300 I2C-based GPIO expander. 1118 1119config GPIO_MAX732X 1120 tristate "MAX7319, MAX7320-7327 I2C Port Expanders" 1121 help 1122 Say yes here to support the MAX7319, MAX7320-7327 series of I2C 1123 Port Expanders. Each IO port on these chips has a fixed role of 1124 Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain 1125 Input and Output (designed by 'P'). The combinations are listed 1126 below: 1127 1128 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), 1129 max7322 (4I4O), max7323 (4P4O) 1130 1131 16 bits: max7324 (8I8O), max7325 (8P8O), 1132 max7326 (4I12O), max7327 (4P12O) 1133 1134 Board setup code must specify the model to use, and the start 1135 number for these GPIOs. 1136 1137config GPIO_MAX732X_IRQ 1138 bool "Interrupt controller support for MAX732x" 1139 depends on GPIO_MAX732X=y 1140 select GPIOLIB_IRQCHIP 1141 help 1142 Say yes here to enable the max732x to be used as an interrupt 1143 controller. It requires the driver to be built in the kernel. 1144 1145config GPIO_PCA953X 1146 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" 1147 select REGMAP_I2C 1148 help 1149 Say yes here to provide access to several register-oriented 1150 SMBus I/O expanders, made mostly by NXP or TI. Compatible 1151 models include: 1152 1153 4 bits: pca9536, pca9537 1154 1155 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, 1156 pca9556, pca9557, pca9574, tca6408, tca9554, xra1202 1157 1158 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, 1159 tca6416 1160 1161 24 bits: tca6424 1162 1163 40 bits: pca9505, pca9698 1164 1165config GPIO_PCA953X_IRQ 1166 bool "Interrupt controller support for PCA953x" 1167 depends on GPIO_PCA953X 1168 select GPIOLIB_IRQCHIP 1169 help 1170 Say yes here to enable the pca953x to be used as an interrupt 1171 controller. 1172 1173config GPIO_PCA9570 1174 tristate "PCA9570 4-Bit I2C GPO expander" 1175 help 1176 Say yes here to enable the GPO driver for the NXP PCA9570 chip. 1177 1178 To compile this driver as a module, choose M here: the module will 1179 be called gpio-pca9570. 1180 1181config GPIO_PCF857X 1182 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" 1183 select GPIOLIB_IRQCHIP 1184 select IRQ_DOMAIN 1185 help 1186 Say yes here to provide access to most "quasi-bidirectional" I2C 1187 GPIO expanders used for additional digital outputs or inputs. 1188 Most of these parts are from NXP, though TI is a second source for 1189 some of them. Compatible models include: 1190 1191 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, 1192 pca9670, pca9672, pca9674, pca9674a, 1193 max7328, max7329 1194 1195 16 bits: pcf8575, pcf8575c, pca8575, 1196 pca9671, pca9673, pca9675 1197 1198 Your board setup code will need to declare the expanders in 1199 use, and assign numbers to the GPIOs they expose. Those GPIOs 1200 can then be used from drivers and other kernel code, just like 1201 other GPIOs, but only accessible from task contexts. 1202 1203 This driver provides an in-kernel interface to those GPIOs using 1204 platform-neutral GPIO calls. 1205 1206config GPIO_TPIC2810 1207 tristate "TPIC2810 8-Bit I2C GPO expander" 1208 help 1209 Say yes here to enable the GPO driver for the TI TPIC2810 chip. 1210 1211 To compile this driver as a module, choose M here: the module will 1212 be called gpio-tpic2810. 1213 1214config GPIO_TS4900 1215 tristate "Technologic Systems FPGA I2C GPIO" 1216 depends on SOC_IMX6 || COMPILE_TEST 1217 select REGMAP_I2C 1218 help 1219 Say yes here to enabled the GPIO driver for Technologic's FPGA core. 1220 Series supported include TS-4100, TS-4900, TS-7970 and TS-7990. 1221 1222endmenu 1223 1224menu "MFD GPIO expanders" 1225 1226config GPIO_ADP5520 1227 tristate "GPIO Support for ADP5520 PMIC" 1228 depends on PMIC_ADP5520 1229 help 1230 This option enables support for on-chip GPIO found 1231 on Analog Devices ADP5520 PMICs. 1232 1233config GPIO_ADP5585 1234 tristate "GPIO Support for ADP5585" 1235 depends on MFD_ADP5585 1236 help 1237 This option enables support for the GPIO function found in the Analog 1238 Devices ADP5585. 1239 1240config GPIO_ALTERA_A10SR 1241 tristate "Altera Arria10 System Resource GPIO" 1242 depends on MFD_ALTERA_A10SR 1243 help 1244 Driver for Arria10 Development Kit GPIO expansion which 1245 includes reads of pushbuttons and DIP switches as well 1246 as writes to LEDs. 1247 1248config GPIO_ARIZONA 1249 tristate "Wolfson Microelectronics Arizona class devices" 1250 depends on MFD_ARIZONA 1251 help 1252 Support for GPIOs on Wolfson Arizona class devices. 1253 1254config GPIO_BD71815 1255 tristate "ROHM BD71815 PMIC GPIO support" 1256 depends on MFD_ROHM_BD71828 1257 help 1258 Support for GPO(s) on ROHM BD71815 PMIC. There are two GPOs 1259 available on the ROHM PMIC. 1260 1261 This driver can also be built as a module. If so, the module 1262 will be called gpio-bd71815. 1263 1264config GPIO_BD71828 1265 tristate "ROHM BD71828 GPIO support" 1266 depends on MFD_ROHM_BD71828 1267 help 1268 Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs 1269 available on the ROHM PMIC in total. The GPIOs are limited to 1270 outputs only and pins must be configured to GPIO outputs by 1271 OTP. Enable this only if you want to use these pins as outputs. 1272 1273 This driver can also be built as a module. If so, the module 1274 will be called gpio-bd71828. 1275 1276config GPIO_BD9571MWV 1277 tristate "ROHM BD9571 GPIO support" 1278 depends on MFD_BD9571MWV 1279 help 1280 Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs 1281 available on the ROHM PMIC in total, both of which can also 1282 generate interrupts. 1283 1284 This driver can also be built as a module. If so, the module 1285 will be called gpio-bd9571mwv. 1286 1287config GPIO_CGBC 1288 tristate "Congatec Board Controller GPIO support" 1289 depends on MFD_CGBC 1290 help 1291 Select this option to enable GPIO support for the Congatec Board 1292 Controller. 1293 1294 This driver can also be built as a module. If so, the module will be 1295 called gpio-cgbc. 1296 1297config GPIO_CROS_EC 1298 tristate "ChromeOS EC GPIO support" 1299 depends on CROS_EC 1300 help 1301 GPIO driver for the ChromeOS Embedded Controller (EC). GPIOs 1302 cannot be set unless the system is unlocked. 1303 1304 This driver can also be built as a module. If so, the module 1305 will be called gpio-cros-ec. 1306 1307config GPIO_CRYSTAL_COVE 1308 tristate "GPIO support for Crystal Cove PMIC" 1309 depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC 1310 select GPIOLIB_IRQCHIP 1311 help 1312 Support for GPIO pins on Crystal Cove PMIC. 1313 1314 Say Yes if you have a Intel SoC-based tablet with Crystal Cove PMIC 1315 inside. 1316 1317 This driver can also be built as a module. If so, the module will be 1318 called gpio-crystalcove. 1319 1320config GPIO_CS5535 1321 tristate "AMD CS5535/CS5536 GPIO support" 1322 depends on X86 || MIPS || COMPILE_TEST 1323 depends on MFD_CS5535 1324 help 1325 The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that 1326 can be used for quite a number of things. The CS5535/6 is found on 1327 AMD Geode and Lemote Yeeloong devices. 1328 1329 If unsure, say N. 1330 1331config GPIO_DA9052 1332 tristate "Dialog DA9052 GPIO" 1333 depends on PMIC_DA9052 1334 help 1335 Say yes here to enable the GPIO driver for the DA9052 chip. 1336 1337config GPIO_DA9055 1338 tristate "Dialog Semiconductor DA9055 GPIO" 1339 depends on MFD_DA9055 1340 help 1341 Say yes here to enable the GPIO driver for the DA9055 chip. 1342 1343 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be 1344 be controlled by this driver. 1345 1346 If driver is built as a module it will be called gpio-da9055. 1347 1348config GPIO_DLN2 1349 tristate "Diolan DLN2 GPIO support" 1350 depends on MFD_DLN2 1351 select GPIOLIB_IRQCHIP 1352 1353 help 1354 Select this option to enable GPIO driver for the Diolan DLN2 1355 board. 1356 1357 This driver can also be built as a module. If so, the module 1358 will be called gpio-dln2. 1359 1360config HTC_EGPIO 1361 bool "HTC EGPIO support" 1362 depends on ARM 1363 help 1364 This driver supports the CPLD egpio chip present on 1365 several HTC phones. It provides basic support for input 1366 pins, output pins, and IRQs. 1367 1368config GPIO_ELKHARTLAKE 1369 tristate "Intel Elkhart Lake PSE GPIO support" 1370 depends on X86 || COMPILE_TEST 1371 select GPIO_TANGIER 1372 help 1373 Select this option to enable GPIO support for Intel Elkhart Lake 1374 PSE GPIO IP. 1375 1376 To compile this driver as a module, choose M here: the module will 1377 be called gpio-elkhartlake. 1378 1379config GPIO_JANZ_TTL 1380 tristate "Janz VMOD-TTL Digital IO Module" 1381 depends on MFD_JANZ_CMODIO 1382 help 1383 This enables support for the Janz VMOD-TTL Digital IO module. 1384 This driver provides support for driving the pins in output 1385 mode only. Input mode is not supported. 1386 1387config GPIO_KEMPLD 1388 tristate "Kontron ETX / COMexpress GPIO" 1389 depends on MFD_KEMPLD 1390 help 1391 This enables support for the PLD GPIO interface on some Kontron ETX 1392 and COMexpress (ETXexpress) modules. 1393 1394 This driver can also be built as a module. If so, the module will be 1395 called gpio-kempld. 1396 1397config GPIO_LJCA 1398 tristate "INTEL La Jolla Cove Adapter GPIO support" 1399 depends on USB_LJCA 1400 select GPIOLIB_IRQCHIP 1401 default USB_LJCA 1402 help 1403 Select this option to enable GPIO driver for the INTEL 1404 La Jolla Cove Adapter (LJCA) board. 1405 1406 This driver can also be built as a module. If so, the module 1407 will be called gpio-ljca. 1408 1409config GPIO_LP3943 1410 tristate "TI/National Semiconductor LP3943 GPIO expander" 1411 depends on MFD_LP3943 1412 help 1413 GPIO driver for LP3943 MFD. 1414 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. 1415 Open drain outputs are required for this usage. 1416 1417config GPIO_LP873X 1418 tristate "TI LP873X GPO" 1419 depends on MFD_TI_LP873X 1420 help 1421 This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present 1422 on LP873X PMICs. 1423 1424 This driver can also be built as a module. If so, the module will be 1425 called gpio-lp873x. 1426 1427config GPIO_LP87565 1428 tristate "TI LP87565 GPIO" 1429 depends on MFD_TI_LP87565 1430 help 1431 This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present 1432 on LP87565 PMICs. 1433 1434 This driver can also be built as a module. If so, the module will be 1435 called gpio-lp87565. 1436 1437config GPIO_MADERA 1438 tristate "Cirrus Logic Madera class codecs" 1439 depends on PINCTRL_MADERA 1440 help 1441 Support for GPIOs on Cirrus Logic Madera class codecs. 1442 1443config GPIO_MAX77620 1444 tristate "GPIO support for PMIC MAX77620 and MAX20024" 1445 depends on MFD_MAX77620 1446 select GPIOLIB_IRQCHIP 1447 help 1448 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. 1449 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The 1450 driver also provides interrupt support for each of the GPIOs. 1451 Say yes here to enable the max77620 to be used as GPIO controller. 1452 1453config GPIO_MAX77650 1454 tristate "Maxim MAX77650/77651 GPIO support" 1455 depends on MFD_MAX77650 1456 help 1457 GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor. 1458 These chips have a single pin that can be configured as GPIO. 1459 1460config GPIO_PALMAS 1461 bool "TI PALMAS series PMICs GPIO" 1462 depends on MFD_PALMAS 1463 help 1464 Select this option to enable GPIO driver for the TI PALMAS 1465 series chip family. 1466 1467config GPIO_PMIC_EIC_SPRD 1468 tristate "Spreadtrum PMIC EIC support" 1469 depends on MFD_SC27XX_PMIC || COMPILE_TEST 1470 depends on OF_GPIO 1471 select GPIOLIB_IRQCHIP 1472 help 1473 Say yes here to support Spreadtrum PMIC EIC device. 1474 1475config GPIO_RC5T583 1476 bool "RICOH RC5T583 GPIO" 1477 depends on MFD_RC5T583 1478 help 1479 Select this option to enable GPIO driver for the Ricoh RC5T583 1480 chip family. 1481 This driver provides the support for driving/reading the GPIO pins 1482 of RC5T583 device through standard GPIO library. 1483 1484config GPIO_SL28CPLD 1485 tristate "Kontron sl28cpld GPIO support" 1486 depends on MFD_SL28CPLD || COMPILE_TEST 1487 select GPIO_REGMAP 1488 select GPIOLIB_IRQCHIP 1489 select REGMAP_IRQ 1490 help 1491 This enables support for the GPIOs found on the Kontron sl28 CPLD. 1492 1493 This driver can also be built as a module. If so, the module will be 1494 called gpio-sl28cpld. 1495 1496config GPIO_STMPE 1497 bool "STMPE GPIOs" 1498 depends on MFD_STMPE 1499 depends on OF_GPIO 1500 select GPIOLIB_IRQCHIP 1501 help 1502 This enables support for the GPIOs found on the STMPE I/O 1503 Expanders. 1504 1505config GPIO_TC3589X 1506 bool "TC3589X GPIOs" 1507 depends on MFD_TC3589X 1508 depends on OF_GPIO 1509 select GPIOLIB_IRQCHIP 1510 help 1511 This enables support for the GPIOs found on the TC3589X 1512 I/O Expander. 1513 1514config GPIO_TIMBERDALE 1515 bool "Support for timberdale GPIO IP" 1516 depends on MFD_TIMBERDALE 1517 help 1518 Add support for the GPIO IP in the timberdale FPGA. 1519 1520config GPIO_TN48M_CPLD 1521 tristate "Delta Networks TN48M switch CPLD GPIO driver" 1522 depends on MFD_TN48M_CPLD 1523 select GPIO_REGMAP 1524 help 1525 This enables support for the GPIOs found on the Delta 1526 Networks TN48M switch Lattice CPLD. It provides 12 pins in total, 1527 they are input-only or output-only type. 1528 1529 This driver can also be built as a module. If so, the 1530 module will be called gpio-tn48m. 1531 1532config GPIO_TPS65086 1533 tristate "TI TPS65086 GPO" 1534 depends on MFD_TPS65086 1535 help 1536 This driver supports the GPO on TI TPS65086x PMICs. 1537 1538config GPIO_TPS65218 1539 tristate "TPS65218 GPIO" 1540 depends on MFD_TPS65218 1541 help 1542 Select this option to enable GPIO driver for the TPS65218 1543 chip family. 1544 1545config GPIO_TPS65219 1546 tristate "TPS65219 GPIO" 1547 depends on MFD_TPS65219 1548 default MFD_TPS65219 1549 help 1550 Select this option to enable GPIO driver for the TPS65219 chip 1551 family. 1552 GPIO0 is statically configured as either input or output prior to 1553 Linux boot. It is used for MULTI_DEVICE_ENABLE function. This setting 1554 is statically configured by NVM. GPIO0 can't be used as a generic 1555 GPIO. It's either a GPO when MULTI_DEVICE_EN=0 or a GPI when 1556 MULTI_DEVICE_EN=1. 1557 1558 This driver can also be built as a module. If so, the module will be 1559 called gpio_tps65219. 1560 1561config GPIO_TPS6586X 1562 bool "TPS6586X GPIO" 1563 depends on MFD_TPS6586X 1564 help 1565 Select this option to enable GPIO driver for the TPS6586X 1566 chip family. 1567 1568config GPIO_TPS65910 1569 bool "TPS65910 GPIO" 1570 depends on MFD_TPS65910 1571 help 1572 Select this option to enable GPIO driver for the TPS65910 1573 chip family. 1574 1575config GPIO_TPS65912 1576 tristate "TI TPS65912 GPIO" 1577 depends on MFD_TPS65912 1578 help 1579 This driver supports TPS65912 GPIO chip. 1580 1581config GPIO_TPS68470 1582 tristate "TPS68470 GPIO" 1583 depends on INTEL_SKL_INT3472 1584 help 1585 Select this option to enable GPIO driver for the TPS68470 1586 chip family. 1587 There are 7 GPIOs and few sensor-related GPIOs supported 1588 by the TPS68470. While the 7 GPIOs can be configured as 1589 input or output as appropriate, the sensor related GPIOs 1590 are "output only" GPIOs. 1591 1592config GPIO_TQMX86 1593 tristate "TQ-Systems TQMx86 GPIO" 1594 depends on MFD_TQMX86 || COMPILE_TEST 1595 depends on HAS_IOPORT_MAP 1596 select GPIOLIB_IRQCHIP 1597 help 1598 This driver supports GPIO on the TQMX86 IO controller. 1599 1600config GPIO_TWL4030 1601 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" 1602 depends on TWL4030_CORE 1603 help 1604 Say yes here to access the GPIO signals of various multi-function 1605 power management chips from Texas Instruments. 1606 1607config GPIO_TWL6040 1608 tristate "TWL6040 GPO" 1609 depends on TWL6040_CORE 1610 help 1611 Say yes here to access the GPO signals of twl6040 1612 audio chip from Texas Instruments. 1613 1614config GPIO_WHISKEY_COVE 1615 tristate "GPIO support for Whiskey Cove PMIC" 1616 depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC 1617 select GPIOLIB_IRQCHIP 1618 help 1619 Support for GPIO pins on Whiskey Cove PMIC. 1620 1621 Say Yes if you have an Intel SoC-based tablet with Whiskey Cove PMIC 1622 inside. 1623 1624 This driver can also be built as a module. If so, the module will be 1625 called gpio-wcove. 1626 1627config GPIO_WM831X 1628 tristate "WM831x GPIOs" 1629 depends on MFD_WM831X 1630 help 1631 Say yes here to access the GPIO signals of WM831x power management 1632 chips from Wolfson Microelectronics. 1633 1634config GPIO_WM8350 1635 tristate "WM8350 GPIOs" 1636 depends on MFD_WM8350 1637 help 1638 Say yes here to access the GPIO signals of WM8350 power management 1639 chips from Wolfson Microelectronics. 1640 1641config GPIO_WM8994 1642 tristate "WM8994 GPIOs" 1643 depends on MFD_WM8994 1644 help 1645 Say yes here to access the GPIO signals of WM8994 audio hub 1646 CODECs from Wolfson Microelectronics. 1647 1648endmenu 1649 1650menu "PCI GPIO expanders" 1651 depends on PCI 1652 1653config GPIO_AMD8111 1654 tristate "AMD 8111 GPIO driver" 1655 depends on X86 || COMPILE_TEST 1656 depends on HAS_IOPORT_MAP 1657 help 1658 The AMD 8111 southbridge contains 32 GPIO pins which can be used. 1659 1660 Note that usually system firmware/ACPI handles GPIO pins on their 1661 own and users might easily break their systems with uncareful usage 1662 of this driver! 1663 1664 If unsure, say N 1665 1666config GPIO_BT8XX 1667 tristate "BT8XX GPIO abuser" 1668 depends on VIDEO_BT848=n 1669 help 1670 The BT8xx frame grabber chip has 24 GPIO pins that can be abused 1671 as a cheap PCI GPIO card. 1672 1673 This chip can be found on Miro, Hauppauge and STB TV-cards. 1674 1675 The card needs to be physically altered for using it as a 1676 GPIO card. For more information on how to build a GPIO card 1677 from a BT8xx TV card, see the documentation file at 1678 Documentation/driver-api/gpio/bt8xxgpio.rst 1679 1680 If unsure, say N. 1681 1682config GPIO_MERRIFIELD 1683 tristate "Intel Merrifield GPIO support" 1684 depends on X86_INTEL_MID 1685 select GPIO_TANGIER 1686 help 1687 Say Y here to support Intel Merrifield GPIO. 1688 1689config GPIO_MLXBF 1690 tristate "Mellanox BlueField SoC GPIO" 1691 depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) 1692 select GPIO_GENERIC 1693 help 1694 Say Y here if you want GPIO support on Mellanox BlueField SoC. 1695 1696config GPIO_MLXBF2 1697 tristate "Mellanox BlueField 2 SoC GPIO" 1698 depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) 1699 select GPIO_GENERIC 1700 select GPIOLIB_IRQCHIP 1701 help 1702 Say Y here if you want GPIO support on Mellanox BlueField 2 SoC. 1703 1704config GPIO_MLXBF3 1705 tristate "Mellanox BlueField 3 SoC GPIO" 1706 depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST 1707 select GPIO_GENERIC 1708 select GPIOLIB_IRQCHIP 1709 help 1710 Say Y if you want GPIO support on Mellanox BlueField 3 SoC. 1711 This GPIO controller supports interrupt handling and enables the 1712 manipulation of certain GPIO pins. 1713 This controller should be used in parallel with pinctrl-mlxbf3 to 1714 control the desired GPIOs. 1715 This driver can also be built as a module called mlxbf3-gpio. 1716 1717config GPIO_ML_IOH 1718 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" 1719 depends on X86 || COMPILE_TEST 1720 select GENERIC_IRQ_CHIP 1721 help 1722 ML7213 is companion chip for Intel Atom E6xx series. 1723 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH (Input/Output 1724 Hub) which is for IVI (In-Vehicle Infotainment) use. 1725 This driver can access the IOH's GPIO device. 1726 1727config GPIO_PCH 1728 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH (ML7223/ML7831) GPIO" 1729 depends on X86_32 || MIPS || COMPILE_TEST 1730 select GENERIC_IRQ_CHIP 1731 help 1732 This driver is for PCH (Platform Controller Hub) GPIO of Intel Topcliff, 1733 which is an IOH (Input/Output Hub) for x86 embedded processor. 1734 This driver can access PCH GPIO device. 1735 1736 This driver also can be used for LAPIS Semiconductor IOH (Input/ 1737 Output Hub), ML7223 and ML7831. 1738 ML7223 IOH is for MP (Media Phone) use. 1739 ML7831 IOH is for general purpose use. 1740 ML7223/ML7831 is companion chip for Intel Atom E6xx series. 1741 ML7223/ML7831 is completely compatible for Intel EG20T PCH. 1742 1743config GPIO_PCI_IDIO_16 1744 tristate "ACCES PCI-IDIO-16 GPIO support" 1745 select REGMAP_MMIO 1746 select GPIO_IDIO_16 1747 help 1748 Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is 1749 generated when any of the inputs change state (low to high or high to 1750 low). Input filter control is not supported by this driver, and the 1751 input filters are deactivated by this driver. 1752 1753config GPIO_PCIE_IDIO_24 1754 tristate "ACCES PCIe-IDIO-24 GPIO support" 1755 select REGMAP_IRQ 1756 select REGMAP_MMIO 1757 select GPIOLIB_IRQCHIP 1758 select GPIO_REGMAP 1759 help 1760 Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24, 1761 PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated 1762 when any of the inputs change state (low to high or high to low). 1763 Input filter control is not supported by this driver, and the input 1764 filters are deactivated by this driver. 1765 1766config GPIO_RDC321X 1767 tristate "RDC R-321x GPIO support" 1768 select MFD_CORE 1769 select MFD_RDC321X 1770 help 1771 Support for the RDC R321x SoC GPIOs over southbridge 1772 PCI configuration space. 1773 1774config GPIO_SODAVILLE 1775 bool "Intel Sodaville GPIO support" 1776 depends on X86 && OF 1777 select GPIO_GENERIC 1778 select GENERIC_IRQ_CHIP 1779 help 1780 Say Y here to support Intel Sodaville GPIO. 1781 1782endmenu 1783 1784menu "SPI GPIO expanders" 1785 depends on SPI_MASTER 1786 1787config GPIO_74X164 1788 tristate "74x164 serial-in/parallel-out 8-bits shift register" 1789 depends on OF_GPIO 1790 help 1791 Driver for 74x164 compatible serial-in/parallel-out 8-outputs 1792 shift registers. This driver can be used to provide access 1793 to more GPIO outputs. 1794 1795config GPIO_MAX3191X 1796 tristate "Maxim MAX3191x industrial serializer" 1797 select CRC8 1798 help 1799 GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913, 1800 MAX31953 and MAX31963 industrial serializer, a daisy-chainable 1801 chip to make 8 digital 24V inputs available via SPI. Supports 1802 CRC checksums to guard against electromagnetic interference, 1803 as well as undervoltage and overtemperature detection. 1804 1805config GPIO_MAX7301 1806 tristate "Maxim MAX7301 GPIO expander" 1807 select GPIO_MAX730X 1808 help 1809 GPIO driver for Maxim MAX7301 SPI-based GPIO expander. 1810 1811config GPIO_MC33880 1812 tristate "Freescale MC33880 high-side/low-side switch" 1813 help 1814 SPI driver for Freescale MC33880 high-side/low-side switch. 1815 This provides GPIO interface supporting inputs and outputs. 1816 1817config GPIO_PISOSR 1818 tristate "Generic parallel-in/serial-out shift register" 1819 help 1820 GPIO driver for SPI compatible parallel-in/serial-out shift 1821 registers. These are input only devices. 1822 1823config GPIO_XRA1403 1824 tristate "EXAR XRA1403 16-bit GPIO expander" 1825 select REGMAP_SPI 1826 help 1827 GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. 1828 1829config GPIO_MOXTET 1830 tristate "Turris Mox Moxtet bus GPIO expander" 1831 depends on MOXTET 1832 help 1833 Say yes here if you are building for the Turris Mox router. 1834 This is the driver needed for configuring the GPIOs via the Moxtet 1835 bus. For example the Mox module with SFP cage needs this driver 1836 so that phylink can use corresponding GPIOs. 1837 1838endmenu 1839 1840menu "USB GPIO expanders" 1841 depends on USB 1842 1843config GPIO_VIPERBOARD 1844 tristate "Viperboard GPIO a & b support" 1845 depends on MFD_VIPERBOARD 1846 help 1847 Say yes here to access the GPIO signals of Nano River 1848 Technologies Viperboard. There are two GPIO chips on the 1849 board: gpioa and gpiob. 1850 See viperboard API specification and Nano 1851 River Tech's viperboard.h for detailed meaning 1852 of the module parameters. 1853 1854config GPIO_MPSSE 1855 tristate "FTDI MPSSE GPIO support" 1856 select GPIOLIB_IRQCHIP 1857 help 1858 GPIO driver for FTDI's MPSSE interface. These can do input and 1859 output. Each MPSSE provides 16 IO pins. 1860 1861endmenu 1862 1863menu "Virtual GPIO drivers" 1864 1865config GPIO_AGGREGATOR 1866 tristate "GPIO Aggregator" 1867 help 1868 Say yes here to enable the GPIO Aggregator, which provides a way to 1869 aggregate existing GPIO lines into a new virtual GPIO chip. 1870 This can serve the following purposes: 1871 - Assign permissions for a collection of GPIO lines to a user, 1872 - Export a collection of GPIO lines to a virtual machine, 1873 - Provide a generic driver for a GPIO-operated device in an 1874 industrial control context, to be operated from userspace using 1875 the GPIO chardev interface. 1876 1877config GPIO_LATCH 1878 tristate "GPIO latch driver" 1879 help 1880 Say yes here to enable a driver for GPIO multiplexers based on latches 1881 connected to other GPIOs. 1882 1883config GPIO_MOCKUP 1884 tristate "GPIO Testing Driver (DEPRECATED)" 1885 select IRQ_SIM 1886 help 1887 This module is DEPRECATED. Please consider using gpio-sim instead. 1888 1889 This enables GPIO Testing driver, which provides a way to test GPIO 1890 subsystem through sysfs (or char device) and debugfs. 1891 User could use it through the script in 1892 tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in 1893 it. 1894 1895config GPIO_VIRTIO 1896 tristate "VirtIO GPIO support" 1897 depends on VIRTIO 1898 select GPIOLIB_IRQCHIP 1899 help 1900 Say Y here to enable guest support for virtio-based GPIO controllers. 1901 1902 These virtual GPIOs can be routed to real GPIOs or attached to 1903 simulators on the host (like QEMU). 1904 1905config GPIO_SIM 1906 tristate "GPIO Simulator Module" 1907 select IRQ_SIM 1908 select CONFIGFS_FS 1909 help 1910 This enables the GPIO simulator - a configfs-based GPIO testing 1911 driver. 1912 1913endmenu 1914 1915menu "GPIO Debugging utilities" 1916 1917config GPIO_SLOPPY_LOGIC_ANALYZER 1918 tristate "Sloppy GPIO logic analyzer" 1919 depends on (GPIOLIB || COMPILE_TEST) && CPUSETS && DEBUG_FS && EXPERT 1920 help 1921 This option enables support for a sloppy logic analyzer using polled 1922 GPIOs. Use the 'tools/gpio/gpio-sloppy-logic-analyzer' script with 1923 this driver. The script will make it easier to use and will also 1924 isolate a CPU for the polling task. Note that this is a last resort 1925 analyzer which can be affected by latencies, non-deterministic code 1926 paths, or NMIs. However, for e.g. remote development, it may be useful 1927 to get a first view and aid further debugging. 1928 1929 If this driver is built as a module it will be called 1930 'gpio-sloppy-logic-analyzer'. 1931 1932config GPIO_VIRTUSER 1933 tristate "GPIO Virtual User Testing Module" 1934 select DEBUG_FS 1935 select CONFIGFS_FS 1936 select IRQ_WORK 1937 help 1938 Say Y here to enable the configurable, configfs-based virtual GPIO 1939 consumer testing driver. 1940 1941 This driver is aimed as a helper in spotting any regressions in 1942 hot-unplug handling in GPIOLIB. 1943 1944endmenu 1945 1946endif 1947