# SPDX-License-Identifier: GPL-2.0-only
#
# [31mCONFIG_PINCTRL[0m infrastructure and drivers
#
menuconfig [31mCONFIG_PINCTRL[0m
bool "Pin controllers"
if [31mCONFIG_PINCTRL[0m
config [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
bool
config [31mCONFIG_PINMUX[0m
bool "Support pin multiplexing controllers" if [31mCONFIG_COMPILE_TEST[0m
config [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
bool
select [31mCONFIG_PINMUX[0m
config [31mCONFIG_PINCONF[0m
bool "Support pin configuration controllers" if [31mCONFIG_COMPILE_TEST[0m
config [31mCONFIG_GENERIC_PINCONF[0m
bool
select [31mCONFIG_PINCONF[0m
config [31mCONFIG_DEBUG_PINCTRL[0m
bool "Debug PINCTRL calls"
depends on [31mCONFIG_DEBUG_KERNEL[0m
help
Say Y here to add some extra checks and diagnostics to [31mCONFIG_PINCTRL[0m calls.
config [31mCONFIG_PINCTRL_ARTPEC6[0m
bool "Axis ARTPEC-6 pin controller driver"
depends on [31mCONFIG_MACH_ARTPEC6[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This is the driver for the Axis ARTPEC-6 pin controller. This driver
supports pin function multiplexing as well as pin bias and drive
strength configuration. Device tree integration instructions can be
found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
config [31mCONFIG_PINCTRL_AS3722[0m
tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
depends on [31mCONFIG_MFD_AS3722[0m && [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
AS3722 device supports the configuration of GPIO pins for different
functionality. This driver supports the pinmux, push-pull and
open drain configuration for the GPIO pins of AS3722 devices. It also
supports the GPIO functionality through gpiolib.
config [31mCONFIG_PINCTRL_AXP209[0m
tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
depends on [31mCONFIG_MFD_AXP20X[0m
depends on [31mCONFIG_OF[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB[0m
help
AXP PMICs provides multiple GPIOs that can be muxed for different
functions. This driver bundles a pinctrl driver to select the function
muxing and a GPIO driver to handle the GPIO when the GPIO function is
selected.
Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
config [31mCONFIG_PINCTRL_AT91[0m
bool "AT91 pinctrl driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_ARCH_AT91[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_OF_GPIO[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
help
Say Y here to enable the at91 pinctrl driver
config [31mCONFIG_PINCTRL_AT91PIO4[0m
bool "AT91 PIO4 pinctrl driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_ARCH_AT91[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_OF_GPIO[0m
help
Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
controller available on sama5d2 SoC.
config [31mCONFIG_PINCTRL_AMD[0m
tristate "AMD GPIO pin control"
depends on [31mCONFIG_HAS_IOMEM[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
driver for memory mapped GPIO functionality on AMD platforms
(x86 or arm).Most pins are usually muxed to some other
functionality by firmware,so only a small amount is available
for gpio use.
Requires [31mCONFIG_ACPI[0m/FDT device enumeration code to set up a platform
device.
config [31mCONFIG_PINCTRL_BM1880[0m
bool "Bitmain BM1880 Pinctrl driver"
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARCH_BITMAIN[0m || [31mCONFIG_COMPILE_TEST[0m)
default [31mCONFIG_ARCH_BITMAIN[0m
select [31mCONFIG_PINMUX[0m
help
Pinctrl driver for Bitmain BM1880 SoC.
config [31mCONFIG_PINCTRL_DA850_PUPD[0m
tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARCH_DAVINCI_DA850[0m || [31mCONFIG_COMPILE_TEST[0m)
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
pullup/pulldown pin groups.
config [31mCONFIG_PINCTRL_DIGICOLOR[0m
bool
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARCH_DIGICOLOR[0m || [31mCONFIG_COMPILE_TEST[0m)
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
config [31mCONFIG_PINCTRL_LANTIQ[0m
bool
depends on [31mCONFIG_LANTIQ[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
config [31mCONFIG_PINCTRL_LPC18XX[0m
bool "NXP LPC18XX/43XX SCU pinctrl driver"
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARCH_LPC18XX[0m || [31mCONFIG_COMPILE_TEST[0m)
default [31mCONFIG_ARCH_LPC18XX[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
config [31mCONFIG_PINCTRL_FALCON[0m
bool
depends on [31mCONFIG_SOC_FALCON[0m
depends on [31mCONFIG_PINCTRL_LANTIQ[0m
config [31mCONFIG_PINCTRL_GEMINI[0m
bool
depends on [31mCONFIG_ARCH_GEMINI[0m
default [31mCONFIG_ARCH_GEMINI[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_MFD_SYSCON[0m
config [31mCONFIG_PINCTRL_MCP23S08[0m
tristate "Microchip MCP23xxx I/O expander"
depends on [31mCONFIG_SPI_MASTER[0m || [31mCONFIG_I2C[0m
depends on [31mCONFIG_I2C[0m || [31mCONFIG_I2C[0m=n
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_REGMAP_I2C[0m if [31mCONFIG_I2C[0m
select [31mCONFIG_REGMAP_SPI[0m if [31mCONFIG_SPI_MASTER[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
[31mCONFIG_SPI[0m/[31mCONFIG_I2C[0m driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
MCP23008 / MCP23017 / MCP23018 I/O expanders.
This provides a GPIO interface supporting inputs and outputs and a
corresponding interrupt-controller.
config [31mCONFIG_PINCTRL_OXNAS[0m
bool
depends on [31mCONFIG_OF[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_OF_GPIO[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_MFD_SYSCON[0m
config [31mCONFIG_PINCTRL_ROCKCHIP[0m
bool
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GENERIC_IRQ_CHIP[0m
select [31mCONFIG_MFD_SYSCON[0m
config [31mCONFIG_PINCTRL_RZA1[0m
bool "Renesas RZ/A1 gpio and pinctrl driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_ARCH_R7S72100[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
select [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This selects pinctrl driver for Renesas RZ/[31mCONFIG_A1[0m platforms.
config [31mCONFIG_PINCTRL_RZA2[0m
bool "Renesas RZ/A2 gpio and pinctrl driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_ARCH_R7S9210[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
select [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms.
config [31mCONFIG_PINCTRL_RZN1[0m
bool "Renesas RZ/N1 pinctrl driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_ARCH_RZN1[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
select [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This selects pinctrl driver for Renesas RZ/N1 devices.
config [31mCONFIG_PINCTRL_SINGLE[0m
tristate "One-register-per-pin type device tree based pinctrl driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_HAS_IOMEM[0m
select [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
select [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This selects the device tree based generic pinctrl driver.
config [31mCONFIG_PINCTRL_SIRF[0m
bool "CSR SiRFprimaII pin controller driver"
depends on [31mCONFIG_ARCH_SIRF[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
config [31mCONFIG_PINCTRL_SX150X[0m
bool "Semtech SX150x I2C GPIO expander pinctrl driver"
depends on [31mCONFIG_I2C[0m=y
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_REGMAP[0m
help
Say yes here to provide support for Semtech SX150x-series [31mCONFIG_I2C[0m
GPIO expanders as pinctrl module.
Compatible models include:
- 8 bits: sx1508q, sx1502q
- 16 bits: sx1509q, sx1506q
config [31mCONFIG_PINCTRL_PISTACHIO[0m
def_bool y if [31mCONFIG_MACH_PISTACHIO[0m
depends on [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_OF_GPIO[0m
config [31mCONFIG_PINCTRL_ST[0m
bool
depends on [31mCONFIG_OF[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_PINCONF[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
config [31mCONFIG_PINCTRL_STMFX[0m
tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
depends on [31mCONFIG_I2C[0m
depends on [31mCONFIG_OF_GPIO[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_MFD_STMFX[0m
help
Driver for STMicroelectronics Multi-Function eXpander (STMFX)
GPIO expander.
This provides a GPIO interface supporting inputs and outputs,
and configuring push-pull, open-drain, and can also be used as
interrupt-controller.
config [31mCONFIG_PINCTRL_U300[0m
bool "U300 pin controller driver"
depends on [31mCONFIG_ARCH_U300[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
config [31mCONFIG_PINCTRL_COH901[0m
bool "ST-Ericsson U300 COH 901 335/571 GPIO"
depends on [31mCONFIG_GPIOLIB[0m && [31mCONFIG_ARCH_U300[0m && [31mCONFIG_PINCTRL_U300[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
help
Say yes here to support GPIO interface on ST-Ericsson U300.
The names of the two IP block variants supported are
COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
ports of 8 GPIO pins each.
config [31mCONFIG_PINCTRL_MAX77620[0m
tristate "MAX77620/MAX20024 Pincontrol support"
depends on [31mCONFIG_MFD_MAX77620[0m && [31mCONFIG_OF[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
This PMIC has 8 GPIO pins that work as GPIO as well as special
function in alternate mode. This driver also configure push-pull,
open drain, FPS slots etc.
config [31mCONFIG_PINCTRL_PALMAS[0m
tristate "Pinctrl driver for the PALMAS Series MFD devices"
depends on [31mCONFIG_OF[0m && [31mCONFIG_MFD_PALMAS[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
Palmas device supports the configuration of pins for different
functionality. This driver supports the pinmux, push-pull and
open drain configuration for the Palmas series devices like
TPS65913, TPS80036 etc.
config [31mCONFIG_PINCTRL_PIC32[0m
bool "Microchip PIC32 pin controller driver"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_MACH_PIC32[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_OF_GPIO[0m
help
This is the pin controller and gpio driver for Microchip PIC32
microcontrollers. This option is selected automatically when specific
machine and arch are selected to build.
config [31mCONFIG_PINCTRL_PIC32MZDA[0m
def_bool y if [31mCONFIG_PIC32MZDA[0m
select [31mCONFIG_PINCTRL_PIC32[0m
config [31mCONFIG_PINCTRL_ZYNQ[0m
bool "Pinctrl driver for Xilinx Zynq"
depends on [31mCONFIG_ARCH_ZYNQ[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This selects the pinctrl driver for Xilinx Zynq.
config [31mCONFIG_PINCTRL_INGENIC[0m
bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
default [31mCONFIG_MACH_INGENIC[0m
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_MIPS[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
select [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_REGMAP_MMIO[0m
config [31mCONFIG_PINCTRL_RK805[0m
tristate "Pinctrl and GPIO driver for RK805 PMIC"
depends on [31mCONFIG_MFD_RK808[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_PINMUX[0m
select [31mCONFIG_GENERIC_PINCONF[0m
help
This selects the pinctrl driver for RK805.
config [31mCONFIG_PINCTRL_OCELOT[0m
bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
depends on [31mCONFIG_OF[0m
depends on [31mCONFIG_HAS_IOMEM[0m
select [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_GPIOLIB_IRQCHIP[0m
select [31mCONFIG_GENERIC_PINCONF[0m
select [31mCONFIG_GENERIC_PINCTRL_GROUPS[0m
select [31mCONFIG_GENERIC_PINMUX_FUNCTIONS[0m
select [31mCONFIG_OF_GPIO[0m
select [31mCONFIG_REGMAP_MMIO[0m
source "drivers/pinctrl/actions/Kconfig"
source "drivers/pinctrl/aspeed/Kconfig"
source "drivers/pinctrl/bcm/Kconfig"
source "drivers/pinctrl/berlin/Kconfig"
source "drivers/pinctrl/freescale/Kconfig"
source "drivers/pinctrl/intel/Kconfig"
source "drivers/pinctrl/mvebu/Kconfig"
source "drivers/pinctrl/nomadik/Kconfig"
source "drivers/pinctrl/nuvoton/Kconfig"
source "drivers/pinctrl/pxa/Kconfig"
source "drivers/pinctrl/qcom/Kconfig"
source "drivers/pinctrl/samsung/Kconfig"
source "drivers/pinctrl/sh-pfc/Kconfig"
source "drivers/pinctrl/spear/Kconfig"
source "drivers/pinctrl/sprd/Kconfig"
source "drivers/pinctrl/stm32/Kconfig"
source "drivers/pinctrl/sunxi/Kconfig"
source "drivers/pinctrl/tegra/Kconfig"
source "drivers/pinctrl/ti/Kconfig"
source "drivers/pinctrl/uniphier/Kconfig"
source "drivers/pinctrl/vt8500/Kconfig"
source "drivers/pinctrl/mediatek/Kconfig"
source "drivers/pinctrl/zte/Kconfig"
source "drivers/pinctrl/meson/Kconfig"
source "drivers/pinctrl/cirrus/Kconfig"
config [31mCONFIG_PINCTRL_XWAY[0m
bool
depends on [31mCONFIG_SOC_TYPE_XWAY[0m
depends on [31mCONFIG_PINCTRL_LANTIQ[0m
config [31mCONFIG_PINCTRL_TB10X[0m
bool
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARC_PLAT_TB10X[0m
select [31mCONFIG_GPIOLIB[0m
endif