# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

menu "Graphic devices support"
depends on ADK_TARGET_WITH_VGA \
	|| ADK_TARGET_QEMU \
	|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_VT
	bool
	default y if ADK_TARGET_WITH_VGA
	default y if ADK_TARGET_SYSTEM_GENERIC_X86
	default y if ADK_TARGET_SYSTEM_GENERIC_X86_64
	default n

config ADK_LINUX_KERNEL_VT_CONSOLE
	bool
	default y if ADK_TARGET_WITH_VGA
	default y if ADK_TARGET_SYSTEM_GENERIC_X86
	default y if ADK_TARGET_SYSTEM_GENERIC_X86_64
	default n

config ADK_LINUX_KERNEL_VGA_CONSOLE
	bool
	default y if ADK_TARGET_WITH_VGA
	default y if ADK_TARGET_SYSTEM_GENERIC_X86
	default y if ADK_TARGET_SYSTEM_GENERIC_X86_64
	default n

config ADK_LINUX_KERNEL_FONTS
	bool

config ADK_LINUX_KERNEL_FONT_8x16
	bool
	select ADK_LINUX_KERNEL_FONTS

config ADK_LINUX_KERNEL_FB
	bool
	select ADK_LINUX_KERNEL_VT
	select ADK_LINUX_KERNEL_VT_CONSOLE

config ADK_LINUX_KERNEL_FB_DEVICE
	bool

config ADK_LINUX_KERNEL_FB_SBUS
	bool

config ADK_LINUX_KERNEL_DUMMY_CONSOLE
	bool
 
config ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	bool
	default y if ADK_TARGET_SYSTEM_ARANYM_M68K
	default n

config ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
	bool

config ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE_ROTATION
	bool

config ADK_LINUX_KERNEL_VIDEO_CODA
	bool
	select ADK_LINUX_KERNEL_MEDIA_SUPPORT

config ADK_LINUX_KERNEL_FB_MXC
 	bool

config ADK_LINUX_KERNEL_FB_MXC_LDB
 	bool

config ADK_LINUX_KERNEL_FB_MXC_SYNC_PANEL
	bool

config ADK_LINUX_KERNEL_FB_MXC_HDMI
 	bool

config ADK_LINUX_KERNEL_FB_MXC_EDID
 	bool

config ADK_LINUX_KERNEL_MXC_IPU
 	bool

config ADK_LINUX_KERNEL_MXC_IPU_V3
 	bool

config ADK_LINUX_KERNEL_MXC_VPU
 	bool

config ADK_LINUX_KERNEL_MXC_GPU_VIV
 	bool

config ADK_LINUX_KERNEL_MXC_GPU_VIV_V4
 	bool

config ADK_LINUX_KERNEL_MXC_ASRC
 	bool

config ADK_LINUX_KERNEL_MXC_HDMI_CEC
 	bool

config ADK_LINUX_KERNEL_MXC_MIPI_CSI2
 	bool

config ADK_LINUX_KERNEL_MXC_MLB
 	bool

config ADK_LINUX_KERNEL_MXC_MLB150
 	bool
	select ADK_LINUX_KERNEL_SND
	select ADK_LINUX_KERNEL_SND_PCM

config ADK_LINUX_KERNEL_V4L_MEM2MEM_DRIVERS
	bool

config ADK_LINUX_KERNEL_IMX_IPUV3_CORE
	bool

config ADK_LINUX_KERNEL_DRM_PANEL_SIMPLE
	bool

config ADK_LINUX_KERNEL_DRM_IMX
	bool

config ADK_LINUX_KERNEL_DRM_IMX_PARALLEL_DISPLAY
	bool

config ADK_LINUX_KERNEL_DRM_IMX_TVE
	bool

config ADK_LINUX_KERNEL_DRM_IMX_LDB
	bool

config ADK_LINUX_KERNEL_DRM_IMX_HDMI
	bool

config ADK_LINUX_KERNEL_FB_MXS
	bool

config ADK_LINUX_KERNEL_MFD_SM501
	bool

config ADK_LINUX_KERNEL_FB_ATARI
	bool
	select ADK_LINUX_KERNEL_FB
	default y if ADK_TARGET_SYSTEM_ARANYM_M68K
	default n

