#
# PINCTRL infrastructure and drivers
#

config PINCTRL
	bool

if PINCTRL

menu "Pin controllers"
	depends on PINCTRL

config PINMUX
	bool "Support pin multiplexing controllers"

config PINCONF
	bool "Support pin configuration controllers"

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_ABX500
	bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
	depends on AB8500_CORE
	select GENERIC_PINCONF
	help
	  Select this to enable the ABx500 family IC GPIO driver

config PINCTRL_AB8500
	bool "AB8500 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

config PINCTRL_AB8540
	bool "AB8540 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

config PINCTRL_AB9540
	bool "AB9540 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

config PINCTRL_AB8505
	bool "AB8505 pin controller driver"
	depends on PINCTRL_ABX500 && ARCH_U8500

config PINCTRL_AT91
	bool "AT91 pinctrl driver"
	depends on OF
	depends on ARCH_AT91
	select PINMUX
	select PINCONF
	help
	  Say Y here to enable the at91 pinctrl driver

config PINCTRL_BCM2835
	bool
	select PINMUX
	select PINCONF

config PINCTRL_IMX
	bool
	select PINMUX
	select PINCONF

config PINCTRL_IMX35
	bool "IMX35 pinctrl driver"
	depends on OF
	depends on SOC_IMX35
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx35 pinctrl driver

config PINCTRL_IMX51
	bool "IMX51 pinctrl driver"
	depends on OF
	depends on SOC_IMX51
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx51 pinctrl driver

config PINCTRL_IMX53
	bool "IMX53 pinctrl driver"
	depends on OF
	depends on SOC_IMX53
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx53 pinctrl driver

config PINCTRL_IMX6Q
	bool "IMX6Q/DL pinctrl driver"
	depends on OF
	depends on SOC_IMX6Q
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6q/dl pinctrl driver

config PINCTRL_IMX6SL
	bool "IMX6SL pinctrl driver"
	depends on OF
	depends on SOC_IMX6SL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sl pinctrl driver

config PINCTRL_LANTIQ
	bool
	depends on LANTIQ
	select PINMUX
	select PINCONF

config PINCTRL_FALCON
	bool
	depends on SOC_FALCON
	depends on PINCTRL_LANTIQ

config PINCTRL_MXS
	bool
	select PINMUX
	select PINCONF

config PINCTRL_IMX23
	bool
	select PINCTRL_MXS

config PINCTRL_IMX28
	bool
	select PINCTRL_MXS

config PINCTRL_NOMADIK
	bool "Nomadik pin controller driver"
	depends on ARCH_U8500 || ARCH_NOMADIK
	select PINMUX
	select PINCONF

config PINCTRL_STN8815
	bool "STN8815 pin controller driver"
	depends on PINCTRL_NOMADIK && ARCH_NOMADIK

config PINCTRL_DB8500
	bool "DB8500 pin controller driver"
	depends on PINCTRL_NOMADIK && ARCH_U8500

config PINCTRL_DB8540
	bool "DB8540 pin controller driver"
	depends on PINCTRL_NOMADIK && ARCH_U8500

config PINCTRL_SINGLE
	tristate "One-register-per-pin type device tree based pinctrl driver"
	depends on OF
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	help
	  This selects the device tree based generic pinctrl driver.

config USE_PINCTRL_IRQ
	default n
	bool "Use Pinctrl IRQ chip"
	help
	 Use Irq chip with Pinctrl subsystem instead of the irq chip
	 associated with gpio lib. The pinctrl irq chip allows the pin
	 attributes to be configured, prior to configuring them as
	 interrupt triggers.

config PINCTRL_MSM_TLMM_V3
	bool "MSM TLMMv3 pinctrl driver"
	depends on OF && ARCH_MSM
	select PINMUX
	select GENERIC_PINCONF

config PINCTRL_MSM_TLMM_V4
	bool "MSM TLMMv4 pinctrl driver"
	depends on OF && ARCH_MSM
	bool
	select PINMUX
	select GENERIC_PINCONF

config PINCTRL_SIRF
	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
	depends on ARCH_SIRF
	select PINMUX

config PINCTRL_SUNXI
	bool
	select PINMUX
	select GENERIC_PINCONF

config PINCTRL_TEGRA
	bool
	select PINMUX
	select PINCONF

config PINCTRL_TEGRA20
	bool
	select PINCTRL_TEGRA

config PINCTRL_TEGRA30
	bool
	select PINCTRL_TEGRA

config PINCTRL_TEGRA114
	bool
	select PINCTRL_TEGRA

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
	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_SAMSUNG
	bool
	select PINMUX
	select PINCONF

config PINCTRL_EXYNOS
	bool "Pinctrl driver data for Samsung EXYNOS SoCs"
	depends on OF && GPIOLIB
	select PINCTRL_SAMSUNG

config PINCTRL_EXYNOS5440
	bool "Samsung EXYNOS5440 SoC pinctrl driver"
	select PINMUX
	select PINCONF

config PINCTRL_S3C64XX
	bool "Samsung S3C64XX SoC pinctrl driver"
	depends on ARCH_S3C64XX
	select PINCTRL_SAMSUNG

source "drivers/pinctrl/mvebu/Kconfig"
source "drivers/pinctrl/sh-pfc/Kconfig"
source "drivers/pinctrl/spear/Kconfig"
source "drivers/pinctrl/vt8500/Kconfig"

config PINCTRL_XWAY
	bool
	depends on SOC_TYPE_XWAY
	depends on PINCTRL_LANTIQ

endmenu

endif
