summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/recipes-multimedia/vcu
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2021-12-15 13:52:16 -0800
committerMark Hatle <mark.hatle@xilinx.com>2021-12-22 08:19:01 -0800
commit322e23dc213d51a12345ca705b3776f189dc413f (patch)
treee257ca97fa6d3eef83c845b67d711b2d8ecba5ba /meta-xilinx-core/recipes-multimedia/vcu
parentdd95dde009dc7968f6e6e4c0609e7b443c55c627 (diff)
downloadmeta-xilinx-322e23dc213d51a12345ca705b3776f189dc413f.tar.gz
Initial restructure/split of meta-xilinx-bsp
Create a new meta-xilinx-core, move core functionality to the core, keeping board specific files in the bsp layer. zynqmp-generic changed from require <board> to include, so if meta-xilinx-bsp is not available it will not fail. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Diffstat (limited to 'meta-xilinx-core/recipes-multimedia/vcu')
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu.bb28
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb50
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx.bb42
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware.bb39
4 files changed, 159 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu.bb
new file mode 100644
index 00000000..c91687c7
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu.bb
@@ -0,0 +1,28 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VCU_VERSION = "1.0.0"
8PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH = "master"
13REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
14SRCREV = "36e0fe61a5aa6bb667c4514304558c6a2b3016bd"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22
23RDEPENDS:${PN} = "vcu-firmware"
24
25COMPATIBLE_MACHINE = "^$"
26COMPATIBLE_MACHINE:zynqmp = "zynqmp"
27
28KERNEL_MODULE_AUTOLOAD += "dmaproxy"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb
new file mode 100644
index 00000000..f86fc3ed
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx.bb
@@ -0,0 +1,50 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
8
9BRANCH ?= "master"
10REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
11SRCREV = "a9d452e772da6bc43f524230c79e6dc0f2442fd7"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_MACHINE = "^$"
19COMPATIBLE_MACHINE:zynqmp = "zynqmp"
20
21PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
22
23DEPENDS = "libvcu-xlnx"
24RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx"
25
26EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
27
28EXTRA_OEMAKE = " \
29 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
30 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
31 "
32
33do_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
50EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx.bb
new file mode 100644
index 00000000..8d48e023
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx.bb
@@ -0,0 +1,42 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
8
9BRANCH ?= "master"
10REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
11SRCREV = "0c2921d91c94fc041cfb07ae92ab033fff87be51"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_MACHINE = "^$"
19COMPATIBLE_MACHINE:zynqmp = "zynqmp"
20
21PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
22
23RDEPENDS:${PN} = "kernel-module-vcu"
24
25EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
26
27do_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
42EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware.bb
new file mode 100644
index 00000000..1d675cbf
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11BRANCH ?= "master"
12REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
13SRCREV = "569f980527fd58f43baf16bd0b294bf8c7cdf963"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18COMPATIBLE_MACHINE = "^$"
19COMPATIBLE_MACHINE:zynqmp = "zynqmp"
20
21PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
22
23do_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
31INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
32INHIBIT_PACKAGE_STRIP = "1"
33FILES:${PN} = "/lib/firmware/*"
34
35# These libraries shouldn't get installed in world builds unless something
36# explicitly depends upon them.
37EXCLUDE_FROM_WORLD = "1"
38
39INSANE_SKIP:${PN} = "ldflags"