config PINCTRL_IMX
	bool

config PINCTRL_IMX_SCU
	bool

config PINCTRL_IMX5
	bool "IMX5 pinctrl driver"
	depends on ARCH_MX5 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx5 pinctrl driver

	  This provides a simple pinctrl driver for i.MX 53SoC familiy,
	  i.MX53. This feature depends on device tree
	  configuration. This driver is different from the linux one,
	  this is a simple implementation, only parses the 'fsl,pins'
	  property and configure related registers.

config PINCTRL_IMX6
	bool "IMX6 pinctrl driver"
	depends on ARCH_MX6 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx6 pinctrl driver

	  This provides a simple pinctrl driver for i.MX6 SoC familiy,
	  i.MX6DQ/SL/SX/UL/DQP. This feature depends on device tree
	  configuration. This driver is different from the linux one,
	  this is a simple implementation, only parses the 'fsl,pins'
	  property and configure related registers.

config PINCTRL_IMX7
	bool "IMX7 pinctrl driver"
	depends on ARCH_MX7 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx7 pinctrl driver

	  This provides a simple pinctrl driver for i.MX7 SoC familiy,
	  i.MX7D. This feature depends on device tree
	  configuration. This driver is different from the linux one,
	  this is a simple implementation, only parses the 'fsl,pins'
	  property and configure related registers.

config PINCTRL_IMX7ULP
	bool "IMX7ULP pinctrl driver"
	depends on ARCH_MX7ULP && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx7ulp pinctrl driver

	  This provides a simple pinctrl driver for i.MX7ULP SoC familiy.
	  This feature depends on device tree configuration. This driver
	  is different from the linux one, this is a simple implementation,
	  only parses the 'fsl,pins' property and configure related
	  registers.

config PINCTRL_IMX8ULP
	bool "IMX8ULP pinctrl driver"
	depends on ARCH_IMX8ULP && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8ulp pinctrl driver

	  This provides a simple pinctrl driver for i.MX8ULP SoC familiy.
	  This feature depends on device tree configuration. This driver
	  is different from the linux one, this is a simple implementation,
	  only parses the 'fsl,pins' property and configure related
	  registers.

config PINCTRL_IMX8
	bool "IMX8 pinctrl driver"
	depends on ARCH_IMX8 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	select PINCTRL_IMX_SCU
	help
	  Say Y here to enable the imx8 pinctrl driver

	  This provides a simple pinctrl driver for i.MX8 SoC familiy.
	  This feature depends on device tree configuration. This driver
	  is different from the linux one, this is a simple implementation,
	  only parses the 'fsl,pins' property and configures related
	  registers.

config PINCTRL_IMX8M
	bool "IMX8M pinctrl driver"
	depends on ARCH_IMX8M && PINCTRL_FULL
	select PINCTRL_IMX
	help
	  Say Y here to enable the imx8m pinctrl driver

	  This provides a simple pinctrl driver for i.MX8M SoC familiy.
	  This feature depends on device tree configuration. This driver
	  is different from the linux one, this is a simple implementation,
	  only parses the 'fsl,pins' property and configure related
	  registers.

config PINCTRL_MXS
	bool "NXP MXS pinctrl driver"
	depends on ARCH_MX28 && PINCTRL_FULL
	help
	  Say Y here to enable the i.MX mxs pinctrl driver

	  This option provides a simple pinctrl driver for i.MX mxs SoC
	  familiy, e.g. i.MX28. This feature depends on device tree
	  configuration.

config PINCTRL_IMXRT
	bool "IMXRT pinctrl driver"
	depends on ARCH_IMXRT && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the imxrt pinctrl driver

	  This provides a simple pinctrl driver for i.MXRT SoC familiy.
	  This feature depends on device tree configuration. This driver
	  is different from the linux one, this is a simple implementation,
	  only parses the 'fsl,pins' property and configure related
	  registers.

config PINCTRL_VYBRID
	bool "Vybrid (vf610) pinctrl driver"
	depends on ARCH_VF610 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX
	help
	  Say Y here to enable the Vybrid (vf610) pinctrl driver

	  This provides a simple pinctrl driver for Vybrid SoC familiy,
	  vf610. This feature depends on device tree
	  configuration. This driver is different from the linux one,
	  this is a simple implementation, only parses the 'fsl,pins'
	  property and configure related registers.
