linux/drivers/gpio/Kconfig
<<
>>
Prefs
   1#
   2# GPIO infrastructure and drivers
   3#
   4
   5config ARCH_WANT_OPTIONAL_GPIOLIB
   6        bool
   7        help
   8          Select this config option from the architecture Kconfig, if
   9          it is possible to use gpiolib on the architecture, but let the
  10          user decide whether to actually build it or not.
  11          Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does
  12          not depend on GPIOs being available, but rather let the user
  13          decide whether he needs it or not.
  14
  15config ARCH_REQUIRE_GPIOLIB
  16        bool
  17        select GPIOLIB
  18        help
  19          Platforms select gpiolib if they use this infrastructure
  20          for all their GPIOs, usually starting with ones integrated
  21          into SOC processors.
  22          Selecting this from the architecture code will cause the gpiolib
  23          code to always get built in.
  24
  25
  26
  27menuconfig GPIOLIB
  28        bool "GPIO Support"
  29        depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
  30        select GENERIC_GPIO
  31        help
  32          This enables GPIO support through the generic GPIO library.
  33          You only need to enable this, if you also want to enable
  34          one or more of the GPIO drivers below.
  35
  36          If unsure, say N.
  37
  38if GPIOLIB
  39
  40config DEBUG_GPIO
  41        bool "Debug GPIO calls"
  42        depends on DEBUG_KERNEL
  43        help
  44          Say Y here to add some extra checks and diagnostics to GPIO calls.
  45          These checks help ensure that GPIOs have been properly initialized
  46          before they are used, and that sleeping calls are not made from
  47          non-sleeping contexts.  They can make bitbanged serial protocols
  48          slower.  The diagnostics help catch the type of setup errors
  49          that are most common when setting up new platforms or boards.
  50
  51config GPIO_SYSFS
  52        bool "/sys/class/gpio/... (sysfs interface)"
  53        depends on SYSFS && EXPERIMENTAL
  54        help
  55          Say Y here to add a sysfs interface for GPIOs.
  56
  57          This is mostly useful to work around omissions in a system's
  58          kernel support.  Those are common in custom and semicustom
  59          hardware assembled using standard kernels with a minimum of
  60          custom patches.  In those cases, userspace code may import
  61          a given GPIO from the kernel, if no kernel driver requested it.
  62
  63          Kernel drivers may also request that a particular GPIO be
  64          exported to userspace; this can be useful when debugging.
  65
  66config GPIO_GENERIC
  67        tristate
  68
  69# put drivers in the right section, in alphabetical order
  70
  71config GPIO_DA9052
  72        tristate "Dialog DA9052 GPIO"
  73        depends on PMIC_DA9052
  74        help
  75          Say yes here to enable the GPIO driver for the DA9052 chip.
  76
  77config GPIO_MAX730X
  78        tristate
  79
  80comment "Memory mapped GPIO drivers:"
  81
  82config GPIO_GENERIC_PLATFORM
  83        tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
  84        select GPIO_GENERIC
  85        help
  86          Say yes here to support basic platform_device memory-mapped GPIO controllers.
  87
  88config GPIO_IT8761E
  89        tristate "IT8761E GPIO support"
  90        help
  91          Say yes here to support GPIO functionality of IT8761E super I/O chip.
  92
  93config GPIO_EP93XX
  94        def_bool y
  95        depends on ARCH_EP93XX
  96        select GPIO_GENERIC
  97
  98config GPIO_MPC5200
  99        def_bool y
 100        depends on PPC_MPC52xx
 101
 102config GPIO_MPC8XXX
 103        bool "MPC512x/MPC8xxx GPIO support"
 104        depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
 105                   FSL_SOC_BOOKE || PPC_86xx
 106        help
 107          Say Y here if you're going to use hardware that connects to the
 108          MPC512x/831x/834x/837x/8572/8610 GPIOs.
 109
 110config GPIO_MSM_V1
 111        tristate "Qualcomm MSM GPIO v1"
 112        depends on GPIOLIB && ARCH_MSM
 113        help
 114          Say yes here to support the GPIO interface on ARM v6 based
 115          Qualcomm MSM chips.  Most of the pins on the MSM can be
 116          selected for GPIO, and are controlled by this driver.
 117
 118config GPIO_MSM_V2
 119        tristate "Qualcomm MSM GPIO v2"
 120        depends on GPIOLIB && ARCH_MSM
 121        help
 122          Say yes here to support the GPIO interface on ARM v7 based
 123          Qualcomm MSM chips.  Most of the pins on the MSM can be
 124          selected for GPIO, and are controlled by this driver.
 125
 126config GPIO_MXC
 127        def_bool y
 128        depends on ARCH_MXC
 129        select GPIO_GENERIC
 130        select GENERIC_IRQ_CHIP
 131
 132config GPIO_MXS
 133        def_bool y
 134        depends on ARCH_MXS
 135        select GPIO_GENERIC
 136        select GENERIC_IRQ_CHIP
 137
 138config GPIO_PL061
 139        bool "PrimeCell PL061 GPIO support"
 140        depends on ARM_AMBA
 141        help
 142          Say yes here to support the PrimeCell PL061 GPIO device
 143
 144config GPIO_XILINX
 145        bool "Xilinx GPIO support"
 146        depends on PPC_OF || MICROBLAZE
 147        help
 148          Say yes here to support the Xilinx FPGA GPIO device
 149
 150config GPIO_VR41XX
 151        tristate "NEC VR4100 series General-purpose I/O Uint support"
 152        depends on CPU_VR41XX
 153        help
 154          Say yes here to support the NEC VR4100 series General-purpose I/O Uint
 155
 156config GPIO_SCH
 157        tristate "Intel SCH/TunnelCreek GPIO"
 158        depends on PCI && X86
 159        select MFD_CORE
 160        select LPC_SCH
 161        help
 162          Say yes here to support GPIO interface on Intel Poulsbo SCH
 163          or Intel Tunnel Creek processor.
 164          The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
 165          powered by the core power rail and are turned off during sleep
 166          modes (S3 and higher). The remaining four GPIOs are powered by
 167          the Intel SCH suspend power supply. These GPIOs remain
 168          active during S3. The suspend powered GPIOs can be used to wake the
 169          system from the Suspend-to-RAM state.
 170          The Intel Tunnel Creek processor has 5 GPIOs powered by the
 171          core power rail and 9 from suspend power supply.
 172
 173config GPIO_U300
 174        bool "ST-Ericsson U300 COH 901 335/571 GPIO"
 175        depends on GPIOLIB && ARCH_U300
 176        help
 177          Say yes here to support GPIO interface on ST-Ericsson U300.
 178          The names of the two IP block variants supported are
 179          COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
 180          ports of 8 GPIO pins each.
 181
 182config GPIO_VX855
 183        tristate "VIA VX855/VX875 GPIO"
 184        depends on PCI
 185        select MFD_CORE
 186        select MFD_VX855
 187        help
 188          Support access to the VX855/VX875 GPIO lines through the gpio library.
 189
 190          This driver provides common support for accessing the device,
 191          additional drivers must be enabled in order to use the
 192          functionality of the device.
 193
 194comment "I2C GPIO expanders:"
 195
 196config GPIO_MAX7300
 197        tristate "Maxim MAX7300 GPIO expander"
 198        depends on I2C
 199        select GPIO_MAX730X
 200        help
 201          GPIO driver for Maxim MAX7301 I2C-based GPIO expander.
 202
 203config GPIO_MAX732X
 204        tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
 205        depends on I2C
 206        help
 207          Say yes here to support the MAX7319, MAX7320-7327 series of I2C
 208          Port Expanders. Each IO port on these chips has a fixed role of
 209          Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
 210          Input and Output (designed by 'P'). The combinations are listed
 211          below:
 212
 213          8 bits:       max7319 (8I), max7320 (8O), max7321 (8P),
 214                        max7322 (4I4O), max7323 (4P4O)
 215
 216          16 bits:      max7324 (8I8O), max7325 (8P8O),
 217                        max7326 (4I12O), max7327 (4P12O)
 218
 219          Board setup code must specify the model to use, and the start
 220          number for these GPIOs.
 221
 222config GPIO_MAX732X_IRQ
 223        bool "Interrupt controller support for MAX732x"
 224        depends on GPIO_MAX732X=y && GENERIC_HARDIRQS
 225        help
 226          Say yes here to enable the max732x to be used as an interrupt
 227          controller. It requires the driver to be built in the kernel.
 228
 229config GPIO_PCA953X
 230        tristate "PCA953x, PCA955x, TCA64xx, and MAX7310 I/O ports"
 231        depends on I2C
 232        help
 233          Say yes here to provide access to several register-oriented
 234          SMBus I/O expanders, made mostly by NXP or TI.  Compatible
 235          models include:
 236
 237          4 bits:       pca9536, pca9537
 238
 239          8 bits:       max7310, pca9534, pca9538, pca9554, pca9557,
 240                        tca6408
 241
 242          16 bits:      pca9535, pca9539, pca9555, tca6416
 243
 244config GPIO_PCA953X_IRQ
 245        bool "Interrupt controller support for PCA953x"
 246        depends on GPIO_PCA953X=y
 247        help
 248          Say yes here to enable the pca953x to be used as an interrupt
 249          controller. It requires the driver to be built in the kernel.
 250
 251config GPIO_PCF857X
 252        tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
 253        depends on I2C
 254        help
 255          Say yes here to provide access to most "quasi-bidirectional" I2C
 256          GPIO expanders used for additional digital outputs or inputs.
 257          Most of these parts are from NXP, though TI is a second source for
 258          some of them.  Compatible models include:
 259
 260          8 bits:   pcf8574, pcf8574a, pca8574, pca8574a,
 261                    pca9670, pca9672, pca9674, pca9674a,
 262                    max7328, max7329
 263
 264          16 bits:  pcf8575, pcf8575c, pca8575,
 265                    pca9671, pca9673, pca9675
 266
 267          Your board setup code will need to declare the expanders in
 268          use, and assign numbers to the GPIOs they expose.  Those GPIOs
 269          can then be used from drivers and other kernel code, just like
 270          other GPIOs, but only accessible from task contexts.
 271
 272          This driver provides an in-kernel interface to those GPIOs using
 273          platform-neutral GPIO calls.
 274
 275config GPIO_SX150X
 276        bool "Semtech SX150x I2C GPIO expander"
 277        depends on I2C=y
 278        default n
 279        help
 280          Say yes here to provide support for Semtech SX150-series I2C
 281          GPIO expanders. Compatible models include:
 282
 283          8 bits:  sx1508q
 284          16 bits: sx1509q
 285
 286config GPIO_STMPE
 287        bool "STMPE GPIOs"
 288        depends on MFD_STMPE
 289        help
 290          This enables support for the GPIOs found on the STMPE I/O
 291          Expanders.
 292
 293config GPIO_TC3589X
 294        bool "TC3589X GPIOs"
 295        depends on MFD_TC3589X
 296        help
 297          This enables support for the GPIOs found on the TC3589X
 298          I/O Expander.
 299
 300config GPIO_TPS65912
 301        tristate "TI TPS65912 GPIO"
 302        depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
 303        help
 304          This driver supports TPS65912 gpio chip
 305
 306config GPIO_TWL4030
 307        tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
 308        depends on TWL4030_CORE
 309        help
 310          Say yes here to access the GPIO signals of various multi-function
 311          power management chips from Texas Instruments.
 312
 313config GPIO_WM831X
 314        tristate "WM831x GPIOs"
 315        depends on MFD_WM831X
 316        help
 317          Say yes here to access the GPIO signals of WM831x power management
 318          chips from Wolfson Microelectronics.
 319
 320config GPIO_WM8350
 321        tristate "WM8350 GPIOs"
 322        depends on MFD_WM8350
 323        help
 324          Say yes here to access the GPIO signals of WM8350 power management
 325          chips from Wolfson Microelectronics.
 326
 327config GPIO_WM8994
 328        tristate "WM8994 GPIOs"
 329        depends on MFD_WM8994
 330        help
 331          Say yes here to access the GPIO signals of WM8994 audio hub
 332          CODECs from Wolfson Microelectronics.
 333
 334config GPIO_ADP5520
 335        tristate "GPIO Support for ADP5520 PMIC"
 336        depends on PMIC_ADP5520
 337        help
 338          This option enables support for on-chip GPIO found
 339          on Analog Devices ADP5520 PMICs.
 340
 341config GPIO_ADP5588
 342        tristate "ADP5588 I2C GPIO expander"
 343        depends on I2C
 344        help
 345          This option enables support for 18 GPIOs found
 346          on Analog Devices ADP5588 GPIO Expanders.
 347
 348config GPIO_ADP5588_IRQ
 349        bool "Interrupt controller support for ADP5588"
 350        depends on GPIO_ADP5588=y
 351        help
 352          Say yes here to enable the adp5588 to be used as an interrupt
 353          controller. It requires the driver to be built in the kernel.
 354
 355comment "PCI GPIO expanders:"
 356
 357config GPIO_CS5535
 358        tristate "AMD CS5535/CS5536 GPIO support"
 359        depends on PCI && X86 && !CS5535_GPIO && MFD_CS5535
 360        help
 361          The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
 362          can be used for quite a number of things.  The CS5535/6 is found on
 363          AMD Geode and Lemote Yeeloong devices.
 364
 365          If unsure, say N.
 366
 367config GPIO_BT8XX
 368        tristate "BT8XX GPIO abuser"
 369        depends on PCI && VIDEO_BT848=n
 370        help
 371          The BT8xx frame grabber chip has 24 GPIO pins than can be abused
 372          as a cheap PCI GPIO card.
 373
 374          This chip can be found on Miro, Hauppauge and STB TV-cards.
 375
 376          The card needs to be physically altered for using it as a
 377          GPIO card. For more information on how to build a GPIO card
 378          from a BT8xx TV card, see the documentation file at
 379          Documentation/bt8xxgpio.txt
 380
 381          If unsure, say N.
 382
 383config GPIO_LANGWELL
 384        bool "Intel Langwell/Penwell GPIO support"
 385        depends on PCI && X86
 386        help
 387          Say Y here to support Intel Langwell/Penwell GPIO.
 388
 389config GPIO_PCH
 390        tristate "Intel EG20T PCH / OKI SEMICONDUCTOR ML7223 IOH GPIO"
 391        depends on PCI && X86
 392        select GENERIC_IRQ_CHIP
 393        help
 394          This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
 395          which is an IOH(Input/Output Hub) for x86 embedded processor.
 396          This driver can access PCH GPIO device.
 397
 398          This driver also can be used for OKI SEMICONDUCTOR IOH(Input/
 399          Output Hub), ML7223.
 400          ML7223 IOH is for MP(Media Phone) use.
 401          ML7223 is companion chip for Intel Atom E6xx series.
 402          ML7223 is completely compatible for Intel EG20T PCH.
 403
 404config GPIO_ML_IOH
 405        tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
 406        depends on PCI
 407        select GENERIC_IRQ_CHIP
 408        help
 409          ML7213 is companion chip for Intel Atom E6xx series.
 410          This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
 411          Hub) which is for IVI(In-Vehicle Infotainment) use.
 412          This driver can access the IOH's GPIO device.
 413
 414config GPIO_TIMBERDALE
 415        bool "Support for timberdale GPIO IP"
 416        depends on MFD_TIMBERDALE && HAS_IOMEM
 417        ---help---
 418        Add support for the GPIO IP in the timberdale FPGA.
 419
 420config GPIO_RDC321X
 421        tristate "RDC R-321x GPIO support"
 422        depends on PCI
 423        select MFD_CORE
 424        select MFD_RDC321X
 425        help
 426          Support for the RDC R321x SoC GPIOs over southbridge
 427          PCI configuration space.
 428
 429comment "SPI GPIO expanders:"
 430
 431config GPIO_MAX7301
 432        tristate "Maxim MAX7301 GPIO expander"
 433        depends on SPI_MASTER
 434        select GPIO_MAX730X
 435        help
 436          GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
 437
 438config GPIO_MCP23S08
 439        tristate "Microchip MCP23xxx I/O expander"
 440        depends on SPI_MASTER || I2C
 441        help
 442          SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
 443          I/O expanders.
 444          This provides a GPIO interface supporting inputs and outputs.
 445
 446config GPIO_MC33880
 447        tristate "Freescale MC33880 high-side/low-side switch"
 448        depends on SPI_MASTER
 449        help
 450          SPI driver for Freescale MC33880 high-side/low-side switch.
 451          This provides GPIO interface supporting inputs and outputs.
 452
 453config GPIO_74X164
 454        tristate "74x164 serial-in/parallel-out 8-bits shift register"
 455        depends on SPI_MASTER
 456        help
 457          Platform driver for 74x164 compatible serial-in/parallel-out
 458          8-outputs shift registers. This driver can be used to provide access
 459          to more gpio outputs.
 460
 461comment "AC97 GPIO expanders:"
 462
 463config GPIO_UCB1400
 464        bool "Philips UCB1400 GPIO"
 465        depends on UCB1400_CORE
 466        help
 467          This enables support for the Philips UCB1400 GPIO pins.
 468          The UCB1400 is an AC97 audio codec.
 469
 470comment "MODULbus GPIO expanders:"
 471
 472config GPIO_JANZ_TTL
 473        tristate "Janz VMOD-TTL Digital IO Module"
 474        depends on MFD_JANZ_CMODIO
 475        help
 476          This enables support for the Janz VMOD-TTL Digital IO module.
 477          This driver provides support for driving the pins in output
 478          mode only. Input mode is not supported.
 479
 480config GPIO_AB8500
 481        bool "ST-Ericsson AB8500 Mixed Signal Circuit gpio functions"
 482        depends on AB8500_CORE && BROKEN
 483        help
 484          Select this to enable the AB8500 IC GPIO driver
 485
 486config GPIO_TPS65910
 487        bool "TPS65910 GPIO"
 488        depends on MFD_TPS65910
 489        help
 490          Select this option to enable GPIO driver for the TPS65910
 491          chip family.
 492endif
 493
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.