config DRM_IMX
	tristate "DRM Support for Freescale i.MX"
	select DRM_KMS_HELPER
	select DRM_KMS_FB_HELPER
	select VIDEOMODE_HELPERS
	select DRM_GEM_CMA_HELPER
	select DRM_KMS_CMA_HELPER
	depends on DRM && (ARCH_MXC || ARCH_MULTIPLATFORM) && HAVE_DMA_ATTRS
	depends on IMX_IPUV3_CORE
	help
	  enable i.MX graphics support

config DRM_IMX_FB_HELPER
	tristate "provide legacy framebuffer /dev/fb0"
	select DRM_KMS_CMA_HELPER
	depends on DRM_IMX
	help
	  The DRM framework can provide a legacy /dev/fb0 framebuffer
	  for your device. This is necessary to get a framebuffer console
	  and also for applications using the legacy framebuffer API

config DRM_IMX_PARALLEL_DISPLAY
	tristate "Support for parallel displays"
	select DRM_PANEL
	depends on DRM_IMX
	select VIDEOMODE_HELPERS

config DRM_IMX_TVE
	tristate "Support for TV and VGA displays"
	depends on DRM_IMX
	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 && MFD_SYSCON
	select DRM_PANEL
	help
	  Choose this to enable the internal LVDS Display Bridge (LDB)
	  found on i.MX53 and i.MX6 processors.

config DRM_IMX_IPUV3
	tristate
	depends on DRM_IMX
	depends on IMX_IPUV3_CORE
	default y if DRM_IMX=y
	default m if DRM_IMX=m

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