summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS1
-rw-r--r--drivers/platform/Kconfig2
-rw-r--r--drivers/platform/Makefile1
-rw-r--r--drivers/platform/raspberrypi/Kconfig50
-rw-r--r--drivers/platform/raspberrypi/Makefile14
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/TESTING (renamed from drivers/staging/vc04_services/interface/TESTING)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/TODO (renamed from drivers/staging/vc04_services/interface/TODO)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/vchiq_arm.c (renamed from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/vchiq_bus.c (renamed from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c (renamed from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/vchiq_debugfs.c (renamed from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c (renamed from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c)0
-rw-r--r--drivers/platform/raspberrypi/vchiq-interface/vchiq_ioctl.h (renamed from drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h)0
-rw-r--r--drivers/staging/vc04_services/Kconfig45
-rw-r--r--drivers/staging/vc04_services/Makefile12
15 files changed, 68 insertions, 57 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index cd223e119d48..df07d1a3c28d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4828,6 +4828,7 @@ S: Maintained
T: git https://github.com/broadcom/stblinux.git
F: Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
F: drivers/pci/controller/pcie-brcmstb.c
+F: drivers/platform/raspberrypi/vchiq-*
F: drivers/staging/vc04_services
F: include/linux/raspberrypi/vchiq*
N: bcm2711
diff --git a/drivers/platform/Kconfig b/drivers/platform/Kconfig
index 960fd6a82450..324c69c63f76 100644
--- a/drivers/platform/Kconfig
+++ b/drivers/platform/Kconfig
@@ -18,3 +18,5 @@ source "drivers/platform/surface/Kconfig"
source "drivers/platform/x86/Kconfig"
source "drivers/platform/arm64/Kconfig"
+
+source "drivers/platform/raspberrypi/Kconfig"
diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
index 19ac54648586..b0935c602ada 100644
--- a/drivers/platform/Makefile
+++ b/drivers/platform/Makefile
@@ -13,3 +13,4 @@ obj-$(CONFIG_CHROME_PLATFORMS) += chrome/
obj-$(CONFIG_CZNIC_PLATFORMS) += cznic/
obj-$(CONFIG_SURFACE_PLATFORMS) += surface/
obj-$(CONFIG_ARM64_PLATFORM_DEVICES) += arm64/
+obj-$(CONFIG_BCM2835_VCHIQ) += raspberrypi/
diff --git a/drivers/platform/raspberrypi/Kconfig b/drivers/platform/raspberrypi/Kconfig
new file mode 100644
index 000000000000..9085e7464ec3
--- /dev/null
+++ b/drivers/platform/raspberrypi/Kconfig
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: GPL-2.0
+
+menuconfig BCM_VIDEOCORE
+ tristate "Broadcom VideoCore support"
+ depends on OF
+ depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
+ default y
+ help
+ Support for Broadcom VideoCore services including
+ the BCM2835 family of products which is used
+ by the Raspberry PI.
+
+if BCM_VIDEOCORE
+
+config BCM2835_VCHIQ
+ tristate "BCM2835 VCHIQ"
+ depends on HAS_DMA
+ imply VCHIQ_CDEV
+ help
+ Broadcom BCM2835 and similar SoCs have a VPU called VideoCore.
+ This config enables the VCHIQ driver, which implements a
+ messaging interface between the kernel and the firmware running
+ on VideoCore. Other drivers use this interface to communicate to
+ the VPU. More specifically, the VCHIQ driver is used by
+ audio/video and camera drivers as well as for implementing MMAL
+ API, which is in turn used by several multimedia services on the
+ BCM2835 family of SoCs.
+
+ Defaults to Y when the Broadcom Videocore services are included
+ in the build, N otherwise.
+
+if BCM2835_VCHIQ
+
+config VCHIQ_CDEV
+ bool "VCHIQ Character Driver"
+ help
+ Enable the creation of VCHIQ character driver. The cdev exposes
+ ioctls used by userspace libraries and testing tools to interact
+ with VideoCore, via the VCHIQ core driver (Check BCM2835_VCHIQ
+ for more info).
+
+ This can be set to 'N' if the VideoCore communication is not
+ needed by userspace but only by other kernel modules
+ (like bcm2835-audio).
+
+ If not sure, set this to 'Y'.
+
+endif
+
+endif
diff --git a/drivers/platform/raspberrypi/Makefile b/drivers/platform/raspberrypi/Makefile
new file mode 100644
index 000000000000..a807571c59a4
--- /dev/null
+++ b/drivers/platform/raspberrypi/Makefile
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-$(CONFIG_BCM2835_VCHIQ) += vchiq.o
+
+vchiq-objs := \
+ vchiq-interface/vchiq_core.o \
+ vchiq-interface/vchiq_arm.o \
+ vchiq-interface/vchiq_bus.o \
+ vchiq-interface/vchiq_debugfs.o \
+
+ifdef CONFIG_VCHIQ_CDEV
+vchiq-objs += vchiq-interface/vchiq_dev.o
+endif
+
diff --git a/drivers/staging/vc04_services/interface/TESTING b/drivers/platform/raspberrypi/vchiq-interface/TESTING
index c98f688b07e0..c98f688b07e0 100644
--- a/drivers/staging/vc04_services/interface/TESTING
+++ b/drivers/platform/raspberrypi/vchiq-interface/TESTING
diff --git a/drivers/staging/vc04_services/interface/TODO b/drivers/platform/raspberrypi/vchiq-interface/TODO
index 2357dae413f1..2357dae413f1 100644
--- a/drivers/staging/vc04_services/interface/TODO
+++ b/drivers/platform/raspberrypi/vchiq-interface/TODO
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/platform/raspberrypi/vchiq-interface/vchiq_arm.c
index 6a7b96d3dae6..6a7b96d3dae6 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/platform/raspberrypi/vchiq-interface/vchiq_arm.c
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c b/drivers/platform/raspberrypi/vchiq-interface/vchiq_bus.c
index f50e637d505c..f50e637d505c 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c
+++ b/drivers/platform/raspberrypi/vchiq-interface/vchiq_bus.c
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c
index 83de27cfd469..83de27cfd469 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
+++ b/drivers/platform/raspberrypi/vchiq-interface/vchiq_core.c
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/platform/raspberrypi/vchiq-interface/vchiq_debugfs.c
index c82326a9b6d9..c82326a9b6d9 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
+++ b/drivers/platform/raspberrypi/vchiq-interface/vchiq_debugfs.c
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c b/drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c
index 0f3dde2657d6..0f3dde2657d6 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
+++ b/drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/platform/raspberrypi/vchiq-interface/vchiq_ioctl.h
index d0c759f6d8ea..d0c759f6d8ea 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
+++ b/drivers/platform/raspberrypi/vchiq-interface/vchiq_ioctl.h
diff --git a/drivers/staging/vc04_services/Kconfig b/drivers/staging/vc04_services/Kconfig
index c803cb8e4ccc..b9e6f369f54c 100644
--- a/drivers/staging/vc04_services/Kconfig
+++ b/drivers/staging/vc04_services/Kconfig
@@ -1,51 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
-menuconfig BCM_VIDEOCORE
- tristate "Broadcom VideoCore support"
- depends on OF
- depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
- default y
- help
- Support for Broadcom VideoCore services including
- the BCM2835 family of products which is used
- by the Raspberry PI.
-
if BCM_VIDEOCORE
-config BCM2835_VCHIQ
- tristate "BCM2835 VCHIQ"
- depends on HAS_DMA
- imply VCHIQ_CDEV
- help
- Broadcom BCM2835 and similar SoCs have a VPU called VideoCore.
- This config enables the VCHIQ driver, which implements a
- messaging interface between the kernel and the firmware running
- on VideoCore. Other drivers use this interface to communicate to
- the VPU. More specifically, the VCHIQ driver is used by
- audio/video and camera drivers as well as for implementing MMAL
- API, which is in turn used by several multimedia services on the
- BCM2835 family of SoCs.
-
- Defaults to Y when the Broadcom Videocore services are included
- in the build, N otherwise.
-
-if BCM2835_VCHIQ
-
-config VCHIQ_CDEV
- bool "VCHIQ Character Driver"
- help
- Enable the creation of VCHIQ character driver. The cdev exposes
- ioctls used by userspace libraries and testing tools to interact
- with VideoCore, via the VCHIQ core driver (Check BCM2835_VCHIQ
- for more info).
-
- This can be set to 'N' if the VideoCore communication is not
- needed by userspace but only by other kernel modules
- (like bcm2835-audio).
-
- If not sure, set this to 'Y'.
-
-endif
-
source "drivers/staging/vc04_services/bcm2835-audio/Kconfig"
source "drivers/staging/vc04_services/vchiq-mmal/Kconfig"
diff --git a/drivers/staging/vc04_services/Makefile b/drivers/staging/vc04_services/Makefile
index c14be508dcdd..7a716a5c7815 100644
--- a/drivers/staging/vc04_services/Makefile
+++ b/drivers/staging/vc04_services/Makefile
@@ -1,16 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_BCM2835_VCHIQ) += vchiq.o
-
-vchiq-objs := \
- interface/vchiq_arm/vchiq_core.o \
- interface/vchiq_arm/vchiq_arm.o \
- interface/vchiq_arm/vchiq_bus.o \
- interface/vchiq_arm/vchiq_debugfs.o \
-
-ifdef CONFIG_VCHIQ_CDEV
-vchiq-objs += interface/vchiq_arm/vchiq_dev.o
-endif
-
obj-$(CONFIG_SND_BCM2835) += bcm2835-audio/
obj-$(CONFIG_BCM2835_VCHIQ_MMAL) += vchiq-mmal/