summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevarsh Thakkar <devarsht@xilinx.com>2018-04-10 10:41:41 -0700
committerManjukumar Matha <manjukumar.harthikote-matha@xilinx.com>2018-05-25 11:26:28 -0700
commit1e5fda195b960687e9414ba125cf4f3499cd6052 (patch)
tree1b3ed74cf4dd013e72abccac12065571a23c1446
parente889ed64692aa2bbfa0d12a750621b3d8281f019 (diff)
downloadmeta-xilinx-1e5fda195b960687e9414ba125cf4f3499cd6052.tar.gz
recipes-multimedia/vcu/*.bb: Introduce hwcodec and required firmware, ko and software libraries for VCU
Add new recipes for the following: vcu-firmware_git.bb: Add a new recipe to fetch the required firmware binaries for VCU kernel-module-vcu_git.bb: Add new recipe for out-of-tree kernel module required for VCU decoder, encoder. This is applicable to MPSoC EV devices which support Video Codec Unit libvcu-xlnx_git.bb: Add a new recipe for control software libraries, test applications and headers for VCU libomxil-xlnx_git.bb: Add VCU hwcodec, this contain the OpenMAX libraries, test applications and headers for VCU Signed-off-by: Devarsh Thakkar <devarsht@xilinx.com> Signed-off-by: Jeegar Patel <jeegar.patel@xilinx.com> Tested-by: Maulik Desai <maulik.desai@xilinx.com> Acked-by: Varunkumar Allagadapa <varunkum@xilinx.com> Reviewed-by: Bhargava Sreekantappa Gayathri <bhargava.sreekantappa-gayathri@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-rw-r--r--meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb27
-rw-r--r--meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb49
-rw-r--r--meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb41
-rw-r--r--meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb38
4 files changed, 155 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb b/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
new file mode 100644
index 00000000..06f20090
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
@@ -0,0 +1,27 @@
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"
8XILINX_RELEASE_VERSION = "2018.1"
9PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
10
11S = "${WORKDIR}/git"
12
13BRANCH ?= "master"
14REPO ?= "git://github.com/xilinx/vcu-modules.git;protocol=https"
15SRCREV ?= "646185390cc1850969c0fa3db59fc8f0e511922e"
16
17BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
18SRC_URI = "${REPO};${BRANCHARG}"
19
20inherit module
21
22EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
23
24RDEPENDS_${PN} = "vcu-firmware"
25
26COMPATIBLE_MACHINE = "^$"
27COMPATIBLE_MACHINE_zynqmp = "zynqmp"
diff --git a/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb b/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
new file mode 100644
index 00000000..09f59f1d
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
@@ -0,0 +1,49 @@
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"
7XILINX_RELEASE_VERSION = "2018.1"
8PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
9
10BRANCH ?= "master"
11REPO ?= "git://github.com/xilinx/vcu-omx-il.git;protocol=https"
12SRCREV ?= "68e385ace99ab699feaa50f24b7a78680c411f75"
13
14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
15SRC_URI = "${REPO};${BRANCHARG}"
16
17S = "${WORKDIR}/git"
18
19COMPATIBLE_MACHINE = "^$"
20COMPATIBLE_MACHINE_zynqmp = "zynqmp"
21
22DEPENDS = "libvcu-xlnx"
23RDEPENDS_${PN} = "kernel-module-vcu libvcu-xlnx"
24
25EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
26
27EXTRA_OEMAKE = " \
28 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
29 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
30 "
31
32do_install() {
33 install -d ${D}${libdir}
34 install -d ${D}${includedir}/vcu-omx-il
35
36 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
37
38 install -Dm 0755 ${S}/bin/omx_decoder.exe ${D}/${bindir}/omx_decoder.exe
39 install -Dm 0755 ${S}/bin/omx_encoder.exe ${D}/${bindir}/omx_encoder.exe
40
41 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
42 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
44}
45
46# These libraries shouldn't get installed in world builds unless something
47# explicitly depends upon them.
48
49EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb b/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
new file mode 100644
index 00000000..b3d68cd6
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
@@ -0,0 +1,41 @@
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"
7XILINX_RELEASE_VERSION = "2018.1"
8PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
9
10BRANCH ?= "master"
11REPO ?= "git://github.com/xilinx/vcu-ctrl-sw.git;protocol=https"
12SRCREV = "aa4b6871346c915f28a069190afec5d30963762f"
13
14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
15SRC_URI = "${REPO};${BRANCHARG}"
16
17S = "${WORKDIR}/git"
18
19COMPATIBLE_MACHINE = "^$"
20COMPATIBLE_MACHINE_zynqmp = "zynqmp"
21
22RDEPENDS_${PN} = "kernel-module-vcu"
23
24EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
25
26do_install() {
27 install -d ${D}${libdir}
28 install -d ${D}${includedir}/vcu-ctrl-sw/include
29
30 install -Dm 0755 ${S}/bin/AL_Encoder.exe ${D}/${bindir}/AL_Encoder.exe
31 install -Dm 0755 ${S}/bin/AL_Decoder.exe ${D}/${bindir}/AL_Decoder.exe
32
33 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
34 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
35 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
36}
37
38# These libraries shouldn't get installed in world builds unless something
39# explicitly depends upon them.
40
41EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb b/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
new file mode 100644
index 00000000..3ffe929c
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
@@ -0,0 +1,38 @@
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"
7XILINX_RELEASE_VERSION = "2018.1"
8PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "master"
13REPO ?= "git://github.com/xilinx/vcu-firmware.git;protocol=https"
14SRCREV ?= "7c6f282da07253c1987665846ed676059925ef40"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19COMPATIBLE_MACHINE = "^$"
20COMPATIBLE_MACHINE_zynqmp = "zynqmp"
21
22do_install() {
23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
27}
28
29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1"
32FILES_${PN} = "/lib/firmware/*"
33
34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them.
36EXCLUDE_FROM_WORLD = "1"
37
38INSANE_SKIP_${PN} = "ldflags"