diff options
| author | Mark Hatle <mark.hatle@amd.com> | 2022-11-02 16:02:53 -0500 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@amd.com> | 2022-11-02 17:25:45 -0700 |
| commit | df098519ce694a2463cb8b50c61dcdbffdd47ccd (patch) | |
| tree | 372449ae207c9f5acfab49b1256db920a80cb88d | |
| parent | 4430fb09b7ac3344513885f1f589aadd36fb3d08 (diff) | |
| download | meta-xilinx-df098519ce694a2463cb8b50c61dcdbffdd47ccd.tar.gz | |
vcu: Add initial 2023.1 branch
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
4 files changed, 171 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb new file mode 100644 index 00000000..a78d0642 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | SUMMARY = "Linux kernel module for Video Code Unit" | ||
| 2 | DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" | ||
| 3 | SECTION = "kernel/modules" | ||
| 4 | LICENSE = "GPL-2.0-only" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
| 6 | |||
| 7 | XILINX_VCU_VERSION = "1.0.0" | ||
| 8 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
| 9 | |||
| 10 | S = "${WORKDIR}/git" | ||
| 11 | |||
| 12 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | ||
| 13 | |||
| 14 | BRANCH = "master" | ||
| 15 | REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" | ||
| 16 | SRCREV = "89d65e65e4fe21c4a6731796efcad8d24be7178e" | ||
| 17 | |||
| 18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 19 | SRC_URI = " \ | ||
| 20 | ${REPO};${BRANCHARG} \ | ||
| 21 | file://99-vcu-enc-dec.rules \ | ||
| 22 | " | ||
| 23 | |||
| 24 | inherit module | ||
| 25 | |||
| 26 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
| 27 | |||
| 28 | RDEPENDS:${PN} = "vcu-firmware" | ||
| 29 | |||
| 30 | COMPATIBLE_MACHINE = "^$" | ||
| 31 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
| 32 | |||
| 33 | KERNEL_MODULE_AUTOLOAD += "dmaproxy" | ||
| 34 | |||
| 35 | do_install:append() { | ||
| 36 | install -d ${D}${sysconfdir}/udev/rules.d | ||
| 37 | install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ | ||
| 38 | } | ||
| 39 | |||
| 40 | FILES:${PN} = "${sysconfdir}/udev/rules.d/*" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb new file mode 100644 index 00000000..5a7233da --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | SUMMARY = "OpenMAX Integration layer for VCU" | ||
| 2 | DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493" | ||
| 5 | |||
| 6 | XILINX_VCU_VERSION = "1.0.0" | ||
| 7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
| 8 | |||
| 9 | BRANCH ?= "master" | ||
| 10 | REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" | ||
| 11 | SRCREV = "54ebcd9e8ffab916f136af9c7b343af535d6a614" | ||
| 12 | |||
| 13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 14 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 15 | |||
| 16 | S = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | COMPATIBLE_MACHINE = "^$" | ||
| 19 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
| 20 | |||
| 21 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | ||
| 22 | |||
| 23 | DEPENDS = "libvcu-xlnx" | ||
| 24 | RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx" | ||
| 25 | |||
| 26 | EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" | ||
| 27 | |||
| 28 | EXTRA_OEMAKE = " \ | ||
| 29 | CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ | ||
| 30 | EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ | ||
| 31 | " | ||
| 32 | |||
| 33 | do_install() { | ||
| 34 | install -d ${D}${libdir} | ||
| 35 | install -d ${D}${includedir}/vcu-omx-il | ||
| 36 | |||
| 37 | install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il | ||
| 38 | |||
| 39 | install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder | ||
| 40 | install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder | ||
| 41 | |||
| 42 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ | ||
| 43 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ | ||
| 44 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ | ||
| 45 | } | ||
| 46 | |||
| 47 | # These libraries shouldn't get installed in world builds unless something | ||
| 48 | # explicitly depends upon them. | ||
| 49 | |||
| 50 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb new file mode 100644 index 00000000..cc1068f3 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | SUMMARY = "Control Software for VCU" | ||
| 2 | DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493" | ||
| 5 | |||
| 6 | XILINX_VCU_VERSION = "1.0.0" | ||
| 7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
| 8 | |||
| 9 | BRANCH ?= "master" | ||
| 10 | REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" | ||
| 11 | SRCREV = "2a11b9d4677e5b57a5aa25223e31698a0785f649" | ||
| 12 | |||
| 13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 14 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 15 | |||
| 16 | S = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | COMPATIBLE_MACHINE = "^$" | ||
| 19 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
| 20 | |||
| 21 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | ||
| 22 | |||
| 23 | RDEPENDS:${PN} = "kernel-module-vcu" | ||
| 24 | |||
| 25 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
| 26 | |||
| 27 | do_install() { | ||
| 28 | install -d ${D}${libdir} | ||
| 29 | install -d ${D}${includedir}/vcu-ctrl-sw/include | ||
| 30 | |||
| 31 | install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder | ||
| 32 | install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder | ||
| 33 | |||
| 34 | oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include | ||
| 35 | oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ | ||
| 36 | oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ | ||
| 37 | } | ||
| 38 | |||
| 39 | # These libraries shouldn't get installed in world builds unless something | ||
| 40 | # explicitly depends upon them. | ||
| 41 | |||
| 42 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb new file mode 100644 index 00000000..4d058162 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | SUMMARY = "Firmware for VCU" | ||
| 2 | DESCRIPTION = "Firmware binaries provider for VCU" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498" | ||
| 5 | |||
| 6 | XILINX_VCU_VERSION = "1.0.0" | ||
| 7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
| 8 | |||
| 9 | S = "${WORKDIR}/git" | ||
| 10 | |||
| 11 | BRANCH ?= "master" | ||
| 12 | REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" | ||
| 13 | SRCREV = "d59b5f22ea9b6eac7b402c1381b8e49702837064" | ||
| 14 | |||
| 15 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 16 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 17 | |||
| 18 | COMPATIBLE_MACHINE = "^$" | ||
| 19 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
| 20 | |||
| 21 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | ||
| 22 | |||
| 23 | do_install() { | ||
| 24 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw | ||
| 25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw | ||
| 26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw | ||
| 27 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw | ||
| 28 | } | ||
| 29 | |||
| 30 | # Inhibit warnings about files being stripped | ||
| 31 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 32 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 33 | FILES:${PN} = "/lib/firmware/*" | ||
| 34 | |||
| 35 | # These libraries shouldn't get installed in world builds unless something | ||
| 36 | # explicitly depends upon them. | ||
| 37 | EXCLUDE_FROM_WORLD = "1" | ||
| 38 | |||
| 39 | INSANE_SKIP:${PN} = "ldflags" | ||
