# 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
	select DRM_KMS_HELPER
	select DRM_GEM_DMA_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_USE_CMM
	bool "R-Car DU Color Management Module (CMM) Support"
	depends on DRM_RCAR_DU
	default DRM_RCAR_DU
	help
	  Enable support for R-Car Color Management Module (CMM).

config DRM_RCAR_CMM
	def_tristate DRM_RCAR_DU
	depends on DRM_RCAR_USE_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_USE_LVDS
	bool "R-Car DU LVDS Encoder Support"
	depends on DRM_BRIDGE && OF
	default DRM_RCAR_DU
	help
	  Enable support for the R-Car Display Unit embedded LVDS encoders.

config DRM_RCAR_LVDS
	def_tristate DRM_RCAR_DU
	depends on DRM_RCAR_USE_LVDS
	select DRM_KMS_HELPER
	select DRM_PANEL

config DRM_RCAR_USE_MIPI_DSI
	bool "R-Car DU MIPI DSI Encoder Support"
	depends on DRM_BRIDGE && OF
	default DRM_RCAR_DU
	help
	  Enable support for the R-Car Display Unit embedded MIPI DSI encoders.

config DRM_RCAR_MIPI_DSI
	def_tristate DRM_RCAR_DU
	depends on DRM_RCAR_USE_MIPI_DSI
	select DRM_MIPI_DSI

config DRM_RZG2L_MIPI_DSI
	tristate "RZ/G2L MIPI DSI Encoder Support"
	depends on DRM && DRM_BRIDGE && OF
	depends on ARCH_RENESAS || COMPILE_TEST
	select DRM_MIPI_DSI
	help
	  Enable support for the RZ/G2L Display Unit embedded MIPI DSI 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
