# SPDX-License-Identifier: (GPL-2.0+ OR MIT)

config AMLOGIC_DRM
	tristate "DRM Support for Amlogic new Display Controller"
	default n
	depends on AMLOGIC_DRIVER && DRM && OF && (ARM || ARM64)
	select DRM_KMS_HELPER
	select DRM_GEM_DMA_HELPER
	select VIDEOMODE_HELPERS
	select DRM_DISPLAY_HELPER
	select DRM_DISPLAY_HDCP_HELPER
	select DRM_DISPLAY_DP_AUX_BUS
	select DRM_DISPLAY_DP_HELPER
	help
		amlogic new soc display controller
		use the pipeline and modularized

config AMLOGIC_DRM_VPU
	bool "support drm vpu function for meson drm display."
	default n
	depends on AMLOGIC_DRM
	help
		add drm vpu support.
		Choose this option if you have a aMLOGIC soc chipset.
		This driver provides KMS.
		This driver also provides crtcs and planes management.

config AMLOGIC_DRM_CUT_HDMI
	bool "support drm hdmi function for meson drm display."
	depends on !(AMLOGIC_HDMITX || AMLOGIC_HDMITX21)
	help
		add drm hdmi support.
		use internal amlogic media vout hdmi driver.
		We should confirm AMLOGIC_HDMITX is configured if
		AMLOGIC_DRM_HDMI is selected.

config AMLOGIC_DRM_CUT_HDMI_MODERN
	bool "support drm hdmi function for meson drm display."
	depends on !(AMLOGIC_HDMITX_MODERN || AMLOGIC_HDMITX21_MODERN)
	help
		add drm hdmi support.
		use internal amlogic media vout hdmi driver.
		We should confirm AMLOGIC_HDMITX_MODERN is configured if
		AMLOGIC_DRM_HDMI is selected.

config AMLOGIC_DRM_DP
	bool "support drm dp function for meson drm display."
	depends on AMLOGIC_DPTX
	help
		add drm dp support.
		use internal amlogic media vout dp driver.
		We should confirm AMLOGIC_DPTX is configured if
		AMLOGIC_DRM_DP is selected.

config AMLOGIC_DRM_EDP
	bool "support drm edp function for meson drm display."
	depends on AMLOGIC_DPTX
	help
		add drm edp support.
		use internal amlogic media vout dptx driver.
		We should confirm AMLOGIC_DPTX is configured if
		AMLOGIC_DRM_EDP is selected.

config AMLOGIC_DRM_CUT_CVBS
	bool "support drm cvbs function for meson drm display."
	depends on !AMLOGIC_CVBS_OUTPUT
	help
		add drm cvbs support.
		use internal amlogic media vout cvbs driver.
		We should confirm AMLOGIC_CVBSOUT is configured if
		AMLOGIC_DRM_CVBS is selected.

config AMLOGIC_DRM_PANEL
	bool "support drm panel function for meson drm display."
	default n
	depends on AMLOGIC_DRM
	depends on AMLOGIC_LCD
	depends on DRM_PANEL
	help
		add drm panel support.
		use internal amlogic media vout lcd driver.
		We should confirm AMLOGIC_LCD is configured if
		AMLOGIC_DRM_PANEL is selected.

config AMLOGIC_DRM_eDP
	bool "support drm eDP function for meson drm display."
	default n
	depends on AMLOGIC_DRM
	depends on AMLOGIC_eDPTX
	help
		add drm eDP Panel support.
		use internal amlogic media vout DisplayPort driver.
		We should confirm AMLOGIC_eDPTX is configured if
		AMLOGIC_DRM_PANEL is selected.

config AMLOGIC_DRM_USE_ION
	bool "gem use ion to alloc/free graphic buffer."
	default n
	depends on AMLOGIC_DRM
	help
		MESON DRM use CMA HELPER to manage framebuffer.
		It need reserve memory in CMA pool.
		We implement GEM to allocate/free framebuffer from ion.
		For dumb used by displaycontrol we alloc from the ION CMA HEAP.
		For dumb used by app, we can alloc from the ION.
		SYSTEM HEAP which dont need reserve memory.

config AMLOGIC_DRM_EMULATE_FBDEV
	bool "emulate framebuffer dev by drm."
	default n
	depends on AMLOGIC_DRM && AMLOGIC_DRM_USE_ION
	select DRM_FBDEV_EMULATION
	select FB_DMAMEM_HELPERS
	help
		Emulate framebuffer device for device
		which need use fbdev api.
