diff options
author | Mark Hatle <mark.hatle@xilinx.com> | 2021-12-15 13:52:16 -0800 |
---|---|---|
committer | Mark Hatle <mark.hatle@xilinx.com> | 2021-12-22 08:19:01 -0800 |
commit | 322e23dc213d51a12345ca705b3776f189dc413f (patch) | |
tree | e257ca97fa6d3eef83c845b67d711b2d8ecba5ba /meta-xilinx-core/recipes-multimedia/vcu | |
parent | dd95dde009dc7968f6e6e4c0609e7b443c55c627 (diff) | |
download | meta-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')
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 @@ | |||
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 | 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-modules.git;protocol=https" | ||
14 | SRCREV = "36e0fe61a5aa6bb667c4514304558c6a2b3016bd" | ||
15 | |||
16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
18 | |||
19 | inherit module | ||
20 | |||
21 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
22 | |||
23 | RDEPENDS:${PN} = "vcu-firmware" | ||
24 | |||
25 | COMPATIBLE_MACHINE = "^$" | ||
26 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
27 | |||
28 | KERNEL_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 @@ | |||
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-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
8 | |||
9 | BRANCH ?= "master" | ||
10 | REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" | ||
11 | SRCREV = "a9d452e772da6bc43f524230c79e6dc0f2442fd7" | ||
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.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 @@ | |||
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-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
8 | |||
9 | BRANCH ?= "master" | ||
10 | REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" | ||
11 | SRCREV = "0c2921d91c94fc041cfb07ae92ab033fff87be51" | ||
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.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 @@ | |||
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-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | BRANCH ?= "master" | ||
12 | REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" | ||
13 | SRCREV = "569f980527fd58f43baf16bd0b294bf8c7cdf963" | ||
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" | ||