From dc96cae4b70252a7d5f0aff5ac3d4f9ab52889b9 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 14 Mar 2023 14:57:48 -0500 Subject: vcu and vdu: Branch recipes to 2023.2 Signed-off-by: Mark Hatle --- .../vcu/kernel-module-vcu_2023.2.bb | 39 ++++++++++++++++ .../recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb | 51 +++++++++++++++++++++ .../recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb | 44 ++++++++++++++++++ .../recipes-multimedia/vcu/vcu-firmware_2023.2.bb | 38 ++++++++++++++++ .../vdu/kernel-module-vdu_2023.2.bb | 41 +++++++++++++++++ .../recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb | 44 ++++++++++++++++++ .../recipes-multimedia/vdu/libvdu-omxil_2023.2.bb | 53 ++++++++++++++++++++++ .../recipes-multimedia/vdu/vdu-firmware_2023.2.bb | 42 +++++++++++++++++ 8 files changed, 352 insertions(+) create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb create mode 100755 meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb create mode 100755 meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb create mode 100755 meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb create mode 100755 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb new file mode 100644 index 00000000..77dabe19 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb @@ -0,0 +1,39 @@ +SUMMARY = "Linux kernel module for Video Code Unit" +DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" +SECTION = "kernel/modules" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +S = "${WORKDIR}/git" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +BRANCH = "master" +REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" +SRCREV = "9295f18e8a1a1bcb1a5287b3c1093f98bf9e922f" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = " \ + ${REPO};${BRANCHARG} \ + file://99-vcu-enc-dec.rules \ + " + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" + +RDEPENDS:${PN} = "vcu-firmware" + +KERNEL_MODULE_AUTOLOAD += "dmaproxy" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ +} + +FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb new file mode 100644 index 00000000..4e2cd86a --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb @@ -0,0 +1,51 @@ +SUMMARY = "OpenMAX Integration layer for VCU" +DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5375796c5ae4ee85ea1f2c1603e58509" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" +SRCREV = "59c4131db87b8c2426ea7e304eeb2847f30c4ded" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "libvcu-xlnx" +RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx" + +EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" + +EXTRA_OEMAKE = " \ + CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ + EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ + " + +do_install() { + install -d ${D}${libdir} + install -d ${D}${includedir}/vcu-omx-il + + install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il + + install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder + install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder + + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb new file mode 100644 index 00000000..b2931886 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb @@ -0,0 +1,44 @@ +SUMMARY = "Control Software for VCU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5375796c5ae4ee85ea1f2c1603e58509" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" +SRCREV = "83aabb84c26667f7d6aee632654c63e504838061" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +RDEPENDS:${PN} = "kernel-module-vcu" + +EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" + +do_install() { + install -d ${D}${libdir} + install -d ${D}${includedir}/vcu-ctrl-sw/include + + install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder + install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder + + oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include + oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" + +# Disable buildpaths QA check warnings. +INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb new file mode 100644 index 00000000..5a4852f8 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb @@ -0,0 +1,38 @@ +SUMMARY = "Firmware for VCU" +DESCRIPTION = "Firmware binaries provider for VCU" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6da65299754e921b31f03e9b11d77a74" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +S = "${WORKDIR}/git" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" +SRCREV = "c90288595ac9a12ff401de6dfa680b1f9adce5f6" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +do_install() { + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw +} + +# Inhibit warnings about files being stripped +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +FILES:${PN} = "/lib/firmware/*" + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. +EXCLUDE_FROM_WORLD = "1" + +INSANE_SKIP:${PN} = "ldflags" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb new file mode 100755 index 00000000..a9aff458 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb @@ -0,0 +1,41 @@ +SUMMARY = "Linux kernel module for Video Decode Unit" +DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" +SECTION = "kernel/modules" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +XILINX_VDU_VERSION = "1.0.0" +PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" + +S = "${WORKDIR}/git" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" +SRCREV ?= "82d06e395c93a1e941b83cccbb6f2e4e6d966f1c" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG} \ + file://99-vdu-enc-dec.rules \ +" + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" + +RDEPENDS:${PN} = "vdu-firmware" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-vdu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ +} + +FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb new file mode 100755 index 00000000..db7dde27 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb @@ -0,0 +1,44 @@ +SUMMARY = "Control Software for VDU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f" + +XILINX_VDU_VERSION = "1.0.0" +PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" +SRCREV ?= "7f87371a010c22fb0019abe92c7590cd3c08d13f" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" + +RDEPENDS:${PN} = "kernel-module-vdu" + +do_compile[dirs] = "${S}" +do_install[dirs] = "${S}" + +EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" +EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}" + +do_install:append() { + + oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb new file mode 100755 index 00000000..4b140ab0 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb @@ -0,0 +1,53 @@ +SUMMARY = "OpenMAX Integration layer for VDU" +DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f" + +XILINX_VDU_VERSION = "1.0.0" +PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" +SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG} \ + " +S = "${WORKDIR}/git" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" + +DEPENDS = "libvdu-ctrlsw" +RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw" + +EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include" + +do_compile[dirs] = "${S}" +do_install[dirs] = "${S}" + +EXTRA_OEMAKE = " \ + CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ + EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ + INSTALL_PATH=${D}${bindir} \ + INCLUDE_INST_PATH=${D}${includedir} \ + " + +do_install:append() { + install -d ${D}${libdir} + + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb new file mode 100755 index 00000000..39265a5d --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb @@ -0,0 +1,42 @@ +SUMMARY = "Firmware for VDU" +DESCRIPTION = "Firmware binaries provider for VDU" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c5784f63397086d836580d8785d1deb9" + +XILINX_VDU_VERSION = "1.0.0" +PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" +SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" +EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" + +do_compile[noexec] = "1" +do_install[dirs] = "${S}" + +# Inhibit warnings about files being stripped +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +FILES:${PN} = "/lib/firmware/*" + + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. +EXCLUDE_FROM_WORLD = "1" + +INSANE_SKIP:${PN} = "ldflags" -- cgit v1.2.3-54-g00ecf