xref: /linux/drivers/platform/raspberrypi/Kconfig (revision 37bb2e7217b01404e2abf9d90d8e5705a5603b52)
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