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