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_KMS_CMA_HELPER
	select DRM_GEM_CMA_HELPER
	select VIDEOMODE_HELPERS
	select REGMAP_MMIO
	help
		amlogic new soc display controller
		use the pipeline and modularized

config DRM_MESON_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 DRM_MESON_HDMI
	bool "support drm hdmi function for meson drm display."
	default n
	depends on AMLOGIC_DRM
	depends on AMLOGIC_HDMITX
	help
		add drm hdmi support.
		use internal amlogic media vout hdmi driver.
		We should confirm AMLOGIC_HDMITX is configured if
		DRM_MESON_HDMI is selected.

config DRM_MESON_CVBS
	bool "support drm cvbs function for meson drm display."
	default n
	depends on AMLOGIC_DRM
	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
		DRM_MESON_CVBS is selected.

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

config DRM_MESON_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 DRM_MESON_EMULATE_FBDEV
	bool "emulate framebuffer dev by drm."
	default n
	depends on AMLOGIC_DRM && DRM_MESON_USE_ION
	help
		Emulate framebuffer device for device
		which need use fbdev api.

config DRM_MESON_FBDEV_UI_W
	int "fbdev ui size width"
	default 1920
	depends on DRM_MESON_EMULATE_FBDEV
	help
		UI size width


config DRM_MESON_FBDEV_UI_H
	int "fbdev ui size hight"
	default 1080
	depends on DRM_MESON_EMULATE_FBDEV
	help
		UI size height

