# SPDX-License-Identifier: GPL-2.0-only
config PINCTRL_IMX
	tristate
	depends on OF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select PINCONF
	select REGMAP

config PINCTRL_IMX_SCMI
	tristate "i.MX95 pinctrl driver using SCMI protocol interface"
	depends on ARM_SCMI_PROTOCOL && OF || COMPILE_TEST
	select PINMUX
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	help
	  i.MX95 SCMI firmware provides pinctrl protocol. This driver
	  utilizes the SCMI interface to do pinctrl configuration.

config PINCTRL_IMX_SCU
	tristate
	depends on IMX_SCU
	select PINCTRL_IMX

config PINCTRL_IMX1_CORE
	bool
	select PINMUX
	select PINCONF

config PINCTRL_IMX1
	bool "IMX1 pinctrl driver"
	depends on SOC_IMX1
	select PINCTRL_IMX1_CORE
	help
	  Say Y here to enable the imx1 pinctrl driver

config PINCTRL_IMX27
	bool "IMX27 pinctrl driver"
	depends on SOC_IMX27
	select PINCTRL_IMX1_CORE
	help
	  Say Y here to enable the imx27 pinctrl driver


config PINCTRL_IMX25
	bool "IMX25 pinctrl driver"
	depends on OF
	depends on SOC_IMX25
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx25 pinctrl driver

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

config PINCTRL_IMX50
	bool "IMX50 pinctrl driver"
	depends on SOC_IMX50
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx50 pinctrl driver

config PINCTRL_IMX51
	bool "IMX51 pinctrl driver"
	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 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 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 SOC_IMX6SL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sl pinctrl driver

config PINCTRL_IMX6SLL
	bool "IMX6SLL pinctrl driver"
	depends on SOC_IMX6SLL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sll pinctrl driver

config PINCTRL_IMX6SX
	bool "IMX6SX pinctrl driver"
	depends on SOC_IMX6SX
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6sx pinctrl driver

config PINCTRL_IMX6UL
	bool "IMX6UL pinctrl driver"
	depends on SOC_IMX6UL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6ul pinctrl driver

config PINCTRL_IMX7D
	bool "IMX7D pinctrl driver"
	depends on SOC_IMX7D
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx7d pinctrl driver

config PINCTRL_IMX7ULP
	bool "IMX7ULP pinctrl driver"
	depends on SOC_IMX7ULP
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx7ulp pinctrl driver

config PINCTRL_IMX8MM
	tristate "IMX8MM pinctrl driver"
	depends on OF
	depends on SOC_IMX8M
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8mm pinctrl driver

config PINCTRL_IMX8MN
	tristate "IMX8MN pinctrl driver"
	depends on OF
	depends on SOC_IMX8M
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8mn pinctrl driver

config PINCTRL_IMX8MP
	tristate "IMX8MP pinctrl driver"
	depends on OF
	depends on SOC_IMX8M
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8mp pinctrl driver

config PINCTRL_IMX8MQ
	tristate "IMX8MQ pinctrl driver"
	depends on OF
	depends on SOC_IMX8M
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8mq pinctrl driver

config PINCTRL_IMX8QM
	tristate "IMX8QM pinctrl driver"
	depends on IMX_SCU && ARCH_MXC && ARM64
	select PINCTRL_IMX_SCU
	help
	  Say Y here to enable the imx8qm pinctrl driver

config PINCTRL_IMX8QXP
	tristate "IMX8QXP pinctrl driver"
	depends on IMX_SCU && ARCH_MXC && ARM64
	select PINCTRL_IMX_SCU
	help
	  Say Y here to enable the imx8qxp pinctrl driver

config PINCTRL_IMX8DXL
	tristate "IMX8DXL pinctrl driver"
	depends on IMX_SCU && ARCH_MXC && ARM64
	select PINCTRL_IMX_SCU
	help
	  Say Y here to enable the imx8dxl pinctrl driver

config PINCTRL_IMX8ULP
	tristate "IMX8ULP pinctrl driver"
	depends on ARCH_MXC
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8ulp pinctrl driver

config PINCTRL_IMXRT1050
	bool "IMXRT1050 pinctrl driver"
	depends on ARCH_MXC
	select PINCTRL_IMX
	help
	  Say Y here to enable the imxrt1050 pinctrl driver

config PINCTRL_IMX91
	tristate "IMX91 pinctrl driver"
	depends on ARCH_MXC
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx91 pinctrl driver

config PINCTRL_IMX93
	tristate "IMX93 pinctrl driver"
	depends on ARCH_MXC
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx93 pinctrl driver

config PINCTRL_VF610
	bool "Freescale Vybrid VF610 pinctrl driver"
	depends on SOC_VF610
	select PINCTRL_IMX
	help
	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver

config PINCTRL_MXS
	bool
	select PINMUX
	select PINCONF

config PINCTRL_IMX23
	bool
	select PINCTRL_MXS

config PINCTRL_IMX28
	bool
	select PINCTRL_MXS

config PINCTRL_IMXRT1170
	bool "IMXRT1170 pinctrl driver"
	depends on ARCH_MXC
	select PINCTRL_IMX
	help
	  Say Y here to enable the imxrt1170 pinctrl driver
