diff options
author | Devarsh Thakkar <devarsht@xilinx.com> | 2018-04-10 10:41:41 -0700 |
---|---|---|
committer | Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> | 2018-05-25 11:26:28 -0700 |
commit | 1e5fda195b960687e9414ba125cf4f3499cd6052 (patch) | |
tree | 1b3ed74cf4dd013e72abccac12065571a23c1446 | |
parent | e889ed64692aa2bbfa0d12a750621b3d8281f019 (diff) | |
download | meta-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>
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 @@ | |||
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 = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
6 | |||
7 | XILINX_VCU_VERSION = "1.0.0" | ||
8 | XILINX_RELEASE_VERSION = "2018.1" | ||
9 | PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
10 | |||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | BRANCH ?= "master" | ||
14 | REPO ?= "git://github.com/xilinx/vcu-modules.git;protocol=https" | ||
15 | SRCREV ?= "646185390cc1850969c0fa3db59fc8f0e511922e" | ||
16 | |||
17 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
18 | SRC_URI = "${REPO};${BRANCHARG}" | ||
19 | |||
20 | inherit module | ||
21 | |||
22 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
23 | |||
24 | RDEPENDS_${PN} = "vcu-firmware" | ||
25 | |||
26 | COMPATIBLE_MACHINE = "^$" | ||
27 | COMPATIBLE_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 @@ | |||
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 | XILINX_RELEASE_VERSION = "2018.1" | ||
8 | PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
9 | |||
10 | BRANCH ?= "master" | ||
11 | REPO ?= "git://github.com/xilinx/vcu-omx-il.git;protocol=https" | ||
12 | SRCREV ?= "68e385ace99ab699feaa50f24b7a78680c411f75" | ||
13 | |||
14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
15 | SRC_URI = "${REPO};${BRANCHARG}" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | COMPATIBLE_MACHINE = "^$" | ||
20 | COMPATIBLE_MACHINE_zynqmp = "zynqmp" | ||
21 | |||
22 | DEPENDS = "libvcu-xlnx" | ||
23 | RDEPENDS_${PN} = "kernel-module-vcu libvcu-xlnx" | ||
24 | |||
25 | EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" | ||
26 | |||
27 | EXTRA_OEMAKE = " \ | ||
28 | CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ | ||
29 | EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ | ||
30 | " | ||
31 | |||
32 | do_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 | |||
49 | EXCLUDE_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 @@ | |||
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 | XILINX_RELEASE_VERSION = "2018.1" | ||
8 | PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
9 | |||
10 | BRANCH ?= "master" | ||
11 | REPO ?= "git://github.com/xilinx/vcu-ctrl-sw.git;protocol=https" | ||
12 | SRCREV = "aa4b6871346c915f28a069190afec5d30963762f" | ||
13 | |||
14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
15 | SRC_URI = "${REPO};${BRANCHARG}" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | COMPATIBLE_MACHINE = "^$" | ||
20 | COMPATIBLE_MACHINE_zynqmp = "zynqmp" | ||
21 | |||
22 | RDEPENDS_${PN} = "kernel-module-vcu" | ||
23 | |||
24 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
25 | |||
26 | do_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 | |||
41 | EXCLUDE_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 @@ | |||
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 | XILINX_RELEASE_VERSION = "2018.1" | ||
8 | PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | BRANCH ?= "master" | ||
13 | REPO ?= "git://github.com/xilinx/vcu-firmware.git;protocol=https" | ||
14 | SRCREV ?= "7c6f282da07253c1987665846ed676059925ef40" | ||
15 | |||
16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
18 | |||
19 | COMPATIBLE_MACHINE = "^$" | ||
20 | COMPATIBLE_MACHINE_zynqmp = "zynqmp" | ||
21 | |||
22 | do_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 | ||
30 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
31 | INHIBIT_PACKAGE_STRIP = "1" | ||
32 | FILES_${PN} = "/lib/firmware/*" | ||
33 | |||
34 | # These libraries shouldn't get installed in world builds unless something | ||
35 | # explicitly depends upon them. | ||
36 | EXCLUDE_FROM_WORLD = "1" | ||
37 | |||
38 | INSANE_SKIP_${PN} = "ldflags" | ||