| # SPDX-License-Identifier: GPL-2.0-only | |
| # | |
| # PINCTRL infrastructure and drivers | |
| # | |
| menuconfig PINCTRL | |
| bool "Pin controllers" | |
| if PINCTRL | |
| config GENERIC_PINCTRL_GROUPS | |
| bool | |
| config PINMUX | |
| bool "Support pin multiplexing controllers" if COMPILE_TEST | |
| config GENERIC_PINMUX_FUNCTIONS | |
| bool | |
| select PINMUX | |
| config PINCONF | |
| bool "Support pin configuration controllers" if COMPILE_TEST | |
| config GENERIC_PINCONF | |
| bool | |
| select PINCONF | |
| config DEBUG_PINCTRL | |
| bool "Debug PINCTRL calls" | |
| depends on DEBUG_KERNEL | |
| help | |
| Say Y here to add some extra checks and diagnostics to PINCTRL calls. | |
| config PINCTRL_ARTPEC6 | |
| bool "Axis ARTPEC-6 pin controller driver" | |
| depends on MACH_ARTPEC6 | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| 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 PINCTRL_AS3722 | |
| tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" | |
| depends on MFD_AS3722 && GPIOLIB | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| 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 PINCTRL_AXP209 | |
| tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support" | |
| depends on MFD_AXP20X | |
| depends on OF | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| select GPIOLIB | |
| 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 PINCTRL_AT91 | |
| bool "AT91 pinctrl driver" | |
| depends on OF | |
| depends on ARCH_AT91 | |
| select PINMUX | |
| select PINCONF | |
| select GPIOLIB | |
| select OF_GPIO | |
| select GPIOLIB_IRQCHIP | |
| help | |
| Say Y here to enable the at91 pinctrl driver | |
| config PINCTRL_AT91PIO4 | |
| bool "AT91 PIO4 pinctrl driver" | |
| depends on OF | |
| depends on ARCH_AT91 | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| select GPIOLIB | |
| select GPIOLIB_IRQCHIP | |
| select OF_GPIO | |
| help | |
| Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 | |
| controller available on sama5d2 SoC. | |
| config PINCTRL_AMD | |
| tristate "AMD GPIO pin control" | |
| depends on HAS_IOMEM | |
| select GPIOLIB | |
| select GPIOLIB_IRQCHIP | |
| select PINMUX | |
| select PINCONF | |
| select GENERIC_PINCONF | |
| 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 ACPI/FDT device enumeration code to set up a platform | |
| device. | |
| config PINCTRL_BM1880 | |
| bool "Bitmain BM1880 Pinctrl driver" | |
| depends on OF && (ARCH_BITMAIN || COMPILE_TEST) | |
| default ARCH_BITMAIN | |
| select PINMUX | |
| help | |
| Pinctrl driver for Bitmain BM1880 SoC. | |
| config PINCTRL_DA850_PUPD | |
| tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" | |
| depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) | |
| select PINCONF | |
| select GENERIC_PINCONF | |
| help | |
| Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control | |
| pullup/pulldown pin groups. | |
| config PINCTRL_DA9062 | |
| tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support" | |
| depends on MFD_DA9062 | |
| select GPIOLIB | |
| help | |
| The Dialog DA9062 PMIC 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 DA9062 PMIC. | |
| config PINCTRL_DIGICOLOR | |
| bool | |
| depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| config PINCTRL_LANTIQ | |
| bool | |
| depends on LANTIQ | |
| select PINMUX | |
| select PINCONF | |
| config PINCTRL_LPC18XX | |
| bool "NXP LPC18XX/43XX SCU pinctrl driver" | |
| depends on OF && (ARCH_LPC18XX || COMPILE_TEST) | |
| default ARCH_LPC18XX | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| help | |
| Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). | |
| config PINCTRL_FALCON | |
| bool | |
| depends on SOC_FALCON | |
| depends on PINCTRL_LANTIQ | |
| config PINCTRL_GEMINI | |
| bool | |
| depends on ARCH_GEMINI | |
| default ARCH_GEMINI | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| select MFD_SYSCON | |
| config PINCTRL_MCP23S08 | |
| tristate "Microchip MCP23xxx I/O expander" | |
| depends on SPI_MASTER || I2C | |
| depends on I2C || I2C=n | |
| select GPIOLIB | |
| select GPIOLIB_IRQCHIP | |
| select REGMAP_I2C if I2C | |
| select REGMAP_SPI if SPI_MASTER | |
| select GENERIC_PINCONF | |
| help | |
| SPI/I2C 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 PINCTRL_OXNAS | |
| bool | |
| depends on OF | |
| select PINMUX | |
| select PINCONF | |
| select GENERIC_PINCONF | |
| select GPIOLIB | |
| select OF_GPIO | |
| select GPIOLIB_IRQCHIP | |
| select MFD_SYSCON | |
| config PINCTRL_ROCKCHIP | |
| bool | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| select GENERIC_IRQ_CHIP | |
| select MFD_SYSCON | |
| config PINCTRL_RZA1 | |
| bool "Renesas RZ/A1 gpio and pinctrl driver" | |
| depends on OF | |
| depends on ARCH_R7S72100 || COMPILE_TEST | |
| select GPIOLIB | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| select GENERIC_PINCONF | |
| help | |
| This selects pinctrl driver for Renesas RZ/A1 platforms. | |
| config PINCTRL_RZA2 | |
| bool "Renesas RZ/A2 gpio and pinctrl driver" | |
| depends on OF | |
| depends on ARCH_R7S9210 || COMPILE_TEST | |
| select GPIOLIB | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| select GENERIC_PINCONF | |
| help | |
| This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms. | |
| config PINCTRL_RZN1 | |
| bool "Renesas RZ/N1 pinctrl driver" | |
| depends on OF | |
| depends on ARCH_RZN1 || COMPILE_TEST | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| select GENERIC_PINCONF | |
| help | |
| This selects pinctrl driver for Renesas RZ/N1 devices. | |
| config PINCTRL_SINGLE | |
| tristate "One-register-per-pin type device tree based pinctrl driver" | |
| depends on OF | |
| depends on HAS_IOMEM | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| select GENERIC_PINCONF | |
| help | |
| This selects the device tree based generic pinctrl driver. | |
| config PINCTRL_SIRF | |
| bool "CSR SiRFprimaII pin controller driver" | |
| depends on ARCH_SIRF | |
| select PINMUX | |
| select PINCONF | |
| select GENERIC_PINCONF | |
| select GPIOLIB_IRQCHIP | |
| config PINCTRL_SX150X | |
| bool "Semtech SX150x I2C GPIO expander pinctrl driver" | |
| depends on I2C=y | |
| select PINMUX | |
| select PINCONF | |
| select GENERIC_PINCONF | |
| select GPIOLIB | |
| select GPIOLIB_IRQCHIP | |
| select REGMAP | |
| help | |
| Say yes here to provide support for Semtech SX150x-series I2C | |
| GPIO expanders as pinctrl module. | |
| Compatible models include: | |
| - 8 bits: sx1508q, sx1502q | |
| - 16 bits: sx1509q, sx1506q | |
| config PINCTRL_PISTACHIO | |
| def_bool y if MACH_PISTACHIO | |
| depends on GPIOLIB | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| select GPIOLIB_IRQCHIP | |
| select OF_GPIO | |
| config PINCTRL_ST | |
| bool | |
| depends on OF | |
| select PINMUX | |
| select PINCONF | |
| select GPIOLIB_IRQCHIP | |
| config PINCTRL_STMFX | |
| tristate "STMicroelectronics STMFX GPIO expander pinctrl driver" | |
| depends on I2C | |
| depends on OF_GPIO | |
| select GENERIC_PINCONF | |
| select GPIOLIB_IRQCHIP | |
| select MFD_STMFX | |
| 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 PINCTRL_U300 | |
| bool "U300 pin controller driver" | |
| depends on ARCH_U300 | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| config PINCTRL_COH901 | |
| bool "ST-Ericsson U300 COH 901 335/571 GPIO" | |
| depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 | |
| select GPIOLIB_IRQCHIP | |
| 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 PINCTRL_MAX77620 | |
| tristate "MAX77620/MAX20024 Pincontrol support" | |
| depends on MFD_MAX77620 && OF | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| 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 PINCTRL_PALMAS | |
| tristate "Pinctrl driver for the PALMAS Series MFD devices" | |
| depends on OF && MFD_PALMAS | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| 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 PINCTRL_PIC32 | |
| bool "Microchip PIC32 pin controller driver" | |
| depends on OF | |
| depends on MACH_PIC32 | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| select GPIOLIB_IRQCHIP | |
| select OF_GPIO | |
| 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 PINCTRL_PIC32MZDA | |
| def_bool y if PIC32MZDA | |
| select PINCTRL_PIC32 | |
| config PINCTRL_ZYNQ | |
| bool "Pinctrl driver for Xilinx Zynq" | |
| depends on ARCH_ZYNQ | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| help | |
| This selects the pinctrl driver for Xilinx Zynq. | |
| config PINCTRL_INGENIC | |
| bool "Pinctrl driver for the Ingenic JZ47xx SoCs" | |
| default MACH_INGENIC | |
| depends on OF | |
| depends on MIPS || COMPILE_TEST | |
| select GENERIC_PINCONF | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| select GPIOLIB | |
| select GPIOLIB_IRQCHIP | |
| select REGMAP_MMIO | |
| config PINCTRL_RK805 | |
| tristate "Pinctrl and GPIO driver for RK805 PMIC" | |
| depends on MFD_RK808 | |
| select GPIOLIB | |
| select PINMUX | |
| select GENERIC_PINCONF | |
| help | |
| This selects the pinctrl driver for RK805. | |
| config PINCTRL_OCELOT | |
| bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs" | |
| depends on OF | |
| depends on HAS_IOMEM | |
| select GPIOLIB | |
| select GPIOLIB_IRQCHIP | |
| select GENERIC_PINCONF | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| select OF_GPIO | |
| select REGMAP_MMIO | |
| 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 PINCTRL_XWAY | |
| bool | |
| depends on SOC_TYPE_XWAY | |
| depends on PINCTRL_LANTIQ | |
| config PINCTRL_TB10X | |
| bool | |
| depends on OF && ARC_PLAT_TB10X | |
| select GPIOLIB | |
| config PINCTRL_EQUILIBRIUM | |
| tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC" | |
| depends on OF && HAS_IOMEM | |
| select PINMUX | |
| select PINCONF | |
| select GPIOLIB | |
| select GPIO_GENERIC | |
| select GPIOLIB_IRQCHIP | |
| select GENERIC_PINCONF | |
| select GENERIC_PINCTRL_GROUPS | |
| select GENERIC_PINMUX_FUNCTIONS | |
| help | |
| Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning | |
| Mountain network processor SoC that supports both the linux GPIO and pin | |
| control frameworks. It provides interfaces to setup pinmux, assign desired | |
| pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and | |
| pinconf settings are retrieved from device tree. | |
| endif |