V4L2_DIR=v4l2-core
V4L2_USB_DIR=usb
+V4L2_MEM2MEM_DIR=platform
#
# Video Display
#
+define KernelPackage/acpi-video
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=ACPI Extensions For Display Adapters
+ DEPENDS:=@TARGET_x86 +kmod-backlight
+ HIDDEN:=1
+ KCONFIG:=CONFIG_ACPI_VIDEO \
+ CONFIG_ACPI_WMI
+ FILES:=$(LINUX_DIR)/drivers/acpi/video.ko \
+ $(LINUX_DIR)/drivers/platform/x86/wmi.ko
+ AUTOLOAD:=$(call AutoProbe,wmi video)
+endef
+
+define KernelPackage/acpi-video/description
+ Kernel support for integrated graphics devices.
+endef
+
+$(eval $(call KernelPackage,acpi-video))
+
define KernelPackage/backlight
SUBMENU:=$(VIDEO_MENU)
TITLE:=Backlight support
SUBMENU:=$(VIDEO_MENU)
TITLE:=Direct Rendering Manager (DRM) support
HIDDEN:=1
- DEPENDS:=+kmod-dma-buf +kmod-i2c-core
+ DEPENDS:=+kmod-dma-buf +kmod-i2c-core +PACKAGE_kmod-backlight:kmod-backlight \
+ +kmod-fb
KCONFIG:=CONFIG_DRM
FILES:= \
$(LINUX_DIR)/drivers/gpu/drm/drm.ko \
- $(LINUX_DIR)/drivers/gpu/drm/drm_panel_orientation_quirks.ko@ge4.15
+ $(LINUX_DIR)/drivers/gpu/drm/drm_panel_orientation_quirks.ko
AUTOLOAD:=$(call AutoLoad,05,drm)
endef
$(eval $(call KernelPackage,drm))
+define KernelPackage/drm-buddy
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=A page based buddy allocator
+ DEPENDS:=@DISPLAY_SUPPORT +kmod-drm @LINUX_6_1||LINUX_6_6
+ KCONFIG:=CONFIG_DRM_BUDDY
+ FILES:= $(LINUX_DIR)/drivers/gpu/drm/drm_buddy.ko
+ AUTOLOAD:=$(call AutoProbe,drm_buddy)
+endef
+
+define KernelPackage/drm-buddy/description
+ A page based buddy allocator
+endef
+
+$(eval $(call KernelPackage,drm-buddy))
+
+define KernelPackage/drm-display-helper
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=DRM helpers for display adapters drivers
+ DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper @LINUX_6_1||LINUX_6_6
+ KCONFIG:=CONFIG_DRM_DISPLAY_HELPER
+ FILES:=$(LINUX_DIR)/drivers/gpu/drm/display/drm_display_helper.ko
+ AUTOLOAD:=$(call AutoProbe,drm_display_helper)
+endef
+
+define KernelPackage/drm-display-helper/description
+ DRM helpers for display adapters drivers.
+endef
+
+$(eval $(call KernelPackage,drm-display-helper))
+
+define KernelPackage/drm-exec
+ SUBMENU:=$(VIDEO_MENU)
+ HIDDEN:=1
+ TITLE:=Execution context for command submissions
+ DEPENDS:=@DISPLAY_SUPPORT +kmod-drm @LINUX_6_6
+ KCONFIG:=CONFIG_DRM_EXEC
+ FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_exec.ko
+ AUTOLOAD:=$(call AutoProbe,drm_exec)
+endef
+
+define KernelPackage/drm-exec/description
+ Execution context for command submissions.
+endef
+
+$(eval $(call KernelPackage,drm-exec))
+
define KernelPackage/drm-ttm
SUBMENU:=$(VIDEO_MENU)
TITLE:=GPU memory management subsystem
$(eval $(call KernelPackage,drm-ttm))
+
+define KernelPackage/drm-ttm-helper
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=Helpers for ttm-based gem objects
+ HIDDEN:=1
+ DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-ttm
+ KCONFIG:=CONFIG_DRM_TTM_HELPER
+ FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_ttm_helper.ko
+ AUTOLOAD:=$(call AutoProbe,drm_ttm_helper)
+endef
+
+$(eval $(call KernelPackage,drm-ttm-helper))
+
+
define KernelPackage/drm-kms-helper
SUBMENU:=$(VIDEO_MENU)
TITLE:=CRTC helpers for KMS drivers
$(eval $(call KernelPackage,drm-kms-helper))
+define KernelPackage/drm-suballoc-helper
+ SUBMENU:=$(VIDEO_MENU)
+ HIDDEN:=1
+ TITLE:=DRM suballocation helper
+ DEPENDS:=@DISPLAY_SUPPORT +kmod-drm @LINUX_6_6
+ KCONFIG:=CONFIG_DRM_SUBALLOC_HELPER
+ FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_suballoc_helper.ko
+ AUTOLOAD:=$(call AutoProbe,drm_suballoc_helper)
+endef
+
+define KernelPackage/drm-suballoc-helper/description
+ DRM suballocation helper.
+endef
+
+$(eval $(call KernelPackage,drm-suballoc-helper))
+
define KernelPackage/drm-amdgpu
SUBMENU:=$(VIDEO_MENU)
TITLE:=AMDGPU DRM support
DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-ttm \
- +kmod-drm-kms-helper +kmod-i2c-algo-bit +amdgpu-firmware
+ +kmod-drm-ttm-helper +kmod-drm-kms-helper +kmod-i2c-algo-bit +amdgpu-firmware \
+ +kmod-drm-display-helper +kmod-drm-buddy +kmod-acpi-video
KCONFIG:=CONFIG_DRM_AMDGPU \
CONFIG_DRM_AMDGPU_SI=y \
CONFIG_DRM_AMDGPU_CIK=y \
CONFIG_DRM_AMD_DC=y \
CONFIG_DEBUG_KERNEL_DC=n
FILES:=$(LINUX_DIR)/drivers/gpu/drm/amd/amdgpu/amdgpu.ko \
- $(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko@ge4.15 \
- $(LINUX_DIR)/drivers/gpu/drm/amd/lib/chash.ko@ge4.15
+ $(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko \
+ $(LINUX_DIR)/drivers/gpu/drm/amd/amdxcp/amdxcp.ko@ge6.5
AUTOLOAD:=$(call AutoProbe,amdgpu)
endef
define KernelPackage/drm-imx
SUBMENU:=$(VIDEO_MENU)
TITLE:=Freescale i.MX DRM support
- DEPENDS:=@TARGET_imx6 +kmod-drm-kms-helper
+ DEPENDS:=@TARGET_imx +kmod-drm-kms-helper
KCONFIG:=CONFIG_DRM_IMX \
CONFIG_DRM_FBDEV_EMULATION=y \
CONFIG_DRM_FBDEV_OVERALLOC=100 \
CONFIG_DRM_IMX_HDMI=n
FILES:= \
$(LINUX_DIR)/drivers/gpu/drm/imx/imxdrm.ko \
+ $(LINUX_DIR)/drivers/gpu/drm/drm_dma_helper.ko@ge6.1 \
$(LINUX_DIR)/drivers/gpu/ipu-v3/imx-ipu-v3.ko
AUTOLOAD:=$(call AutoLoad,08,imxdrm imx-ipu-v3 imx-ipuv3-crtc)
endef
define KernelPackage/drm-imx-hdmi
SUBMENU:=$(VIDEO_MENU)
TITLE:=Freescale i.MX HDMI DRM support
- DEPENDS:=+kmod-sound-core kmod-drm-imx
+ DEPENDS:=+kmod-sound-core kmod-drm-imx +LINUX_6_1:kmod-drm-display-helper
KCONFIG:=CONFIG_DRM_IMX_HDMI \
CONFIG_DRM_DW_HDMI_AHB_AUDIO \
CONFIG_DRM_DW_HDMI_I2S_AUDIO
CONFIG_DRM_PANEL_S6E8AA0=n \
CONFIG_DRM_PANEL_SITRONIX_ST7789V=n
FILES:=$(LINUX_DIR)/drivers/gpu/drm/imx/imx-ldb.ko \
- $(LINUX_DIR)/drivers/gpu/drm/panel/panel-simple.ko
+ $(LINUX_DIR)/drivers/gpu/drm/panel/panel-simple.ko \
+ $(LINUX_DIR)/drivers/gpu/drm/drm_dp_aux_bus.ko@lt6.1
AUTOLOAD:=$(call AutoLoad,08,imx-ldb)
endef
SUBMENU:=$(VIDEO_MENU)
TITLE:=Radeon DRM support
DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper \
- +kmod-drm-ttm +kmod-i2c-algo-bit +radeon-firmware
+ +kmod-drm-ttm +kmod-drm-ttm-helper +kmod-i2c-algo-bit +radeon-firmware \
+ +kmod-drm-display-helper +kmod-acpi-video
KCONFIG:=CONFIG_DRM_RADEON
FILES:=$(LINUX_DIR)/drivers/gpu/drm/radeon/radeon.ko
AUTOLOAD:=$(call AutoProbe,radeon)
define KernelPackage/video-core
SUBMENU:=$(VIDEO_MENU)
TITLE=Video4Linux support
- DEPENDS:=@PCI_SUPPORT||USB_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
+ DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core
KCONFIG:= \
CONFIG_MEDIA_SUPPORT \
CONFIG_MEDIA_CAMERA_SUPPORT=y \
CONFIG_VIDEO_DEV \
- CONFIG_VIDEO_V4L1=y \
- CONFIG_VIDEO_ALLOW_V4L1=y \
- CONFIG_VIDEO_CAPTURE_DRIVERS=y \
- CONFIG_V4L_USB_DRIVERS=y \
- CONFIG_V4L_PCI_DRIVERS=y \
CONFIG_V4L_PLATFORM_DRIVERS=y \
- CONFIG_V4L_ISA_PARPORT_DRIVERS=y
+ CONFIG_MEDIA_PLATFORM_DRIVERS=y@ge6.1
FILES:= \
- $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-common.ko \
$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videodev.ko
- AUTOLOAD:=$(call AutoLoad,60, videodev v4l2-common)
+ AUTOLOAD:=$(call AutoLoad,60,videodev)
endef
define KernelPackage/video-core/description
CONFIG_MEDIA_CAMERA_SUPPORT=y
endef
+define AddDepends/framegrabber
+$(AddDepends/video)
+ KCONFIG+=CONFIG_MEDIA_PCI_SUPPORT=y
+endef
define KernelPackage/video-videobuf2
TITLE:=videobuf2 lib
KCONFIG:= \
CONFIG_VIDEOBUF2_CORE \
CONFIG_VIDEOBUF2_MEMOPS \
+ CONFIG_VIDEOBUF2_V4L2 \
CONFIG_VIDEOBUF2_VMALLOC
FILES:= \
- $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-core.ko@lt4.16 \
- $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-v4l2.ko@lt4.16 \
- $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-memops.ko@lt4.16 \
- $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-vmalloc.ko@lt4.16 \
- $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-common.ko@ge4.16 \
- $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-v4l2.ko@ge4.16 \
- $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-memops.ko@ge4.16 \
- $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-vmalloc.ko@ge4.16
+ $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-common.ko \
+ $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-v4l2.ko \
+ $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-memops.ko \
+ $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-vmalloc.ko
AUTOLOAD:=$(call AutoLoad,65,videobuf2-core videobuf-v4l2 videobuf2-memops videobuf2-vmalloc)
$(call AddDepends/video)
endef
define KernelPackage/video-cpia2
TITLE:=CPIA2 video driver
- DEPENDS:=@USB_SUPPORT +kmod-usb-core
+ DEPENDS:=@USB_SUPPORT +kmod-usb-core @LINUX_5_15
KCONFIG:=CONFIG_VIDEO_CPIA2
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/cpia2/cpia2.ko
AUTOLOAD:=$(call AutoProbe,cpia2)
define KernelPackage/video-uvc
TITLE:=USB Video Class (UVC) support
DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-videobuf2 +kmod-input-core
- KCONFIG:= CONFIG_USB_VIDEO_CLASS
- FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/uvc/uvcvideo.ko
- AUTOLOAD:=$(call AutoProbe,uvcvideo)
+ KCONFIG:= CONFIG_USB_VIDEO_CLASS CONFIG_UVC_COMMON@ge6.3
+ FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/uvc/uvcvideo.ko \
+ $(LINUX_DIR)/drivers/media/common/uvc.ko@ge6.3
+ AUTOLOAD:=$(call AutoProbe,uvc@ge6.3 uvcvideo)
$(call AddDepends/camera)
endef
define KernelPackage/video-gspca-core
MENU:=1
TITLE:=GSPCA webcam core support framework
- DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-input-core +!LINUX_4_14:kmod-video-videobuf2
+ DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-input-core +kmod-video-videobuf2
KCONFIG:=CONFIG_USB_GSPCA
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_main.ko
AUTOLOAD:=$(call AutoProbe,gspca_main)
$(eval $(call KernelPackage,video-gspca-sq905c))
+define KernelPackage/video-gspca-sq930x
+ TITLE:=sq930x webcam support
+ KCONFIG:=CONFIG_USB_GSPCA_SQ930X
+ FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sq930x.ko
+ AUTOLOAD:=$(call AutoProbe,gspca_sq930x)
+ $(call AddDepends/camera-gspca)
+endef
+
+define KernelPackage/video-gspca-sq930x/description
+ The SQ Technologies SQ930X based USB Camera Driver (sq930x) kernel module
+endef
+
+$(eval $(call KernelPackage,video-gspca-sq930x))
+
+
define KernelPackage/video-gspca-stk014
TITLE:=stk014 webcam support
KCONFIG:=CONFIG_USB_GSPCA_STK014
endef
$(eval $(call KernelPackage,video-gspca-konica))
+
+#
+# Video Processing
+#
+
+define KernelPackage/video-mem2mem
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=Memory 2 Memory device support
+ HIDDEN:=1
+ DEPENDS:=+kmod-video-videobuf2
+ KCONFIG:= \
+ CONFIG_V4L_MEM2MEM_DRIVERS=y \
+ CONFIG_V4L2_MEM2MEM_DEV
+ FILES:= $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-mem2mem.ko
+ AUTOLOAD:=$(call AutoLoad,66,v4l2-mem2mem)
+ $(call AddDepends/video)
+endef
+
+define KernelPackage/video-mem2mem/description
+ Memory 2 memory device support
+endef
+
+$(eval $(call KernelPackage,video-mem2mem))
+
+define KernelPackage/video-dma
+ SUBMENU:=$(VIDEO_MENU)
+ TITLE:=Video DMA support
+ HIDDEN:=1
+ DEPENDS:=+kmod-video-videobuf2
+ KCONFIG:= \
+ CONFIG_VIDEOBUF2_DMA_CONTIG \
+ CONFIG_VIDEOBUF2_DMA_SG
+ FILES:= $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-dma-*.ko
+ AUTOLOAD:=$(call AutoLoad,66,videobuf2-dma-contig videobuf2-dma-sg)
+ $(call AddDepends/video)
+endef
+
+define KernelPackage/video-dma/description
+ Video DMA support
+endef
+
+$(eval $(call KernelPackage,video-dma))
+
+define KernelPackage/video-coda
+ TITLE:=i.MX VPU support
+ DEPENDS:=@(TARGET_imx&&!TARGET_imx_cortexa7) +kmod-video-mem2mem +kmod-video-dma
+ KCONFIG:= \
+ CONFIG_VIDEO_CODA \
+ CONFIG_VIDEO_IMX_VDOA
+ FILES:= \
+ $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/coda/coda-vpu.ko@lt6.1 \
+ $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda-vpu.ko@ge6.1 \
+ $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/coda/imx-vdoa.ko@lt6.1 \
+ $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/imx-vdoa.ko@ge6.1 \
+ $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-jpeg.ko
+ AUTOLOAD:=$(call AutoProbe,coda-vpu imx-vdoa v4l2-jpeg)
+ $(call AddDepends/video)
+endef
+
+define KernelPackage/video-coda/description
+ The i.MX Video Processing Unit (VPU) kernel module
+endef
+
+$(eval $(call KernelPackage,video-coda))
+
+define KernelPackage/video-pxp
+ TITLE:=i.MX PXP support
+ DEPENDS:=@TARGET_imx +kmod-video-mem2mem +kmod-video-dma
+ KCONFIG:= CONFIG_VIDEO_IMX_PXP
+ FILES:= $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/imx-pxp.ko@lt6.1 \
+ $(LINUX_DIR)/drivers/media/platform/nxp/imx-pxp.ko@ge6.1
+ AUTOLOAD:=$(call AutoProbe,imx-pxp)
+ $(call AddDepends/video)
+endef
+
+define KernelPackage/video-pxp/description
+ The i.MX Pixel Pipeline (PXP) kernel module
+ This enables hardware accelerated support for image
+ Colour Conversion, Scaling and Rotation
+endef
+
+$(eval $(call KernelPackage,video-pxp))
+
+define KernelPackage/video-tw686x
+ TITLE:=TW686x support
+ DEPENDS:=@PCIE_SUPPORT +kmod-video-dma +kmod-sound-core
+ KCONFIG:= CONFIG_VIDEO_TW686X
+ FILES:= $(LINUX_DIR)/drivers/media/pci/tw686x/tw686x.ko
+ AUTOLOAD:=$(call AutoProbe,tw686x)
+ MODPARAMS.tw686x:=dma_mode=contig
+ $(call AddDepends/framegrabber)
+endef
+
+define KernelPackage/video-tw686x/description
+ The Intersil/Techwell TW686x kernel module
+endef
+
+$(eval $(call KernelPackage,video-tw686x))