| 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | |
| 3 | menuconfig 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 | |
| 13 | if BCM_VIDEOCORE |
| 14 | |
| 15 | config 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 | |
| 32 | if BCM2835_VCHIQ |
| 33 | |
| 34 | config 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 | |
| 48 | endif |
| 49 | |
| 50 | source "drivers/platform/raspberrypi/vchiq-mmal/Kconfig" |
| 51 | |
| 52 | endif |