config DRM_EXYNOS
	tristate "DRM Support for Samsung SoC EXYNOS Series"
	depends on OF && DRM && (PLAT_SAMSUNG || ARCH_MULTIPLATFORM)
	select DRM_KMS_HELPER
	select DRM_KMS_FB_HELPER
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	select VIDEOMODE_HELPERS
	help
	  Choose this option if you have a Samsung SoC EXYNOS chipset.
	  If M is selected the module will be called exynosdrm.

config DRM_EXYNOS_IOMMU
	bool
	depends on DRM_EXYNOS && EXYNOS_IOMMU && ARM_DMA_USE_IOMMU
	default y

config DRM_EXYNOS_FIMD
	bool "Exynos DRM FIMD"
	depends on DRM_EXYNOS && !FB_S3C
	select FB_MODE_HELPERS
	select MFD_SYSCON
	help
	  Choose this option if you want to use Exynos FIMD for DRM.

config DRM_EXYNOS7_DECON
	bool "Exynos DRM DECON"
	depends on DRM_EXYNOS
	select FB_MODE_HELPERS
	help
	  Choose this option if you want to use Exynos DECON for DRM.

config DRM_EXYNOS_DPI
	bool "EXYNOS DRM parallel output support"
	depends on (DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON)
	select DRM_PANEL
	default n
	help
	  This enables support for Exynos parallel output.

config DRM_EXYNOS_DSI
	bool "EXYNOS DRM MIPI-DSI driver support"
	depends on (DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON)
	select DRM_MIPI_DSI
	select DRM_PANEL
	default n
	help
	  This enables support for Exynos MIPI-DSI device.

config DRM_EXYNOS_DP
	bool "EXYNOS DRM DP driver support"
	depends on (DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON) && ARCH_EXYNOS && (DRM_PTN3460=n || DRM_PTN3460=y || DRM_PTN3460=DRM_EXYNOS)
	default DRM_EXYNOS
	select DRM_PANEL
	help
	  This enables support for DP device.

config DRM_EXYNOS_HDMI
	bool "Exynos DRM HDMI"
	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV
	help
	  Choose this option if you want to use Exynos HDMI for DRM.

config DRM_EXYNOS_VIDI
	bool "Exynos DRM Virtual Display"
	depends on DRM_EXYNOS
	help
	  Choose this option if you want to use Exynos VIDI for DRM.

config DRM_EXYNOS_G2D
	bool "Exynos DRM G2D"
	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_G2D
	help
	  Choose this option if you want to use Exynos G2D for DRM.

config DRM_EXYNOS_IPP
	bool "Exynos DRM IPP"
	depends on DRM_EXYNOS
	help
	  Choose this option if you want to use IPP feature for DRM.

config DRM_EXYNOS_FIMC
	bool "Exynos DRM FIMC"
	depends on DRM_EXYNOS_IPP && MFD_SYSCON
	help
	  Choose this option if you want to use Exynos FIMC for DRM.

config DRM_EXYNOS_ROTATOR
	bool "Exynos DRM Rotator"
	depends on DRM_EXYNOS_IPP
	help
	  Choose this option if you want to use Exynos Rotator for DRM.

config DRM_EXYNOS_GSC
	bool "Exynos DRM GSC"
	depends on DRM_EXYNOS_IPP && ARCH_EXYNOS5 && !ARCH_MULTIPLATFORM
	help
	  Choose this option if you want to use Exynos GSC for DRM.
