# 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 || COMPILE_TEST
	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
