199b75a4eSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
26bbfe4a7SMichael Zoranmenuconfig BCM_VIDEOCORE
3ce95e3a9SArnd Bergmann	tristate "Broadcom VideoCore support"
4b3bd0f28SArnd Bergmann	depends on OF
56fde3789SArnd Bergmann	depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
671bad7f0Spopcornmix	default y
771bad7f0Spopcornmix	help
86bbfe4a7SMichael Zoran		Support for Broadcom VideoCore services including
96bbfe4a7SMichael Zoran		the BCM2835 family of products which is used
106bbfe4a7SMichael Zoran		by the Raspberry PI.
116bbfe4a7SMichael Zoran
126bbfe4a7SMichael Zoranif BCM_VIDEOCORE
136bbfe4a7SMichael Zoran
146bbfe4a7SMichael Zoranconfig BCM2835_VCHIQ
156bbfe4a7SMichael Zoran	tristate "BCM2835 VCHIQ"
16*f3e93e3eSGeert Uytterhoeven	depends on HAS_DMA
17bb13dc2bSOjaswin Mujoo	imply VCHIQ_CDEV
186bbfe4a7SMichael Zoran	help
1969c92a74SOjaswin Mujoo		Broadcom BCM2835 and similar SoCs have a VPU called VideoCore. This config
2069c92a74SOjaswin Mujoo		enables the VCHIQ driver, which implements a messaging interface between
2169c92a74SOjaswin Mujoo		the kernel and the firmware running on VideoCore. Other drivers use this
2269c92a74SOjaswin Mujoo		interface to communicate to the VPU. More specifically, the VCHIQ driver is
2369c92a74SOjaswin Mujoo		used by audio/video and camera drivers as well as for implementing MMAL
2469c92a74SOjaswin Mujoo		API, which is in turn used by several multimedia services on the BCM2835
2569c92a74SOjaswin Mujoo		family of SoCs.
2669c92a74SOjaswin Mujoo		Defaults to Y when the Broadcom Videocore services are included in
2769c92a74SOjaswin Mujoo		the build, N otherwise.
28051420a9SMichael Zoran
292b5930fbSOjaswin Mujooif BCM2835_VCHIQ
302b5930fbSOjaswin Mujoo
312b5930fbSOjaswin Mujooconfig VCHIQ_CDEV
322b5930fbSOjaswin Mujoo	bool "VCHIQ Character Driver"
332b5930fbSOjaswin Mujoo	help
3469c92a74SOjaswin Mujoo		Enable the creation of VCHIQ character driver. The cdev exposes ioctls used
3569c92a74SOjaswin Mujoo		by userspace libraries and testing tools to interact with VideoCore, via
3669c92a74SOjaswin Mujoo		the VCHIQ core driver (Check BCM2835_VCHIQ for more info).
3769c92a74SOjaswin Mujoo		This can be set to 'N' if the VideoCore communication is not needed by
3869c92a74SOjaswin Mujoo		userspace but only by other kernel modules (like bcm2835-audio).  If not
3969c92a74SOjaswin Mujoo		sure, set this to 'Y'.
402b5930fbSOjaswin Mujoo
412b5930fbSOjaswin Mujooendif
422b5930fbSOjaswin Mujoo
43051420a9SMichael Zoransource "drivers/staging/vc04_services/bcm2835-audio/Kconfig"
44051420a9SMichael Zoran
45212afb97SMichael Zoransource "drivers/staging/vc04_services/bcm2835-camera/Kconfig"
46212afb97SMichael Zoran
47b18ee53aSJacopo Mondisource "drivers/staging/vc04_services/vchiq-mmal/Kconfig"
48b18ee53aSJacopo Mondi
49051420a9SMichael Zoranendif
50051420a9SMichael Zoran
51