config DRM_EXYNOS
	tristate "DRM Support for Samsung SoC EXYNOS Series"
	depends on OF && DRM && (ARCH_S3C64XX || ARCH_EXYNOS || 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.

if DRM_EXYNOS

config DRM_EXYNOS_IOMMU
	bool
	depends on EXYNOS_IOMMU && ARM_DMA_USE_IOMMU
	default y

comment "CRTCs"

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

config DRM_EXYNOS5433_DECON
	bool "DECON on Exynos5433"
	help
	  Choose this option if you want to use Exynos5433 DECON for DRM.

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

config DRM_EXYNOS_MIXER
	bool "Mixer"
	depends on !VIDEO_SAMSUNG_S5P_TV
	help
	  Choose this option if you want to use Exynos Mixer for DRM.

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

comment "Encoders and Bridges"

config DRM_EXYNOS_DPI
	bool "Parallel output"
	depends on DRM_EXYNOS_FIMD
	select DRM_PANEL
	default n
	help
	  This enables support for Exynos parallel output.

config DRM_EXYNOS_DSI
	bool "MIPI-DSI host"
	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS5433_DECON || 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 "Display Port"
	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
	default DRM_EXYNOS
	select DRM_PANEL
	help
	  This enables support for DP device.

config DRM_EXYNOS_HDMI
	bool "HDMI"
	depends on !VIDEO_SAMSUNG_S5P_TV && (DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON)
	help
	  Choose this option if you want to use Exynos HDMI for DRM.

config DRM_EXYNOS_MIC
	bool "Mobile Image Compressor"
	depends on DRM_EXYNOS5433_DECON
	help
	  Choose this option if you want to use Exynos MIC for DRM.

comment "Sub-drivers"

config DRM_EXYNOS_G2D
	bool "G2D"
	depends on VIDEO_SAMSUNG_S5P_G2D=n
	select FRAME_VECTOR
	help
	  Choose this option if you want to use Exynos G2D for DRM.

config DRM_EXYNOS_IPP
	bool "Image Post Processor"
	help
	  Choose this option if you want to use IPP feature for DRM.

config DRM_EXYNOS_FIMC
	bool "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 "Rotator"
	depends on DRM_EXYNOS_IPP
	help
	  Choose this option if you want to use Exynos Rotator for DRM.

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

endif
