1# SPDX-License-Identifier: GPL-2.0 2 3menuconfig BCM_VIDEOCORE 4 tristate "Broadcom VideoCore support" 5 depends on OF 6 depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 7 default y 8 help 9 Support for Broadcom VideoCore services including 10 the BCM2835 family of products which is used 11 by the Raspberry PI. 12 13if BCM_VIDEOCORE 14 15config BCM2835_VCHIQ 16 tristate "BCM2835 VCHIQ" 17 depends on HAS_DMA 18 imply VCHIQ_CDEV 19 help 20 Broadcom BCM2835 and similar SoCs have a VPU called VideoCore. 21 This config enables the VCHIQ driver, which implements a 22 messaging interface between the kernel and the firmware running 23 on VideoCore. Other drivers use this interface to communicate to 24 the VPU. More specifically, the VCHIQ driver is used by 25 audio/video and camera drivers as well as for implementing MMAL 26 API, which is in turn used by several multimedia services on the 27 BCM2835 family of SoCs. 28 29 Defaults to Y when the Broadcom Videocore services are included 30 in the build, N otherwise. 31 32if BCM2835_VCHIQ 33 34config VCHIQ_CDEV 35 bool "VCHIQ Character Driver" 36 help 37 Enable the creation of VCHIQ character driver. The cdev exposes 38 ioctls used by userspace libraries and testing tools to interact 39 with VideoCore, via the VCHIQ core driver (Check BCM2835_VCHIQ 40 for more info). 41 42 This can be set to 'N' if the VideoCore communication is not 43 needed by userspace but only by other kernel modules 44 (like bcm2835-audio). 45 46 If not sure, set this to 'Y'. 47 48endif 49 50source "drivers/platform/raspberrypi/vchiq-mmal/Kconfig" 51 52endif 53