# SPDX-License-Identifier: GPL-2.0-only
config DRM_VC4
	tristate "Broadcom VC4 Graphics"
	depends on ARCH_BCM || ARCH_BCM2835 || COMPILE_TEST
	# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
	# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
	depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
	depends on DRM
	depends on SND && SND_SOC
	depends on COMMON_CLK
	depends on PM
	select DRM_DISPLAY_HDMI_HELPER
	select DRM_DISPLAY_HELPER
	select DRM_KMS_HELPER
	select DRM_GEM_DMA_HELPER
	select DRM_PANEL_BRIDGE
	select SND_PCM
	select SND_PCM_ELD
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select SND_SOC_HDMI_CODEC
	select DRM_MIPI_DSI
	help
	  Choose this option if you have a system that has a Broadcom
	  VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835.

	  This driver requires that "avoid_warnings=2" be present in
	  the config.txt for the firmware, to keep it from smashing
	  our display setup.

config DRM_VC4_HDMI_CEC
	bool "Broadcom VC4 HDMI CEC Support"
	depends on DRM_VC4
	select CEC_CORE
	help
	  Choose this option if you have a Broadcom VC4 GPU
	  and want to use CEC.

config DRM_VC4_KUNIT_TEST
	tristate "KUnit tests for VC4" if !KUNIT_ALL_TESTS
	depends on DRM_VC4 && KUNIT
	select DRM_KUNIT_TEST_HELPERS
	default KUNIT_ALL_TESTS
	help
	  This builds unit tests for the VC4 DRM/KMS driver. This option is
	  not useful for distributions or general kernels, but only for kernel
	  developers working on the VC4 driver.

	  For more information on KUnit and unit tests in general,
	  please refer to the KUnit documentation in
	  Documentation/dev-tools/kunit/.

	  If in doubt, say "N".