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