# SPDX-License-Identifier: GPL-2.0-only
# Copyright 2018, 2022-2023 NXP

config PINCTRL_IMX
	tristate
	depends on OF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	select REGMAP

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 ARCH_MXC
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8mm pinctrl driver

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

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

config PINCTRL_IMX8MQ
	tristate "IMX8MQ pinctrl driver"
	depends on ARCH_MXC
	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_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_S32CC
	bool "Driver for the NXP S32CC family pin controller"
	depends on OF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	select REGMAP
	help
	  Say Y here to enable S32CC family pin controller
	  The S32CC core is shared between the S32R45 and S32G
	  pinctrl drivers.

config PINCTRL_SCMI
	tristate "Pinctrl driver over SCMI"
	depends on ARM_SCMI_PROTOCOL
	help
	  This driver provides pinctrl support for firmwares
	  that implement it. Communication with the firmware
	  will occur over SCMI.

