162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig DRM_VC4
362306a36Sopenharmony_ci	tristate "Broadcom VC4 Graphics"
462306a36Sopenharmony_ci	depends on ARCH_BCM || ARCH_BCM2835 || COMPILE_TEST
562306a36Sopenharmony_ci	# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
662306a36Sopenharmony_ci	# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
762306a36Sopenharmony_ci	depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
862306a36Sopenharmony_ci	depends on DRM
962306a36Sopenharmony_ci	depends on SND && SND_SOC
1062306a36Sopenharmony_ci	depends on COMMON_CLK
1162306a36Sopenharmony_ci	depends on PM
1262306a36Sopenharmony_ci	select DRM_DISPLAY_HDMI_HELPER
1362306a36Sopenharmony_ci	select DRM_DISPLAY_HELPER
1462306a36Sopenharmony_ci	select DRM_KMS_HELPER
1562306a36Sopenharmony_ci	select DRM_GEM_DMA_HELPER
1662306a36Sopenharmony_ci	select DRM_PANEL_BRIDGE
1762306a36Sopenharmony_ci	select SND_PCM
1862306a36Sopenharmony_ci	select SND_PCM_ELD
1962306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
2062306a36Sopenharmony_ci	select SND_SOC_HDMI_CODEC
2162306a36Sopenharmony_ci	select DRM_MIPI_DSI
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  Choose this option if you have a system that has a Broadcom
2462306a36Sopenharmony_ci	  VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  This driver requires that "avoid_warnings=2" be present in
2762306a36Sopenharmony_ci	  the config.txt for the firmware, to keep it from smashing
2862306a36Sopenharmony_ci	  our display setup.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig DRM_VC4_HDMI_CEC
3162306a36Sopenharmony_ci	bool "Broadcom VC4 HDMI CEC Support"
3262306a36Sopenharmony_ci	depends on DRM_VC4
3362306a36Sopenharmony_ci	select CEC_CORE
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  Choose this option if you have a Broadcom VC4 GPU
3662306a36Sopenharmony_ci	  and want to use CEC.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig DRM_VC4_KUNIT_TEST
3962306a36Sopenharmony_ci	tristate "KUnit tests for VC4" if !KUNIT_ALL_TESTS
4062306a36Sopenharmony_ci	depends on DRM_VC4 && KUNIT
4162306a36Sopenharmony_ci	select DRM_KUNIT_TEST_HELPERS
4262306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	  This builds unit tests for the VC4 DRM/KMS driver. This option is
4562306a36Sopenharmony_ci	  not useful for distributions or general kernels, but only for kernel
4662306a36Sopenharmony_ci	  developers working on the VC4 driver.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	  For more information on KUnit and unit tests in general,
4962306a36Sopenharmony_ci	  please refer to the KUnit documentation in
5062306a36Sopenharmony_ci	  Documentation/dev-tools/kunit/.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	  If in doubt, say "N".
53