config ADK_LINUX_KERNEL_FB_ARMCLCD
	bool

config ADK_LINUX_KERNEL_PLAT_VERSATILE_CLCD
	bool
	select ADK_LINUX_KERNEL_FB_ARMCLCD

config ADK_LINUX_KERNEL_FB_CIRRUS
	bool

config ADK_LINUX_KERNEL_FB_GEODE
	bool

config ADK_LINUX_KERNEL_FB_SM501
	bool
	select ADK_LINUX_KERNEL_MFD_SM501

config ADK_LINUX_KERNEL_DRM
	bool

config ADK_LINUX_KERNEL_DRM_I915
	bool

config ADK_LINUX_KERNEL_DRM_V3D
	tristate

config ADK_LINUX_KERNEL_DRM_KMS_HELPER
	bool

config ADK_LINUX_KERNEL_DRM_FBDEV_EMULATION
	bool

config ADK_LINUX_KERNEL_INTEL_GTT
	bool

config ADK_LINUX_KERNEL_AGP
	bool

config ADK_LINUX_KERNEL_AGP_INTEL
	bool

config ADK_LINUX_KERNEL_LOGO
	bool
 
config ADK_LINUX_KERNEL_LOGO_LINUX_CLUT224
	bool "Enable Linux penguin boot logo"
	select ADK_LINUX_KERNEL_LOGO

config ADK_LINUX_KERNEL_FB_CON_DECOR
	bool "Enable fullscreen boot logo"
	select ADK_PACKAGE_FBSPLASH
	depends on ADK_TARGET_KERNEL_VERSION_3_18 || \
		   ADK_TARGET_KERNEL_VERSION_3_14

config ADK_LINUX_KERNEL_FB_SIMPLE
	bool "Simple Framebuffer"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	default y if ADK_TARGET_SYSTEM_BANANA_PRO
	default n
	help
	  Simple Framebuffer driver.

config ADK_LINUX_KERNEL_FB_VESA
	bool "Framebuffer support for VESA"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
 	default n
 	help
	  Generic VESA Framebuffer support.

config ADK_LINUX_KERNEL_FB_OF
	bool "Framebuffer support for OpenFirmware"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
 	default n
 	help
	  Generic OpenFirmware Framebuffer support.

config ADK_LINUX_KERNEL_DRM_ETNAVIV
	bool "DRM support for Vivante chips (Cubox-i/Hummingboard)"
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_IMX_IPUV3_CORE
	select ADK_LINUX_KERNEL_DRM_IMX
	select ADK_LINUX_KERNEL_DRM_IMX_PARALLEL_DISPLAY
	select ADK_LINUX_KERNEL_DRM_IMX_TVE
	select ADK_LINUX_KERNEL_DRM_IMX_LDB
	select ADK_LINUX_KERNEL_DRM_IMX_HDMI
	select ADK_LINUX_KERNEL_DRM_PANEL_SIMPLE
	select ADK_LINUX_KERNEL_FB_MXS
	select ADK_LINUX_KERNEL_MEDIA_CAMERA_SUPPORT
	select ADK_LINUX_KERNEL_V4L_MEM2MEM_DRIVERS
	select ADK_LINUX_KERNEL_VIDEO_CODA
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
	depends on ADK_TARGET_SYSTEM_SOLIDRUN_IMX6  || \
		ADK_TARGET_SYSTEM_PHYTEC_IMX6
	default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6  || \
		ADK_TARGET_SYSTEM_PHYTEC_IMX6
 	default n
 	help
	  Framebuffer support for Cubox-i/Hummingboard (Vivante)

config ADK_LINUX_KERNEL_DRM_VC4
	tristate "DRM support for VC4 GPU (Raspberry PI4/PI5)"
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_DRM_V3D
	select ADK_LINUX_KERNEL_SND
	select ADK_LINUX_KERNEL_SND_SOC
	select ADK_LINUX_KERNEL_PM
	select ADK_LINUX_KERNEL_COMMON_CLK
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
		ADK_TARGET_SYSTEM_RASPBERRY_PI5 || \
		ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
	default m if ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
		ADK_TARGET_SYSTEM_RASPBERRY_PI5 || \
		ADK_TARGET_SYSTEM_RASPBERRY_PI4_64 && \
		ADK_PACKAGE_KODI
 	default n
 	help
	  DRM support for VC4 GPU (Raspberry PI4/PI5)

	
