diff options
| author | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2022-12-06 13:13:56 -0800 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@amd.com> | 2022-12-07 20:29:13 -0600 |
| commit | b0f11329f98957bed158e1b8415fb2f72eab72a0 (patch) | |
| tree | ddc616086c2c5ad0ba33c76a830ad0b40ce05725 /meta-xilinx-core | |
| parent | 9f3d0c183239b78a48125e0b02ac8e12602e979c (diff) | |
| download | meta-xilinx-b0f11329f98957bed158e1b8415fb2f72eab72a0.tar.gz | |
vdu: Enable VDU IP in yocto
Enable VDU IP in yocto. Video Decode Unit (VDU) core is a Hard IP in Versal®
AI Edge and Versal® AI Core series. The VDU core has multiple instance decoder
cores (upto four cores) and are implemented as Hard IP in Versal® AI Edge and
Versal® AI Core series. To enable this the following recipes are included:
- kernel-module-vdu
- vdu-firmware
- vdu-ctrlsw
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-core')
3 files changed, 117 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu.bb new file mode 100755 index 00000000..63dab807 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu.bb | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | SUMMARY = "Linux kernel module for Video Decode Unit" | ||
| 2 | DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" | ||
| 3 | SECTION = "kernel/modules" | ||
| 4 | LICENSE = "GPLv2" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
| 6 | |||
| 7 | XILINX_VDU_VERSION = "1.0.0" | ||
| 8 | PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
| 9 | |||
| 10 | S = "${WORKDIR}/git" | ||
| 11 | |||
| 12 | BRANCH ?= "master" | ||
| 13 | REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" | ||
| 14 | SRCREV ?= "a3284231bf46fd32d57d6be35c197eb297e722c8" | ||
| 15 | |||
| 16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 18 | |||
| 19 | inherit module features_check | ||
| 20 | |||
| 21 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 22 | |||
| 23 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
| 24 | |||
| 25 | RDEPENDS:${PN} = "vdu-firmware" | ||
| 26 | |||
| 27 | COMPATIBLE_MACHINE = "^$" | ||
| 28 | COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | ||
| 29 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" | ||
| 30 | |||
| 31 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw.bb new file mode 100755 index 00000000..b2a5abc3 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw.bb | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | SUMMARY = "Control Software for VDU" | ||
| 2 | DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c15ae83ba15c4ab3fa4eb2c22975258f" | ||
| 5 | |||
| 6 | XILINX_VDU_VERSION = "1.0.0" | ||
| 7 | PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
| 8 | |||
| 9 | inherit autotools features_check | ||
| 10 | |||
| 11 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 12 | |||
| 13 | BRANCH ?= "master" | ||
| 14 | REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" | ||
| 15 | SRCREV ?= "30977b11d7464a0472e7c8b7d55ed429daf110df" | ||
| 16 | |||
| 17 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 18 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 19 | |||
| 20 | S = "${WORKDIR}/git" | ||
| 21 | |||
| 22 | COMPATIBLE_MACHINE = "^$" | ||
| 23 | COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | ||
| 24 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" | ||
| 25 | |||
| 26 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | ||
| 27 | |||
| 28 | RDEPENDS:${PN} = "kernel-module-vdu" | ||
| 29 | |||
| 30 | do_compile[dirs] = "${S}" | ||
| 31 | do_install[dirs] = "${S}" | ||
| 32 | |||
| 33 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
| 34 | EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}" | ||
| 35 | |||
| 36 | do_install:append() { | ||
| 37 | |||
| 38 | oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ | ||
| 39 | } | ||
| 40 | |||
| 41 | # These libraries shouldn't get installed in world builds unless something | ||
| 42 | # explicitly depends upon them. | ||
| 43 | |||
| 44 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware.bb new file mode 100755 index 00000000..91a324d9 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware.bb | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | SUMMARY = "Firmware for VDU" | ||
| 2 | DESCRIPTION = "Firmware binaries provider for VDU" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7ab4113b0b7ac6f3bd45429a8a6d5a58" | ||
| 5 | |||
| 6 | XILINX_VDU_VERSION = "1.0.0" | ||
| 7 | PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
| 8 | |||
| 9 | S = "${WORKDIR}/git" | ||
| 10 | |||
| 11 | inherit autotools features_check | ||
| 12 | |||
| 13 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 14 | |||
| 15 | BRANCH ?= "master" | ||
| 16 | REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" | ||
| 17 | SRCREV ?= "3d2ae1d8d9404dc18c64a4358d38ca049011a316" | ||
| 18 | |||
| 19 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 20 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 21 | |||
| 22 | COMPATIBLE_MACHINE = "^$" | ||
| 23 | COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | ||
| 24 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" | ||
| 25 | |||
| 26 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | ||
| 27 | EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" | ||
| 28 | |||
| 29 | do_compile[noexec] = "1" | ||
| 30 | do_install[dirs] = "${S}" | ||
| 31 | |||
| 32 | # Inhibit warnings about files being stripped | ||
| 33 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 34 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 35 | FILES:${PN} = "/lib/firmware/*" | ||
| 36 | |||
| 37 | |||
| 38 | # These libraries shouldn't get installed in world builds unless something | ||
| 39 | # explicitly depends upon them. | ||
| 40 | EXCLUDE_FROM_WORLD = "1" | ||
| 41 | |||
| 42 | INSANE_SKIP:${PN} = "ldflags" | ||
