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