config ADK_LINUX_KERNEL_FB_PXA
	bool "Framebuffer support for PXA boards (Sharp Zaurus)"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_DUMMY_CONSOLE
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE_ROTATION
	depends on ADK_TARGET_SYSTEM_SHARP_ZAURUS \
		|| ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER \
		|| ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ
	default y if ADK_TARGET_SYSTEM_SHARP_ZAURUS
	default y if ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER
	default y if ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ
 	default n
 	help
	  Framebuffer support for Sharp Zaurus CL Series.

config ADK_LINUX_KERNEL_FB_GEODE_LX
	bool "Framebuffer support for GEODE LX (PC Engines Alix1c)"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FB_GEODE
	depends on ADK_TARGET_MODEL_PCENGINES_ALIX1C
	default y if ADK_TARGET_MODEL_PCENGINES_ALIX1C
 	default n
 	help
	  Framebuffer support for ALIX boards with VGA.

config ADK_LINUX_KERNEL_FB_SM712
	bool "Framebuffer support for Silicon Motion 7xx (Lemote Yeelong)"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FONT_8x16
	default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
 	default n
	depends on ADK_TARGET_SYSTEM_LEMOTE_YEELONG
 	help
	  Framebuffer support for Lemote Yeelong.

config ADK_LINUX_KERNEL_FB_BCM2708
	bool "Framebuffer support for BCM28XX boards (Raspberry PI)"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FB_DEVICE
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FONT_8x16
	default y if ADK_TARGET_BOARD_BCM28XX
 	default n
	depends on ADK_TARGET_BOARD_BCM28XX
 	help
	  Framebuffer support for BCM28XX boards.

config ADK_LINUX_KERNEL_FB_CGSIX
	bool "Framebuffer support for CGSIX cards"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FB_SBUS
	default n
	help
	  Framebuffer support for Sun CGSIX cards.

config ADK_LINUX_KERNEL_FB_RADEON
	bool "Framebuffer support for RADEON chips"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_FONT_8x16
 	help
	  Framebuffer support for RADEON chips.

config ADK_LINUX_KERNEL_DRM_ROCKCHIP
	bool "Support for Rockchip graphic cards"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_DRM_KMS_HELPER
	select ADK_LINUX_KERNEL_DRM_FBDEV_EMULATION
	depends on ADK_TARGET_SYSTEM_ROCKPI4_PLUS
	default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
	default n
	help
          Support for Rockchip chipsets.

config ADK_LINUX_KERNEL_DRM_I915
	bool "Support for Intel graphic cards"
	select ADK_LINUX_KERNEL_FB
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_INTEL_GTT
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	select ADK_LINUX_KERNEL_DRM_KMS_HELPER
	select ADK_LINUX_KERNEL_DRM_FBDEV_EMULATION
	default n
	help
          Support for Intel chipsets.

config ADK_LINUX_KERNEL_DRM_BOCHS
	bool "Support for QEMU STD VGA emulation"
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	depends on ADK_TARGET_SYSTEM_QEMU_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
	help
	  Support for Qemu STD VGA emulation.

config ADK_LINUX_KERNEL_DRM_CIRRUS_QEMU
	bool "Support for QEMU cirrus VGA emulation"
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_FRAMEBUFFER_CONSOLE
	depends on ADK_TARGET_SYSTEM_QEMU_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
	help
	  Support for Qemu cirrus VGA emulation.

config ADK_LINUX_KERNEL_DRM_RADEON
	bool "Support for Radeon graphic cards"
	select ADK_LINUX_KERNEL_DRM
	select ADK_LINUX_KERNEL_FB_CFB_FILLRECT
	select ADK_LINUX_KERNEL_FB_CFB_COPYAREA
	select ADK_LINUX_KERNEL_FB_CFB_IMAGEBLIT
	select ADK_LINUX_KERNEL_FW_LOADER
	select ADK_LINUX_KERNEL_DRM_KMS_HELPER
	select ADK_LINUX_KERNEL_DRM_KMS_FB_HELPER
	select ADK_LINUX_KERNEL_DRM_TTM
	help
	  Support for Radeon chips.
	
endmenu