# SPDX-License-Identifier: GPL-2.0-only
config DRM_IMX
	tristate "DRM Support for Freescale i.MX"
	select DRM_CLIENT_SELECTION
	select DRM_KMS_HELPER
	select VIDEOMODE_HELPERS
	select DRM_GEM_DMA_HELPER
	depends on DRM && (ARCH_MXC || COMPILE_TEST)
	depends on IMX_IPUV3_CORE
	help
	  enable i.MX graphics support

config DRM_IMX_PARALLEL_DISPLAY
	tristate "Support for parallel displays"
	depends on DRM_IMX
	select DRM_BRIDGE
	select DRM_BRIDGE_CONNECTOR
	select DRM_IMX_LEGACY_BRIDGE
	select DRM_PANEL_BRIDGE
	select VIDEOMODE_HELPERS

config DRM_IMX_TVE
	tristate "Support for TV and VGA displays"
	depends on DRM_IMX
	depends on COMMON_CLK
	select REGMAP_MMIO
	help
	  Choose this to enable the internal Television Encoder (TVe)
	  found on i.MX53 processors.

config DRM_IMX_LDB
	tristate "Support for LVDS displays"
	depends on DRM_IMX
	depends on COMMON_CLK
	select MFD_SYSCON
	select DRM_BRIDGE
	select DRM_BRIDGE_CONNECTOR
	select DRM_PANEL_BRIDGE
	select DRM_IMX_LEGACY_BRIDGE
	help
	  Choose this to enable the internal LVDS Display Bridge (LDB)
	  found on i.MX53 and i.MX6 processors.

config DRM_IMX_HDMI
	tristate "Freescale i.MX DRM HDMI"
	select DRM_DW_HDMI
	depends on DRM_IMX && OF
	help
	  Choose this if you want to use HDMI on i.MX6.
