0001 # SPDX-License-Identifier: GPL-2.0
0002 menuconfig BCM_VIDEOCORE
0003 tristate "Broadcom VideoCore support"
0004 depends on OF
0005 depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
0006 default y
0007 help
0008 Support for Broadcom VideoCore services including
0009 the BCM2835 family of products which is used
0010 by the Raspberry PI.
0011
0012 if BCM_VIDEOCORE
0013
0014 config BCM2835_VCHIQ
0015 tristate "BCM2835 VCHIQ"
0016 depends on HAS_DMA
0017 imply VCHIQ_CDEV
0018 help
0019 Broadcom BCM2835 and similar SoCs have a VPU called VideoCore. This config
0020 enables the VCHIQ driver, which implements a messaging interface between
0021 the kernel and the firmware running on VideoCore. Other drivers use this
0022 interface to communicate to the VPU. More specifically, the VCHIQ driver is
0023 used by audio/video and camera drivers as well as for implementing MMAL
0024 API, which is in turn used by several multimedia services on the BCM2835
0025 family of SoCs.
0026 Defaults to Y when the Broadcom Videocore services are included in
0027 the build, N otherwise.
0028
0029 if BCM2835_VCHIQ
0030
0031 config VCHIQ_CDEV
0032 bool "VCHIQ Character Driver"
0033 help
0034 Enable the creation of VCHIQ character driver. The cdev exposes ioctls used
0035 by userspace libraries and testing tools to interact with VideoCore, via
0036 the VCHIQ core driver (Check BCM2835_VCHIQ for more info).
0037 This can be set to 'N' if the VideoCore communication is not needed by
0038 userspace but only by other kernel modules (like bcm2835-audio). If not
0039 sure, set this to 'Y'.
0040
0041 endif
0042
0043 source "drivers/staging/vc04_services/bcm2835-audio/Kconfig"
0044
0045 source "drivers/staging/vc04_services/bcm2835-camera/Kconfig"
0046
0047 source "drivers/staging/vc04_services/vchiq-mmal/Kconfig"
0048
0049 endif
0050