# SPDX-License-Identifier: GPL-2.0-only
config DRM_TEGRA
	tristate "NVIDIA Tegra DRM"
	depends on ARCH_TEGRA || COMPILE_TEST
	depends on COMMON_CLK
	depends on DRM
	depends on OF
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_HDMI_HELPER
	select DRM_DISPLAY_HELPER
	select DRM_BRIDGE_CONNECTOR
	select DRM_DISPLAY_DP_AUX_BUS
	select DRM_KMS_HELPER
	select DRM_MIPI_DSI
	select DRM_PANEL
	select FB_DMAMEM_HELPERS if DRM_FBDEV_EMULATION
	select TEGRA_HOST1X
	select INTERCONNECT
	select IOMMU_IOVA
	select CEC_CORE if CEC_NOTIFIER
	select SND_SIMPLE_CARD if SND_SOC_TEGRA20_SPDIF
	select SND_SOC_HDMI_CODEC if SND_SOC_TEGRA20_SPDIF
	select SND_AUDIO_GRAPH_CARD if SND_SOC_TEGRA20_SPDIF
	help
	  Choose this option if you have an NVIDIA Tegra SoC.

	  To compile this driver as a module, choose M here: the module
	  will be called tegra-drm.

if DRM_TEGRA

config DRM_TEGRA_DEBUG
	bool "NVIDIA Tegra DRM debug support"
	help
	  Say yes here to enable debugging support.

config DRM_TEGRA_STAGING
	bool "Enable HOST1X interface"
	depends on STAGING
	help
	  Say yes if HOST1X should be available for userspace DRM users.

	  If unsure, choose N.

endif
