86fc44c0a4fa9c1a284c50a861ea2a07a85e54c8
[openwrt/openwrt.git] / target / linux / bcm27xx / modules / video.mk
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2019 OpenWrt.org
4
5 define KernelPackage/camera-bcm2835
6 TITLE:=BCM2835 Camera
7 KCONFIG:= \
8 CONFIG_VIDEO_BCM2835 \
9 CONFIG_VIDEO_BCM2835_MMAL \
10 CONFIG_VIDEO_ARDUCAM_64MP=n \
11 CONFIG_VIDEO_ARDUCAM_PIVARIETY=n \
12 CONFIG_VIDEO_BCM2835_UNICAM=n \
13 CONFIG_VIDEO_IMX296=n \
14 CONFIG_VIDEO_IMX519=n \
15 CONFIG_VIDEO_IMX708=n \
16 CONFIG_VIDEO_ISP_BCM2835=n
17 FILES:= \
18 $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko
19 AUTOLOAD:=$(call AutoLoad,65,bcm2835-v4l2)
20 $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-videobuf2)
21 endef
22
23 define KernelPackage/camera-bcm2835/description
24 Camera host interface devices for Broadcom BCM2835 SoC.
25 This operates over the VCHIQ interface to a service running on VideoCore.
26 endef
27
28 $(eval $(call KernelPackage,camera-bcm2835))
29
30
31 define KernelPackage/drm-vc4
32 SUBMENU:=$(VIDEO_MENU)
33 TITLE:=Broadcom VC4 Graphics
34 DEPENDS:= \
35 @TARGET_bcm27xx +kmod-drm \
36 +kmod-sound-core \
37 +kmod-sound-soc-core
38 KCONFIG:= \
39 CONFIG_DRM_VC4 \
40 CONFIG_DRM_VC4_HDMI_CEC=y \
41 CONFIG_DRM_GUD=n \
42 CONFIG_DRM_V3D=n \
43 CONFIG_DRM_TVE200=n
44 FILES:= \
45 $(LINUX_DIR)/drivers/gpu/drm/display/drm_display_helper.ko \
46 $(LINUX_DIR)/drivers/gpu/drm/drm_dma_helper.ko \
47 $(LINUX_DIR)/drivers/gpu/drm/vc4/vc4.ko \
48 $(LINUX_DIR)/drivers/gpu/drm/drm_kms_helper.ko \
49 $(LINUX_DIR)/drivers/media/cec/core/cec.ko
50 AUTOLOAD:=$(call AutoProbe,vc4)
51 endef
52
53 define KernelPackage/drm-vc4/description
54 Direct Rendering Manager (DRM) support for Broadcom VideoCore IV GPU
55 used in BCM2835, BCM2836 and BCM2837 SoCs (e.g. Raspberry Pi).
56 endef
57
58 $(eval $(call KernelPackage,drm-vc4))
59
60
61 define KernelPackage/vc-sm-cma
62 TITLE:=VideoCore Shared Memory (CMA) driver
63 KCONFIG:= \
64 CONFIG_BCM_VC_SM_CMA
65 FILES:= \
66 $(LINUX_DIR)/drivers/staging/vc04_services/vc-sm-cma/vc-sm-cma.ko
67 $(call AddDepends/video,@TARGET_bcm27xx)
68 endef
69
70 define KernelPackage/vc-sm-cma/description
71 Shared memory interface that supports sharing dmabufs with VideoCore.
72 This operates over the VCHIQ interface to a service running on VideoCore.
73 endef
74
75 $(eval $(call KernelPackage,vc-sm-cma))
76
77
78 define KernelPackage/vchiq-mmal-bcm2835
79 TITLE:=BCM2835 MMAL VCHIQ service
80 KCONFIG:= \
81 CONFIG_BCM2835_VCHIQ_MMAL \
82 CONFIG_VIDEO_CODEC_BCM2835=n
83 FILES:= \
84 $(LINUX_DIR)/drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq.ko
85 $(call AddDepends/video,@TARGET_bcm27xx +kmod-vc-sm-cma)
86 endef
87
88 define KernelPackage/vchiq-mmal-bcm2835/description
89 Enables the MMAL API over VCHIQ as used for the
90 majority of the multimedia services on VideoCore.
91 endef
92
93 $(eval $(call KernelPackage,vchiq-mmal-bcm2835))