# SPDX-License-Identifier: GPL-2.0
config DRM_RCAR_DU
	tristate "DRM Support for R-Car Display Unit"
	depends on DRM && OF
	depends on ARM || ARM64
	depends on ARCH_RENESAS || COMPILE_TEST
	imply DRM_RCAR_CMM
	imply DRM_RCAR_LVDS
	select DRM_KMS_HELPER
	select DRM_KMS_CMA_HELPER
	select DRM_GEM_CMA_HELPER
	select VIDEOMODE_HELPERS
	help
	  Choose this option if you have an R-Car chipset.
	  If M is selected the module will be called rcar-du-drm.

config DRM_RCAR_CMM
	tristate "R-Car DU Color Management Module (CMM) Support"
	depends on DRM && OF
	depends on DRM_RCAR_DU
	help
	  Enable support for R-Car Color Management Module (CMM).

config DRM_RCAR_DW_HDMI
	tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support"
	depends on DRM && OF
	select DRM_DW_HDMI
	help
	  Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder.

config DRM_RCAR_LVDS
	tristate "R-Car DU LVDS Encoder Support"
	depends on DRM && DRM_BRIDGE && OF
	select DRM_KMS_HELPER
	select DRM_PANEL
	select OF_FLATTREE
	select OF_OVERLAY
	help
	  Enable support for the R-Car Display Unit embedded LVDS encoders.

config DRM_RCAR_VSP
	bool "R-Car DU VSP Compositor Support" if ARM
	default y if ARM64
	depends on DRM_RCAR_DU
	depends on VIDEO_RENESAS_VSP1=y || (VIDEO_RENESAS_VSP1 && DRM_RCAR_DU=m)
	help
	  Enable support to expose the R-Car VSP Compositor as KMS planes.

config DRM_RCAR_WRITEBACK
	bool
	default y if ARM64
	depends on DRM_RCAR_DU
