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

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 pinctrl driver"
	depends on OF
	depends on SOC_IMX6Q
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6q pinctrl driver

config PINCTRL_PXA3xx
	bool
	select PINMUX

config PINCTRL_MMP2
	bool "MMP2 pin controller driver"
	depends on ARCH_MMP
	select PINCTRL_PXA3xx
	select PINCONF

config PINCTRL_MXS
	bool

config PINCTRL_IMX23
	bool
	select PINMUX
	select PINCONF
	select PINCTRL_MXS

config PINCTRL_IMX28
	bool
	select PINMUX
	select PINCONF
	select PINCTRL_MXS

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

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

config PINCTRL_PXA168
	bool "PXA168 pin controller driver"
	depends on ARCH_MMP
	select PINCTRL_PXA3xx
	select PINCONF

config PINCTRL_PXA910
	bool "PXA910 pin controller driver"
	depends on ARCH_MMP
	select PINCTRL_PXA3xx
	select PINCONF

config PINCTRL_SIRF
	bool "CSR SiRFprimaII pin controller driver"
	depends on ARCH_PRIMA2
	select PINMUX

config PINCTRL_TEGRA
	bool

config PINCTRL_TEGRA20
	bool
	select PINMUX
	select PINCONF
	select PINCTRL_TEGRA

config PINCTRL_TEGRA30
	bool
	select PINMUX
	select PINCONF
	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 && PINMUX_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.

source "drivers/pinctrl/spear/Kconfig"

endmenu

endif
