config PINCTRL_IMX
	bool

config PINCTRL_IMX_MMIO
	bool
	select PINCTRL_IMX

config PINCTRL_IMX5
	bool "IMX5 pinctrl driver"
	depends on ARCH_MX5 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX_MMIO
	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_MMIO
	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_MMIO
	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_MMIO
	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_MMIO
	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
	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_MMIO
	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_IMX93
	bool "IMX8M pinctrl driver"
	depends on ARCH_IMX9 && PINCTRL_FULL
	select PINCTRL_IMX_MMIO
	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_MMIO
	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_IMX_SCMI
	bool "IMX pinctrl SCMI driver"
	depends on ARCH_IMX9 && PINCTRL_FULL
	select PINCTRL_IMX
	help
	  This provides a simple pinctrl driver for i.MX SoC which supports
	  SCMI. 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.

	  Say Y here to enable the imx pinctrl SCMI driver

config PINCTRL_VYBRID
	bool "Vybrid (vf610) pinctrl driver"
	depends on ARCH_VF610 && PINCTRL_FULL
	select DEVRES
	select PINCTRL_IMX_MMIO
	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.
