diff --git a/README.md b/README.md index af63d4a0a..428b8cad1 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,9 @@ meta-xilinx-tools layer. configurations files, boot firmware, kernel configuration fragments, .scc files, device tree etc. +* **meta-xilinx-multimedia**: layer contains AMD Xilinx specific multimedia packages +including recipes for the fork of GStreamer. + > **See:** AMD Xilinx devices: https://www.xilinx.com/products/silicon-devices.html diff --git a/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf index c3518577f..a9dbe800f 100644 --- a/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf @@ -3,9 +3,7 @@ #@DESCRIPTION: Machine support for ZC1254 Evaluation Board. # -SOC_VARIANT = "dr" - -require conf/machine/zynqmp-generic.conf +require conf/machine/zynqmp-dr-generic.conf # Add board compatibility override MACHINEOVERRIDES .= ":zc1254" diff --git a/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass b/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass index 7466ab5eb..c021ea931 100644 --- a/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass +++ b/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass @@ -23,6 +23,10 @@ QB_DEFAULT_KERNEL:zynq ?= "${@'zImage' if \ QB_DEFAULT_KERNEL:microblaze ?= "${@'simpleImage.mb' if \ d.getVar('INITRAMFS_IMAGE_BUNDLE') != '1' else 'simpleImage.mb-initramfs-${MACHINE}.bin'}" +# https://docs.amd.com/r/en-US/ug1085-zynq-ultrascale-trm/Boot-Modes +# https://docs.amd.com/r/en-US/ug1304-versal-acap-ssdg/Boot-Device-Modes +QB_DEVICE_MODE ?= "-boot mode=5" + inherit qemuboot def qemu_target_binary(data): @@ -46,11 +50,12 @@ def qemu_add_extra_args(data): deploy_dir = data.getVar('DEPLOY_DIR_IMAGE') or "" machine_name = data.getVar('MACHINE') or "" soc_family = data.getVar('SOC_FAMILY') or "" + boot_mode = data.getVar('QB_DEVICE_MODE') or "" qb_extra_args = '' # Add kernel image and boot.scr to qemu boot command when initramfs_image supplied kernel_name = '' bootscr_image = '%s/boot.scr' % deploy_dir - if soc_family in ('zynqmp', 'versal'): + if soc_family in ('zynqmp', 'versal', 'versal-net'): kernel_name = 'Image' bootscr_loadaddr = '0x20000000' if initramfs_image: @@ -61,11 +66,11 @@ def qemu_add_extra_args(data): if kernel_name: qb_extra_args = ' -device loader,file=%s,addr=%s,force-raw=on' % (kernel_image, kernel_loadaddr) qb_extra_args += ' -device loader,file=%s,addr=%s,force-raw=on' % (bootscr_image, bootscr_loadaddr) - if soc_family == 'versal': - qb_extra_args += ' -boot mode=5' + if soc_family in ('versal', 'versal-net'): + qb_extra_args += ' %s' % boot_mode else: - if soc_family in ('zynqmp', 'versal'): - qb_extra_args = ' -boot mode=5' + if soc_family in ('zynqmp', 'versal', 'versal-net'): + qb_extra_args = ' %s' % boot_mode return qb_extra_args def qemu_rootfs_params(data, param): @@ -75,7 +80,6 @@ def qemu_rootfs_params(data, param): tune_features = (data.getVar('TUNE_FEATURES') or []).split() if 'microblaze' in tune_features: soc_family = 'microblaze' - soc_variant = data.getVar('SOC_VARIANT') or "" if param == 'rootfs': return 'none' if bundle_image == "1" else '' @@ -85,7 +89,8 @@ def qemu_rootfs_params(data, param): "microblaze": "cpio.gz", "zynq": "cpio.gz", "zynqmp": "cpio.gz.u-boot", - "versal": "cpio.gz.u-boot.qemu-sd-fatimg" + "versal": "cpio.gz.u-boot.qemu-sd-fatimg", + "versal-net": "cpio.gz.u-boot.qemu-sd-fatimg" } if not initramfs_image: image_fs = data.getVar('IMAGE_FSTYPES') @@ -99,7 +104,7 @@ def qemu_rootfs_params(data, param): sd_index = "1" if soc_family == 'zynq': sd_index = "0" - if soc_family == 'versal' and soc_variant == 'net': + if soc_family == 'versal-net': sd_index = "0" # Device is using a disk diff --git a/meta-xilinx-core/classes/amd_spi_image.bbclass b/meta-xilinx-core/classes/amd_spi_image.bbclass deleted file mode 100644 index ed4c1f87f..000000000 --- a/meta-xilinx-core/classes/amd_spi_image.bbclass +++ /dev/null @@ -1,142 +0,0 @@ -# -# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. -# -# SPDX-License-Identifier: MIT -# - -QSPI_SIZE ?= "0x2280000" - -# Register values -IDN_REG ?= "0x4D554241" -VERSION_REG ?= "0x1" -LENGTH_REG ?= "0x4" -PERSISTENT_REG ?= "0x01010000" - -# QSPI Offsets -IMAGE_SELECTOR_OFFSET ?= "0x0" -IMAGE_SELECTOR_BACKUP_OFFSET ?= "0x80000" -PERSISTENT_REG_OFFSET ?= "0x100000" -PERSISTENT_REG_BACKUP_OFFSET ?= "0x120000" -IMAGE_A_OFFSET ?= "0x200000" -IMAGE_A_IMGSEL_OFFSET ?= "0xF00000" -IMAGE_B_OFFSET ?= "0xF80000" -IMAGE_B_IMGSEL_OFFSET ?= "0x1C80000" -IMAGE_RCVRY_OFFSET ?= "0x1E00000" -IMAGE_RCVRY_BACKUP_OFFSET ?= "0x2000000" -VERSION_OFFSET ?= "0x2240000" -CHECKSUM_OFFSET ?= "0x2250000" - -def generate_spi_image(d): - - import io - import hashlib - import time - - qspi_size = int(d.getVar("QSPI_SIZE") or '0', 0) - int(d.getVar("QSPI_SIZE") or '0', 0) - - # Register values - idn_reg = int(d.getVar("IDN_REG") or '0', 0) - version_reg = int(d.getVar("VERSION_REG") or '0', 0) - length_reg = int(d.getVar("LENGTH_REG") or '0', 0) - persistent_reg = int(d.getVar("PERSISTENT_REG") or '0', 0) - - # QSPI Offsets - image_selector_offset = int(d.getVar("IMAGE_SELECTOR_OFFSET") or '0', 0) - image_selector_backup_offset = int(d.getVar("IMAGE_SELECTOR_BACKUP_OFFSET") or '0', 0) - persistent_reg_offset = int(d.getVar("PERSISTENT_REG_OFFSET") or '0', 0) - persistent_reg_backup_offset = int(d.getVar("PERSISTENT_REG_BACKUP_OFFSET") or '0', 0) - image_a_offset = int(d.getVar("IMAGE_A_OFFSET") or '0', 0) - image_a_imgsel_offset = int(d.getVar("IMAGE_A_IMGSEL_OFFSET") or '0', 0) - image_b_offset = int(d.getVar("IMAGE_B_OFFSET") or '0', 0) - image_b_imgsel_offset = int(d.getVar("IMAGE_B_IMGSEL_OFFSET") or '0', 0) - image_rcvry_offset = int(d.getVar("IMAGE_RCVRY_OFFSET") or '0', 0) - image_rcvry_backup_offset = int(d.getVar("IMAGE_RCVRY_BACKUP_OFFSET") or '0', 0) - version_offset = int(d.getVar("VERSION_OFFSET") or '0', 0) - checksum_offset = int(d.getVar("CHECKSUM_OFFSET") or '0', 0) - - # QSPI data - qspi_data = io.BytesIO() - qspi_data.write(b'\xFF' * qspi_size) - - # Image Selector - Primary, Backup, Image A and Image B - imgsel_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgsel-"+d.getVar("MACHINE")+".bin" - try: - with open(imgsel_file, "rb") as il: - imgsel = il.read(-1) - except OSError as err: - bb.fatal("Unable to open imgsel file: " + str(err)) - - qspi_data.seek(image_selector_offset) - qspi_data.write(imgsel) - qspi_data.seek(image_selector_backup_offset) - qspi_data.write(imgsel) - qspi_data.seek(image_a_imgsel_offset) - qspi_data.write(imgsel) - qspi_data.seek(image_b_imgsel_offset) - qspi_data.write(imgsel) - - # Persistent Registers - Primary and Backup - p_reg = [idn_reg, version_reg, length_reg, persistent_reg, \ - image_a_offset, image_b_offset, image_rcvry_offset] - checksum = 0xffffffff - (0xffffffff & sum(p_reg)) - p_reg.insert(3, checksum) - - qspi_data.seek(persistent_reg_offset) - for value in p_reg: - qspi_data.write(value.to_bytes(4, byteorder="little")) - - qspi_data.seek(persistent_reg_backup_offset) - for value in p_reg: - qspi_data.write(value.to_bytes(4, byteorder="little")) - - # Image A and B - boot.bin - try: - with open(d.getVar("DEPLOY_DIR_IMAGE")+"/boot.bin", "rb") as bo: - bootbin = bo.read(-1) - except OSError as err: - bb.fatal("Unable to open boot.bin file: " + str(err)) - - qspi_data.seek(image_a_offset) - qspi_data.write(bootbin) - qspi_data.seek(image_b_offset) - qspi_data.write(bootbin) - - # Recovery Image & Recovery Image Backup - imgrcry_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgrcry-"+d.getVar("MACHINE")+".bin" - try: - with open(imgrcry_file, "rb") as iy: - imgrcry = iy.read(-1) - except OSError as err: - bb.fatal("Unable to open imgrcry file: " + str(err)) - - qspi_data.seek(image_rcvry_offset) - qspi_data.write(imgrcry) - qspi_data.seek(image_rcvry_backup_offset) - qspi_data.write(imgrcry) - - # Version string and checksum - version = d.getVar("QSPI_IMAGE_VERSION") - date = time.strftime("%m%d%H%M") - machine = d.getVar("MACHINE")[:3] - image_name = d.getVar("QSPI_IMAGE_NAME") - - qspi_version = f"{image_name}-{machine}-v{version}-{date}\x00" - qspi_data.seek(version_offset) - qspi_data.write(qspi_version.encode()) - - qspi_sha = hashlib.sha256(qspi_data.getbuffer()) - qspi_data.seek(checksum_offset) - qspi_data.write(qspi_sha.digest()) - - # Write the QSPI data to file - with open(d.getVar("B") + "/" + d.getVar("IMAGE_NAME") + ".bin", "wb") as sq: - sq.write(qspi_data.getbuffer()) - -do_compile[depends] += "virtual/boot-bin:do_deploy virtual/imgsel:do_deploy virtual/imgrcry:do_deploy" - -python amd_spi_image_do_compile() { - generate_spi_image(d) -} - -EXPORT_FUNCTIONS do_compile diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 349463bfb..2aa0a1a1a 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -44,7 +44,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ XILINX_RELEASE_VERSION ??= "v2024.1" -BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" +BUILDCFG_VARS:append = " XILINX_RELEASE_VERSION" DEFAULT_XILINX_QEMU = "qemu-xilinx" DEFAULT_XILINX_QEMU:arm = "qemu" diff --git a/meta-xilinx-core/conf/machine/README b/meta-xilinx-core/conf/machine/README index de8cf58da..f664a2f08 100644 --- a/meta-xilinx-core/conf/machine/README +++ b/meta-xilinx-core/conf/machine/README @@ -132,8 +132,6 @@ easiy make a local change, if allowed by the machine .conf: UBOOT_MACHINE - The defconfig for u-boot. (Note, this may be an error TBD). -SOC_VARIANT - See include/soc-*.inc (Note, most machines this is fixed). - The following variables must be set AFTER the 'require' line, using '=' or '+='/'=+' as required. Using ':append', ':prepend', or ':remove' will diff --git a/meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc b/meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc deleted file mode 100644 index 5679b9899..000000000 --- a/meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc +++ /dev/null @@ -1,6 +0,0 @@ -include conf/machine/include/arm/armv7r/tune-cortexr5.inc - -AVAILTUNES += "cortexr5hf" -ARMPKGARCH:tune-cortexr5hf = "cortexr5" -TUNE_FEATURES:tune-cortexr5hf = "${TUNE_FEATURES:tune-cortexr5} callconvention-hard" -PACKAGE_EXTRA_ARCHS:tune-cortexr5hf = "cortexr5hf-vfpv3d16" diff --git a/meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc b/meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc deleted file mode 100644 index 8c85d98ef..000000000 --- a/meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc +++ /dev/null @@ -1,16 +0,0 @@ -# -# Tune Settings for Cortex-A78 -# -DEFAULTTUNE ?= "cortexa78" - -TUNEVALID[cortexa78] = "Enable Cortex-A78 specific processor optimizations" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78', ' -mcpu=cortex-a78', '', d)}" - -require conf/machine/include/arm/arch-armv8-2a.inc - -# Little Endian base configs -AVAILTUNES += "cortexa78" -ARMPKGARCH:tune-cortexa78 = "cortexa78" -TUNE_FEATURES:tune-cortexa78 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa78" -PACKAGE_EXTRA_ARCHS:tune-cortexa78 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78" -BASE_LIB:tune-cortexa78 = "lib64" diff --git a/meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc b/meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc deleted file mode 100644 index 42c6fb379..000000000 --- a/meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc +++ /dev/null @@ -1,9 +0,0 @@ -require conf/machine/include/arm/armv8r/tune-cortexr52.inc - -# simd is special, we don't pass this to the -mfpu, it's implied -TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '' or bb.utils.contains('TUNE_FEATURES', 'simd', True, False, d)) else '' }" - -AVAILTUNES += "cortexr52hf" -ARMPKGARCH:tune-cortexr52hf = "cortexr52" -TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" -PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf" diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc index 1837da266..904b48615 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc @@ -34,24 +34,6 @@ UBOOT_SUFFIX ?= "bin" UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" UBOOT_ELF ?= "u-boot.elf" -# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400 -# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400 -# default mesa because otherwise -def xlnx_is_libmali_enabled(d): - if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1': - if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1': - return True - return False - -# libmali requires certain preferred providers to be selected -PREFERRED_PROVIDER_virtual/egl ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgl ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgles1 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgles2 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgles3 ?= "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgbm ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/mesa ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" - XSERVER ?= " \ xserver-xorg \ xf86-input-evdev \ diff --git a/meta-xilinx-core/conf/machine/include/soc-versal-net.inc b/meta-xilinx-core/conf/machine/include/soc-versal-net.inc new file mode 100644 index 000000000..b59bdacc0 --- /dev/null +++ b/meta-xilinx-core/conf/machine/include/soc-versal-net.inc @@ -0,0 +1,26 @@ +DEFAULTTUNE ?= "cortexa72-cortexa53" +SOC_FAMILY ?= "versal-net" + +require conf/machine/include/soc-family.inc +require soc-tune-include.inc + +# Linux Configuration +KERNEL_IMAGETYPE ?= "Image" + +WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware" + +UBOOT_ELF ?= "u-boot.elf" + +# Default, if multiconfig is off, call plm/psm-firmware directly, otherwise call the versal-fw multiconfig version +# The Linux compatible plm/psm-firmware though requires meta-xilinx-tools +PLM_DEPENDS ??= "" +PLM_MCDEPENDS ??= "" +PLM_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}" +PLM_IMAGE_NAME ??= "plm-${MACHINE}" +PLM_DEPLOY_DIR[vardepsexclude] += "TOPDIR" + +PSM_DEPENDS ??= "" +PSM_MCDEPENDS ??= "" +PSM_FIRMWARE_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}" +PSM_FIRMWARE_IMAGE_NAME ??= "psm-firmware-${MACHINE}" +PSM_DEPLOY_DIR[vardepsexclude] += "TOPDIR" diff --git a/meta-xilinx-core/conf/machine/include/soc-versal.inc b/meta-xilinx-core/conf/machine/include/soc-versal.inc index dcf3796ed..daa129afd 100644 --- a/meta-xilinx-core/conf/machine/include/soc-versal.inc +++ b/meta-xilinx-core/conf/machine/include/soc-versal.inc @@ -1,17 +1,15 @@ DEFAULTTUNE ?= "cortexa72-cortexa53" SOC_FAMILY ?= "versal" -# Available SOC_VARIANT's for versal: -# "prime" - Versal deafult Prime Devices -# "premium" - Versal Premium Devices -# "hbm" - Versal HMB Devices -# "ai-core" - Versal AI-core Devices -# "ai-edge" - Versal AI-Edge Devices -# "net" - Versal Net Devices - -SOC_VARIANT ?= "prime" - -require xilinx-soc-family.inc +# Available MACHINE_FETURES for versal processors: +# prime - (none) +# premium - aie +# hbm - (none) +# ai-core - aie, vdu +# ai-edge - aie, vdu +# net - none + +require conf/machine/include/soc-family.inc require soc-tune-include.inc # Linux Configuration diff --git a/meta-xilinx-core/conf/machine/include/soc-zynq.inc b/meta-xilinx-core/conf/machine/include/soc-zynq.inc index eea02a6cb..e456a31f2 100644 --- a/meta-xilinx-core/conf/machine/include/soc-zynq.inc +++ b/meta-xilinx-core/conf/machine/include/soc-zynq.inc @@ -1,13 +1,7 @@ DEFAULTTUNE ?= "cortexa9thf-neon" SOC_FAMILY ?= "zynq" -# Available SOC_VARIANT's for zynq: -# 7zs - Zynq-7000 Single A9 Core -# 7z - Zynq-7000 Dual A9 Core - -SOC_VARIANT ?= "7z" - -require xilinx-soc-family.inc +require conf/machine/include/soc-family.inc require soc-tune-include.inc # Linux Configuration diff --git a/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc b/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc index 95ac54e22..a9c3ad733 100644 --- a/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc +++ b/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc @@ -1,27 +1,13 @@ DEFAULTTUNE ?= "cortexa72-cortexa53" SOC_FAMILY ?= "zynqmp" -# Available SOC_VARIANT's for zynqmp: -# "cg" - Zynq UltraScale+ CG Devices (default lowest common denominator) -# "eg" - Zynq UltraScale+ EG Devices -# "ev" - Zynq UltraScale+ EV Devices -# "dr" - Zynq UltraScale+ DR Devices - -SOC_VARIANT ?= "cg" - -# Add VCU feature on "ev" devices -VCU_MACHINE_FEATURE = "" -VCU_MACHINE_FEATURE:zynqmp-ev = " vcu" -MACHINE_FEATURES .= "${VCU_MACHINE_FEATURE}" - -# Add mali400 a.k.a Mali Utgard, "ev" and "eg" devices -MALI_MACHINE_FEATURE = "" -MALI_MACHINE_FEATURE:zynqmp-eg = " mali400" -MALI_MACHINE_FEATURE:zynqmp-ev = " mali400" -MACHINE_FEATURES .= "${MALI_MACHINE_FEATURE}" - -require xilinx-soc-family.inc +# Available MACHINE_FETURES for zynqmp processors: +# zynqmp-cg - (none) +# zynqmp-eg - mali400 +# zynqmp-ev - mali400, vcu +# zynqmp-dr - rfsoc +require conf/machine/include/soc-family.inc require soc-tune-include.inc # Linux Configuration diff --git a/meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc b/meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc deleted file mode 100644 index dd54f5c6f..000000000 --- a/meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc +++ /dev/null @@ -1,10 +0,0 @@ -SOC_VARIANT ??= "" -MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}-${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}" - -require conf/machine/include/soc-family.inc - -SOC_FAMILY_ARCH ?= "${SOC_FAMILY}" -SOC_VARIANT_ARCH ?= "${@['${SOC_FAMILY}-${SOC_VARIANT}','${SOC_FAMILY}'][d.getVar('SOC_VARIANT')=='']}" - -PACKAGE_EXTRA_ARCHS:append = " ${SOC_FAMILY_ARCH}" -PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${SOC_VARIANT_ARCH}'][d.getVar('SOC_VARIANT_ARCH') != d.getVar('SOC_FAMILY_ARCH')]}" diff --git a/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf b/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf index 34f57691b..3b7218c16 100644 --- a/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf @@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'versal-ai-core-generic:']['versal-ai-core-generic' require conf/machine/versal-generic.conf -SOC_VARIANT = "ai-core" +MACHINE_FEATURES += "aie vdu" #### No additional settings should be after the Postamble #### Postamble diff --git a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf index 1028ac04a..2b4f94d29 100644 --- a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf @@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'versal-ai-edge-generic:']['versal-ai-edge-generic' require conf/machine/versal-generic.conf -SOC_VARIANT = "ai-edge" +MACHINE_FEATURES += "aie vdu" # VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to # 8G, Hence we need set 12G in QB_MEM. diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index 3582944b0..3ae4b800b 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf @@ -95,24 +95,32 @@ QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb" # ? dcc ? - linux serial2 (????) QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" +QB_OSPI_FILE ??= "" + QB_OPT_APPEND += " \ -hw-dtb ${QEMU_HW_DTB_PS} \ ${@qemu_add_extra_args(d)} \ + ${@'-bootbin ${QB_OSPI_FILE}' if d.getVar('QB_OSPI_FILE') != '' else ''} \ " # PLM instance args QB_PLM_OPT = " \ -M microblaze-fdt \ - -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \ -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \ - -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ - -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ -device loader,addr=0xF1110624,data=0x0,data-len=4 \ -device loader,addr=0xF1110620,data=0x1,data-len=4 \ -hw-dtb ${QEMU_HW_DTB_PMC} \ -display none \ " + +QB_FW_FILES = " \ + -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ +" +QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}" + QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" #### No additional settings should be after the Postamble diff --git a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf index 3e72da601..9fef78f34 100644 --- a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf @@ -4,8 +4,6 @@ MACHINEOVERRIDES =. "${@['', 'versal-hbm-generic:']['versal-hbm-generic' != '${M require conf/machine/versal-generic.conf -SOC_VARIANT = "hbm" - # VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G, # Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM QB_MEM = "-m 32G" diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf index eb450bbf6..d6524510e 100644 --- a/meta-xilinx-core/conf/machine/versal-net-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf @@ -6,30 +6,83 @@ MACHINEOVERRIDES =. "${@['', 'versal-net-generic:']['versal-net-generic' != '${MACHINE}']}" #### Regular settings follow -# Must be set first, or versal-generic will set it -UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" +# Variables that changes based on hw design or board specific requirement must be +# defined before calling the required inclusion file else pre-expansion value +# defined in local.conf without machine override will not be reflected. -# Yocto Versal Net device-tree variables +# Yocto Versal device-tree variables YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" +DT_PADDING_SIZE:pn-device-tree ?= "0x1000" +DTC_FLAGS:pn-device-tree = "-@" YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}" -# Yocto Versal Net PLM variables +# Yocto Versal u-boot-xlnx variables +UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" +BOOTMODE ?= "generic.root" + +# Yocto Versal arm-trusted-firmware(TF-A) variables +TFA_BL33_LOAD ?= "0x8000000" + +# Yocto Versal PLM variables YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" +# Yocto Versal KERNEL Variables +UBOOT_ENTRYPOINT ?= "0x200000" +UBOOT_LOADADDRESS ?= "0x200000" + # Versal Serial Console SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" -require conf/machine/versal-generic.conf +require conf/machine/include/soc-versal-net.inc +require conf/machine/include/machine-xilinx-default.inc +require conf/machine/include/machine-xilinx-qemu.inc -SOC_VARIANT = "net" - -# versal-generic.conf uses vck190-versal xsa as reference input. +# versal-net-generic.conf uses a qemu only xsa as reference input. # User can override with custom xsa using HDF_BASE and HDF_PATH variables from # local.conf. HDF_MACHINE = "versal-net-generic" +MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}" + +# Default SD image build onfiguration, use qemu-sd to pad +IMAGE_CLASSES += "image-types-xilinx-qemu" +# Add wic.qemu-sd only if initramfs_image not set due to circular dependecies +IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}" + +EXTRA_IMAGEDEPENDS += " \ + libyaml-native \ + python3-cython-native \ + python3-pyyaml-native \ + arm-trusted-firmware \ + virtual/boot-bin \ + virtual/bootloader \ + virtual/psm-firmware \ + virtual/plm \ + u-boot-xlnx-scr \ + qemu-devicetrees:do_deploy \ + virtual/cdo:do_deploy \ + " + +IMAGE_BOOT_FILES += " \ + boot.bin \ + ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ + Image \ + boot.scr \ + " + +# Versal QEMU Configurations +# This machine has a QEMU model, runqemu setup: +QB_MEM = "-m 8G" +QB_DEFAULT_KERNEL = "none" +# Iteration appears to be eth0 then eth1 +QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@ -net nic" +QB_KERNEL_CMDLINE_APPEND ?= "" + +QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" @@ -41,7 +94,34 @@ QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" # hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1) QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" +QB_OSPI_FILE ??= "" + +QB_OPT_APPEND += " \ + -hw-dtb ${QEMU_HW_DTB_PS} \ + ${@qemu_add_extra_args(d)} \ + ${@'-bootbin ${QB_OSPI_FILE}' if d.getVar('QB_OSPI_FILE') != '' else ''} \ + " + +# PLM instance args +QB_PLM_OPT = " \ + -M microblaze-fdt \ + -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \ + -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \ + -device loader,addr=0xF1110624,data=0x0,data-len=4 \ + -device loader,addr=0xF1110620,data=0x1,data-len=4 \ + -hw-dtb ${QEMU_HW_DTB_PMC} \ + -display none \ + " + +QB_FW_FILES = " \ + -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \ + -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ +" +QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}" + +QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" + #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}" - diff --git a/meta-xilinx-core/conf/machine/versal-premium-generic.conf b/meta-xilinx-core/conf/machine/versal-premium-generic.conf index d785edff4..357e852d2 100644 --- a/meta-xilinx-core/conf/machine/versal-premium-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-premium-generic.conf @@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'versal-premium-generic:']['versal-premium-generic' require conf/machine/versal-generic.conf -SOC_VARIANT = "premium" +MACHINE_FEATURES += "aie" #### No additional settings should be after the Postamble #### Postamble diff --git a/meta-xilinx-core/conf/machine/versal-prime-generic.conf b/meta-xilinx-core/conf/machine/versal-prime-generic.conf index 206f0e2a4..edce35772 100644 --- a/meta-xilinx-core/conf/machine/versal-prime-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-prime-generic.conf @@ -4,8 +4,6 @@ MACHINEOVERRIDES =. "${@['', 'versal-prime-generic:']['versal-prime-generic' != require conf/machine/versal-generic.conf -SOC_VARIANT = "prime" - QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vmk180.dtb" #### No additional settings should be after the Postamble diff --git a/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf index 38c9126f7..441691864 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf @@ -4,8 +4,6 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-cg-generic:']['zynqmp-cg-generic' != '${MAC require conf/machine/zynqmp-generic.conf -SOC_VARIANT = "cg" - #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_cg_generic']['zynqmp-cg-generic' != "${MACHINE}"]}" diff --git a/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf index fbe445aae..316175af6 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf @@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-dr-generic:']['zynqmp-dr-generic' != '${MAC require conf/machine/zynqmp-generic.conf -SOC_VARIANT = "dr" +MACHINE_FEATURES += "rfsoc" #### No additional settings should be after the Postamble #### Postamble diff --git a/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf index 33375b464..239ded341 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf @@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-eg-generic:']['zynqmp-eg-generic' != '${MAC require conf/machine/zynqmp-generic.conf -SOC_VARIANT = "eg" +MACHINE_FEATURES += "mali400" #### No additional settings should be after the Postamble #### Postamble diff --git a/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf index f2ffe40fa..31d94f631 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf @@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-ev-generic:']['zynqmp-ev-generic' != '${MAC require conf/machine/zynqmp-generic.conf -SOC_VARIANT = "ev" +MACHINE_FEATURES += "mali400 vcu" #### No additional settings should be after the Postamble #### Postamble diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index 055c7e5b7..b5a2f832d 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf @@ -150,7 +150,7 @@ QB_PMU_OPT = " \ -display none \ -hw-dtb ${QEMU_HW_DTB_PMU} \ -kernel ${PMU_ROM} \ - -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \ + -device loader,file=${DEPLOY_DIR_IMAGE}/${PMU_FIRMWARE_IMAGE_NAME}.elf \ -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \ -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \ " diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend new file mode 100644 index 000000000..33cd55c14 --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend @@ -0,0 +1,3 @@ +# Prevents parse failrues on zynq + +COMPATIBLE_MACHINE:zynq = "^$" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend index 4d21c98b6..0e7f3693e 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend @@ -1,14 +1,8 @@ # Use libmetal for systems with AIE -# For vck190 kind of devices -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" -TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE -DFAL_LINUX=on" -DEPENDS:append:versal-ai-core = " libxaiengine aiefal" -RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" - -# For vek280 kind of devices -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true" -TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE -DFAL_LINUX=on" -DEPENDS:append:versal-ai-edge = " libxaiengine aiefal" -RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal" +# For versal devices with the ai-engine +PACKAGE_ARCH_orig := "${PACKAGE_ARCH}" +PACKAGE_ARCH = "${@bb.utils.contains('MACHINE_FEATURES', 'aie', '${MACHINE_ARCH}', '${PACKAGE_ARCH_orig}', d)}" +EXTRA_OECMAKE .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' -DXRT_AIE_BUILD=true', '', d)}" +TARGET_CXXFLAGS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' -DXRT_ENABLE_AIE -DFAL_LINUX=on', '', d)}" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libxaiengine aiefal', '', d)}" +RDEPENDS:${PN} += "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libxaiengine aiefal', '', d)}" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend index 89f1b4ad4..362dc45a2 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend @@ -1,3 +1,2 @@ # Older xrt requires a manual dependency on libmetal -DEPENDS:append:versal-ai-core = " libmetal" -DEPENDS:append:versal-ai-edge = " libmetal" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libmetal', '', d)}" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend index 89f1b4ad4..362dc45a2 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend @@ -1,3 +1,2 @@ # Older xrt requires a manual dependency on libmetal -DEPENDS:append:versal-ai-core = " libmetal" -DEPENDS:append:versal-ai-edge = " libmetal" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libmetal', '', d)}" diff --git a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend index 81aa8e9e7..0c305c78a 100644 --- a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend +++ b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend @@ -9,11 +9,3 @@ SRC_URI:append = " \ PACKAGECONFIG[fbdev-glesv2] = ",,virtual/libgles2 virtual/egl" EXTRA_OECONF:append = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', ' --with-flavors=fbdev-glesv2', '', d)}" - -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" - diff --git a/meta-xilinx-core/lib/devtool/boot-jtag.py b/meta-xilinx-core/lib/devtool/boot-jtag.py index 53d702627..247851ec9 100644 --- a/meta-xilinx-core/lib/devtool/boot-jtag.py +++ b/meta-xilinx-core/lib/devtool/boot-jtag.py @@ -32,7 +32,6 @@ def bootjtag(args, config, basepath, workspace): machine = rd.getVar('MACHINE') arch = rd.getVar('TARGET_ARCH') soc = rd.getVar("SOC_FAMILY") - soc_variant = rd.getVar("SOC_VARIANT") ddr_base_addr = rd.getVar('DDR_BASEADDR') kernel_img_name = rd.getVar('KERNEL_IMAGE') kernel_load_addr = rd.getVar('KERNEL_LOAD_ADDRESS') @@ -59,7 +58,7 @@ def bootjtag(args, config, basepath, workspace): # MB = (DDR base address + DDR Size) - 0xe00000 # Zynq 7000 = DDR base address + 0x3000000 # ZynqMP = DDR base address + 0x20000000 - # Versal = DDR base address + 0x20000000 + # Versal & Versal-net = DDR base address + 0x20000000 if arch == 'microblazeel': # Assuming DDR size is 2GB bootscr_addr = hex(int(ddr_base_addr, 16) + 0x80000000 - 0xe00000) @@ -93,7 +92,7 @@ def bootjtag(args, config, basepath, workspace): data['atf'] = os.path.join(deploy_dir, 'arm-trusted-firmware.elf') data['pmufw'] = os.path.join(deploy_dir, 'pmu-firmware-' + machine + '.elf') - if soc == 'versal': + if soc in ('versal', 'versal-net'): data['bootbin'] = os.path.join(deploy_dir, 'boot.bin') data['bootscr'] = os.path.join(deploy_dir, 'boot.scr') @@ -165,12 +164,17 @@ def bootjtag(args, config, basepath, workspace): lines.append('puts stderr "INFO: Downloading BOOT bin file: ' + data['bootbin'] + '"') lines.append('device program \"' + data['bootbin'] + '\"') lines.append('') - - if soc_variant == 'net': - lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') - else: - lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') - + lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') + lines.append('stop') + lines.append('') + lines.append('targets -set -nocase -filter {name =~ \"*Versal*\"}') + elif soc == 'versal-net': + # Download boot.bin to versal device + lines.append('targets -set -nocase -filter {name =~ \"*PMC*\"}') + lines.append('puts stderr "INFO: Downloading BOOT bin file: ' + data['bootbin'] + '"') + lines.append('device program \"' + data['bootbin'] + '\"') + lines.append('') + lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') lines.append('stop') lines.append('') lines.append('targets -set -nocase -filter {name =~ \"*Versal*\"}') @@ -235,10 +239,10 @@ def bootjtag(args, config, basepath, workspace): # Select A72 Core 0 to load and run Versal images if soc == 'versal': - if soc_variant == 'net': - lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') - else: - lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') + lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') + + if soc == 'versal-net': + lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') lines.append('con') lines.append('exit\n') diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb index 7080379f6..df3b11885 100644 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb @@ -17,8 +17,9 @@ S = "${UNPACKDIR}/git" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" -PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" +PACKAGE_ARCH:zynqmp = "${MACHINE_ARCH}" # Force the make system to use the flags we want! EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all' diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb index 0803887dd..0b3effe2b 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb @@ -9,9 +9,11 @@ AIEDIR ?= "${S}/driver" S = "${UNPACKDIR}/git" I = "${AIEDIR}/include" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +inherit features_check + +REQUIRED_MACHINE_FEATURES = "aie" + +PACKAGE_ARCH = "${MACHINE_ARCH}" IOBACKENDS ?= "Linux" @@ -42,5 +44,3 @@ do_install(){ install -d ${D}${libdir} cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} } - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb index 8ee45d220..88d4995fd 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb @@ -9,9 +9,11 @@ AIEDIR ?= "${S}/driver" S = "${UNPACKDIR}/git" I = "${AIEDIR}/include" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +inherit features_check + +REQUIRED_MACHINE_FEATURES = "aie" + +PACKAGE_ARCH = "${MACHINE_ARCH}" IOBACKENDS ?= "Linux" @@ -42,7 +44,3 @@ do_install(){ install -d ${D}${libdir} cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} } - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" - diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb index 2ed7aece6..0710a2bb3 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb @@ -9,9 +9,11 @@ AIEDIR ?= "${S}/driver" S = "${UNPACKDIR}/git" I = "${AIEDIR}/include" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +inherit features_check + +REQUIRED_MACHINE_FEATURES = "aie" + +PACKAGE_ARCH = "${MACHINE_ARCH}" IOBACKENDS ?= "Linux" @@ -42,7 +44,3 @@ do_install(){ install -d ${D}${libdir} cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} } - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" - diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb index f47c4eeff..73cbfdd67 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb @@ -8,9 +8,11 @@ SECTION = "devel" XAIEFAL_DIR ?= "fal" S = "${UNPACKDIR}/git" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +inherit features_check + +REQUIRED_MACHINE_FEATURES = "aie" + +PACKAGE_ARCH = "${MACHINE_ARCH}" IOBACKENDS ?= "Linux" @@ -29,5 +31,3 @@ EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == FILES:${PN}-demos = " \ ${bindir}/* \ " - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb index 6c232a371..ab65f319b 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb @@ -8,9 +8,11 @@ SECTION = "devel" XAIEFAL_DIR ?= "fal" S = "${UNPACKDIR}/git" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +inherit features_check + +REQUIRED_MACHINE_FEATURES = "aie" + +PACKAGE_ARCH = "${MACHINE_ARCH}" IOBACKENDS ?= "Linux" @@ -29,7 +31,3 @@ EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == FILES:${PN}-demos = " \ ${bindir}/* \ " - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" - diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb index 425ec5ca7..11c88d340 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb @@ -8,9 +8,11 @@ SECTION = "devel" XAIEFAL_DIR ?= "fal" S = "${UNPACKDIR}/git" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +inherit features_check + +REQUIRED_MACHINE_FEATURES = "aie" + +PACKAGE_ARCH = "${MACHINE_ARCH}" IOBACKENDS ?= "Linux" @@ -29,7 +31,3 @@ EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == FILES:${PN}-demos = " \ ${bindir}/* \ " - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" - diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc index 1678c17b7..9e9d8e8f2 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc @@ -28,6 +28,7 @@ ATF_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}${IMAGE_VERSION_SUFFIX}" COMPATIBLE_MACHINE ?= "^$" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -47,10 +48,12 @@ LD[unexport] = "1" ATF_CONSOLE_DEFAULT = "" ATF_CONSOLE_DEFAULT:zynqmp = "cadence" ATF_CONSOLE_DEFAULT:versal = "pl011" +ATF_CONSOLE_DEFAULT:versal-net = "pl011" ATF_CONSOLE ?= "${ATF_CONSOLE_DEFAULT}" DEBUG_ATF_DEFAULT = "" DEBUG_ATF_DEFAULT:versal = "1" +DEBUG_ATF_DEFAULT:versal-net = "1" DEBUG_ATF ?= "${DEBUG_ATF_DEFAULT}" EXTRA_OEMAKE:append:zynqmp = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}" @@ -125,3 +128,4 @@ FILES:${PN} += "/boot/*.elf /boot/*.bin /boot/*.ub" # Disable buildpaths QA check warnings for Versal. INSANE_SKIP:${PN}:append:versal = " buildpaths" +INSANE_SKIP:${PN}:append:versal-net = " buildpaths" diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.10-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.10-xilinx-v2024.1.bb index fee8e069b..683af4cf6 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.10-xilinx-v2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2.10-xilinx-v2024.1.bb @@ -1,4 +1,3 @@ -ATF_VERSION = "2.10" SRCREV = "4f82b6134e7b43722616c855e5016d42a3ea26d2" BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" diff --git a/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb b/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb index b74f07fe3..ba4d2964d 100644 --- a/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb @@ -7,6 +7,7 @@ PROVIDES = "virtual/base-pdi" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:microblaze = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" PACKAGE_ARCH ?= "${MACHINE_ARCH}" diff --git a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc new file mode 100644 index 000000000..461917202 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc @@ -0,0 +1 @@ +require machine-xilinx-versal.inc diff --git a/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb b/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb index 388242384..aabced596 100644 --- a/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb @@ -14,6 +14,7 @@ COMPATIBLE_MACHINE ?= "^$" COMPATIBLE_MACHINE:zynq = ".*" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" PROVIDES = "virtual/boot-bin" @@ -31,13 +32,18 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI += "${@('file://' + d.getVar("BIF_FILE_PATH")) if d.getVar("BIF_FILE_PATH") != (d.getVar('B') + '/bootgen.bif') else ''}" +S = "${UNPACKDIR}" + # bootgen command -arch option for different SOC architectures # zynq7000 : zynq # zynqmp : zynqmp # versal : versal # versal-net : versalnet -BOOTGEN_ARCH_DEFAULT = "${SOC_FAMILY}" -BOOTGEN_ARCH_DEFAULT:versal-net = "${SOC_FAMILY}${SOC_VARIANT}" +BOOTGEN_ARCH_DEFAULT = "undefined" +BOOTGEN_ARCH_DEFAULT:zynq = "zynq" +BOOTGEN_ARCH_DEFAULT:zynqmp = "zynqmp" +BOOTGEN_ARCH_DEFAULT:versal = "versal" +BOOTGEN_ARCH_DEFAULT:versal-net = "versalnet" BOOTGEN_ARCH ?= "${BOOTGEN_ARCH_DEFAULT}" BOOTGEN_EXTRA_ARGS ?= "" @@ -135,7 +141,7 @@ python do_configure() { attrflags = d.getVarFlags("BIF_COMMON_ATTR") or {} if arch in ['zynq', 'zynqmp']: create_zynq_bif(bifattr, attrflags,'','', 1, biffd, d) - elif arch in ['versal']: + elif arch in ['versal', 'versal-net']: create_versal_bif(bifattr, attrflags,'','', 1, biffd, d) else: create_bif(bifattr, attrflags,'','', 1, biffd, d) @@ -147,7 +153,7 @@ python do_configure() { ids = d.getVarFlags("BIF_PARTITION_ID") or {} if arch in ['zynq', 'zynqmp']: create_zynq_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d) - elif arch in ['versal']: + elif arch in ['versal', 'versal-net']: create_versal_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d) else: create_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d) @@ -197,6 +203,12 @@ do_deploy:append:versal () { ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin } +do_deploy:append:versal-net () { + + install -m 0644 ${B}/BOOT_bh.bin ${DEPLOYDIR}/${BOOTBIN_BASE_NAME}_bh.bin + ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin +} + FILES:${PN} += "/boot/BOOT.bin" SYSROOT_DIRS += "/boot" diff --git a/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb b/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb index 7238823dd..04cbab69c 100644 --- a/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb @@ -12,6 +12,7 @@ do_compile[depends] += "virtual/boot-bin:do_deploy" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" PACKAGE_ARCH ?= "${MACHINE_ARCH}" diff --git a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb index f62e95127..f8c73b633 100644 --- a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb +++ b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb @@ -49,6 +49,7 @@ SRC_URI:append = " ${@" ".join(["file://%s" % f for f in (d.getVar('EXTRA_OVERLA COMPATIBLE_MACHINE:zynq = ".*" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" DEPENDS += "python3-dtc-native" @@ -86,7 +87,7 @@ do_configure:append () { fi exit 1 fi - echo "/include/ \"$f\"" >> ${DT_FILES_PATH}/${BASE_DTS}.dts + echo "#include \"$f\"" >> ${DT_FILES_PATH}/${BASE_DTS}.dts done } diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb index 9066a63db..9e0f07ac8 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb @@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb index f341061f8..2699a55db 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb @@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb index 0f31bb13c..da2f3e261 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb @@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb index a8b9d62e0..261156f99 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb index a704d3b5c..ca18672b1 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb @@ -4,7 +4,7 @@ LICENSE = "CLOSED" PROVIDES = "virtual/fsbl" -INHERIT_DEFAULT_DEPENDS = "1" +INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynq = "zynq" diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb index d398ca88e..80063f852 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb @@ -5,10 +5,11 @@ LICENSE = "CLOSED" PROVIDES = "virtual/plm" -INHERIT_DEFAULT_DEPENDS = "1" +INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" # Since we're just copying, we can run any config COMPATIBLE_HOST = ".*" diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb index 913e9088e..344a6f7ad 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb @@ -4,7 +4,7 @@ LICENSE = "CLOSED" PROVIDES = "virtual/pmu-firmware" -INHERIT_DEFAULT_DEPENDS = "1" +INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = ".*" diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb index 27f921b9e..3fa6d98cd 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb @@ -5,10 +5,11 @@ LICENSE = "CLOSED" PROVIDES = "virtual/psm-firmware" -INHERIT_DEFAULT_DEPENDS = "1" +INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" # Since we're just copying, we can run any config COMPATIBLE_HOST = ".*" diff --git a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb index 2114eafdd..af786e7e9 100644 --- a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb +++ b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb @@ -18,18 +18,18 @@ do_install[vardepsexclude] += "DEPLOY_DIR_IMAGE" do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete" do_install[cleandirs] = "${D}" do_install() { - if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ]; then + if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ]; then install -d ${D}/boot/ - install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ${D}/boot/. + install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ${D}/boot/. else - bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot" + bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" fi } PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}" RPROVIDES:${PN} = "initramdisk" -FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot" +FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" python() { if not d.getVar('INITRAMFS_IMAGE'): diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb index 471de84d4..7727b93da 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb @@ -13,6 +13,7 @@ SRCREV = "f2b7bbca9d6936141024becfb92266600eeefc2b" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb index 3bfa7085a..e64687f5d 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb @@ -13,6 +13,7 @@ SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb index ce9c07b22..06d991df1 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb @@ -13,6 +13,7 @@ SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb index 3450872e4..9eea4fbeb 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb @@ -13,6 +13,7 @@ SRCREV = "c8275891ead62b3dfce68c00cf466715f0ac75f1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" S = "${UNPACKDIR}/git" diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb index 24fd46e59..f823e478c 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb @@ -14,6 +14,7 @@ COMPATIBLE_MACHINE ?= "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:zynq = "zynq" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal" COMPATIBLE_MACHINE:microblaze = "microblaze" KERNELDT = "${@os.path.basename(d.getVar('KERNEL_DEVICETREE').split(' ')[0]) if d.getVar('KERNEL_DEVICETREE') else ''}" @@ -27,6 +28,7 @@ PXERAMDISK_IMAGE ?= "${@'${RAMDISK_IMAGE1}' if d.getVar('INITRAMFS_IMAGE') and d KERNEL_BOOTCMD:zynqmp ?= "booti" KERNEL_BOOTCMD:zynq ?= "bootm" KERNEL_BOOTCMD:versal ?= "booti" +KERNEL_BOOTCMD:versal-net ?= "booti" KERNEL_BOOTCMD:microblaze ?= "bootm" BOOTMODE ??= "generic" @@ -58,6 +60,7 @@ UENV_TEXTFILE ?= "uEnv.txt" UENV_MMC_OFFSET:zynqmp ??= "0x200000" UENV_MMC_OFFSET:zynq ??= "0x2080000" UENV_MMC_OFFSET:versal ??= "0x200000" +UENV_MMC_OFFSET:versal-net ??= "0x200000" UENV_MMC_OFFSET:microblaze ??= "0x0" UENV_MMC_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('UENV_MMC_OFFSET'))}" @@ -73,11 +76,13 @@ DEVICETREE_OFFSET:microblaze ??= "0x1e00000" DEVICETREE_OFFSET:zynqmp ??= "0x100000" DEVICETREE_OFFSET:zynq ??= "0x100000" DEVICETREE_OFFSET:versal ??= "0x1000" +DEVICETREE_OFFSET:versal-net ??= "0x1000" DEVICETREE_OVERLAY_OFFSET:microblaze ??= "0x1e00000" DEVICETREE_OVERLAY_OFFSET:zynqmp ??= "0x100000" DEVICETREE_OVERLAY_OFFSET:zynq ??= "0x100000" DEVICETREE_OVERLAY_OFFSET:versal ??= "0x1000" +DEVICETREE_OVERLAY_OFFSET:versal-net ??= "0x1000" DEVICETREE_OVERLAY_PADSIZE ??= "0xf00000" DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(append_baseaddr(d,d.getVar('DEVICETREE_OVERLAY_OFFSET')),16) \ @@ -89,6 +94,7 @@ KERNEL_OFFSET:microblaze ??= "0x0" KERNEL_OFFSET:zynqmp ??= "0x200000" KERNEL_OFFSET:zynq ??= "0x200000" KERNEL_OFFSET:versal ??= "0x200000" +KERNEL_OFFSET:versal-net ??= "0x200000" KERNEL_IMAGE ?= "${KERNEL_IMAGETYPE}" @@ -98,6 +104,7 @@ RAMDISK_OFFSET:microblaze ??= "0x2e00000" RAMDISK_OFFSET:zynq ??= "0x4000000" RAMDISK_OFFSET:zynqmp ??= "0x4000000" RAMDISK_OFFSET:versal ??= "0x4000000" +RAMDISK_OFFSET:versal-net ??= "0x4000000" FIT_IMAGE_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('FIT_IMAGE_OFFSET'))}" FIT_IMAGE_OFFSET ??= "0x10000000" @@ -143,18 +150,25 @@ QSPI_RAMDISK_SIZE:zynqmpdr ??= "0x1D00000" ## For versal ## Load boot.scr at 0x7F80000 -> 127MB of QSPI/NAND Memory QSPI_KERNEL_OFFSET:versal ??= "0xF00000" +QSPI_KERNEL_OFFSET:versal-net ??= "0xF00000" QSPI_RAMDISK_OFFSET:versal ??= "0x2E00000" +QSPI_RAMDISK_OFFSET:versal-net ??= "0x2E00000" NAND_KERNEL_OFFSET:versal ??= "0x4100000" +NAND_KERNEL_OFFSET:versal-net ??= "0x4100000" NAND_RAMDISK_OFFSET:versal ??= "0x8200000" +NAND_RAMDISK_OFFSET:versal-net ??= "0x8200000" QSPI_KERNEL_SIZE:versal ??= "0x1D00000" +QSPI_KERNEL_SIZE:versal-net ??= "0x1D00000" QSPI_RAMDISK_SIZE:versal ??= "0x4000000" +QSPI_RAMDISK_SIZE:versal-net ??= "0x4000000" QSPI_KERNEL_IMAGE:microblaze ?= "image.ub" QSPI_KERNEL_IMAGE:zynq ?= "image.ub" QSPI_KERNEL_IMAGE:zynqmp ?= "image.ub" QSPI_KERNEL_IMAGE:versal ?= "image.ub" +QSPI_KERNEL_IMAGE:versal-net ?= "image.ub" NAND_KERNEL_IMAGE ?= "image.ub" diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc index bd9711f52..e2ee2c3f3 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc @@ -75,7 +75,7 @@ do_deploy:prepend() { fi # In ZynqMP u-boot.dtb is generated by default but not for versal, Hence manually deploy. - if [ "${SOC_FAMILY}" == "versal" ]; then + if [ "${SOC_FAMILY}" == "versal" -o "${SOC_FAMILY}" == "versal-net" ]; then if [ -f ${B}/arch/arm/dts/${UBOOT_USER_SPECIFIED_DTS}.dtb ]; then install -Dm 0644 ${B}/arch/arm/dts/${UBOOT_USER_SPECIFIED_DTS}.dtb ${DEPLOYDIR}/u-boot.dtb fi diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend index fd3a3c113..8901a6115 100644 --- a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend +++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend @@ -3,3 +3,4 @@ QB_MEM:microblaze = "-m 2G" QB_MEM:zynq = "-m 1G" QB_MEM:zynqmp = "-m 4G" QB_MEM:versal = "-m 16G" +QB_MEM:versal-net = "-m 16G" diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend deleted file mode 100644 index fd3a3c113..000000000 --- a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend +++ /dev/null @@ -1,5 +0,0 @@ -# Minimum board memory required for each type -QB_MEM:microblaze = "-m 2G" -QB_MEM:zynq = "-m 1G" -QB_MEM:zynqmp = "-m 4G" -QB_MEM:versal = "-m 16G" diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend index e748c9e40..e7133ca93 100644 --- a/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend +++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend @@ -3,6 +3,7 @@ QB_MEM:microblaze = "-m 2G" QB_MEM:zynq = "-m 1G" QB_MEM:zynqmp = "-m 4G" QB_MEM:versal = "-m 16G" +QB_MEM:versal-net = "-m 16G" # Zynq can't build qemu-xilinx or it's ptests PTESTS_FAST:remove:zynq = "qemu-ptest" diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend index fd3a3c113..8901a6115 100644 --- a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend +++ b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend @@ -3,3 +3,4 @@ QB_MEM:microblaze = "-m 2G" QB_MEM:zynq = "-m 1G" QB_MEM:zynqmp = "-m 4G" QB_MEM:versal = "-m 16G" +QB_MEM:versal-net = "-m 16G" diff --git a/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch b/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch index 1dcac990f..f310edfa1 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch +++ b/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch @@ -5,16 +5,17 @@ import os import subprocess import sys import tempfile +import re import shutil binpath = os.path.dirname(os.path.abspath(__file__)) mach_path = tempfile.mkdtemp() - # Separate PMU and APU arguments APU_args = sys.argv[1:] PMU_args = [] PLM_args = [] +bootbin_arg = None if '-pmu-args' in APU_args: pmu_args_idx = APU_args.index('-pmu-args') @@ -26,50 +27,80 @@ if '-plm-args' in APU_args: PLM_args = APU_args[plm_args_idx+1].split() del APU_args[plm_args_idx:plm_args_idx+2] +if '-bootbin' in APU_args: + bootbin_args_idx = APU_args.index('-bootbin') + bootbin_arg = APU_args[bootbin_args_idx+1] + del APU_args[bootbin_args_idx:bootbin_args_idx+2] + if PMU_args and PLM_args: sys.exit("\nError: -pmu-args can not be used with -plm-args\n") if ('--help' in APU_args) or (not PMU_args and not PLM_args): - print("AMD FPGA QEMU multiarch wrapper\n") - print("Version 2024.1") - print("") - print("Usage:") - print(" %s [-pmu-args ]" % (sys.argv[0])) - print(" %s [-plm-args ]" % (sys.argv[0])) - print("") + print("AMD FPGA QEMU multiarch wrapper\nVersion 2024.1\n\nUsage:") + print(f" {sys.argv[0]} [-pmu-args ]") + print(f" {sys.argv[0]} [-plm-args ]\n") sys.exit(1) if PMU_args: PMU_rom = PMU_args[PMU_args.index('-kernel')+1] if not os.path.exists(PMU_rom): - error_msg = '\nError: Missing PMU ROM: %s' % PMU_rom - error_msg += '\nSee "meta-xilinx/README.qemu.md" for more information on accquiring the PMU ROM.\n' - sys.exit(error_msg) + sys.exit(f'\nERROR: Missing PMU ROM: {PMU_rom}' + '\nSee "meta-xilinx/README.qemu.md" for more information on accquiring the PMU ROM.\n') + +if bootbin_arg: + if not os.path.isfile(bootbin_arg): + print(f"\nERROR: bootbin file not found at {bootbin_arg}" + " Please build and ospi_image or set QB_OSPI_BIN variable to prebuilt file\n") + sys.exit(1) + + shutil.copyfile(bootbin_arg, f'{mach_path}/boot.bin') + + bootgen_command = [f'{binpath}/bootgen', '-arch', 'versal', '-dump', 'boot.bin'] + subprocess.run(bootgen_command + ['bh'], check=True, cwd=mach_path, stdout=subprocess.DEVNULL) + subprocess.run(bootgen_command + ['plm'], check=True, cwd=mach_path, stdout=subprocess.DEVNULL) + subprocess.run(bootgen_command + ['pmc_cdo'], check=True, cwd=mach_path, stdout=subprocess.DEVNULL) + + bootgen_command = f"{binpath}/bootgen -arch versal -read {bootbin_arg}" + result = subprocess.check_output(bootgen_command.split()) + bootgen_output = result.decode().splitlines() + + for i, l in enumerate(bootgen_output): + if 'PARTITION HEADER TABLE (pmc_subsys.0.0)' in l: + plm_line = bootgen_output[i+4] + if 'BOOT HEADER' in l: + pmc_line = bootgen_output[i+6] -# We need to switch tcp serial arguments (if they exist, e.g. qemurunner) to get the output correctly + plm_load_addr = re.search(r"exec_addr_lo \(0x10\) : (0x\w*)\s*", plm_line).group(1) + pmc_load_addr = re.search(r"pmccdo_load_addr \(0x20\) : (0x\w*)", pmc_line).group(1) + + PLM_args.append(f"-device loader,file={mach_path}/boot_bh.bin,addr=0xF201E000,force-raw=on") + PLM_args.append(f"-device loader,file={mach_path}/pmc_cdo.bin,addr={pmc_load_addr},force-raw=on") + PLM_args.append(f"-device loader,file={mach_path}/plm.bin,addr={plm_load_addr},force-raw=on") + PLM_args.append(f"-device loader,addr={plm_load_addr},cpu-num=1") + +# We need to switch tcp serial arguments (if they exist, e.g. qemurunner) to get the output tcp_serial_ports = [i for i, s in enumerate(APU_args) if 'tcp:127.0.0.1:' in s] -#NEED TO FIX for next yocto release (dont need to switch ports anymore, they will be provided correctly upstream +#FIXME for next yocto release (dont need to switch ports anymore, they will be provided correctly upstream # We can only switch these if there are exactly two, otherwise we can't assume what is being executed so we leave it as is if len(tcp_serial_ports) == 2: APU_args[tcp_serial_ports[0]],APU_args[tcp_serial_ports[1]] = APU_args[tcp_serial_ports[1]],APU_args[tcp_serial_ports[0]] mb_cmd = "" if PMU_args: - mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(PMU_args) + ' -machine-path ' + mach_path - - print("PMU instance cmd: %s\n" % mb_cmd) + pmu_args_s = ' '.join(PMU_args) + mb_cmd = f'{binpath}/qemu-system-microblazeel {pmu_args_s} -machine-path {mach_path}' + print(f"PMU instance cmd: {mb_cmd}\n") if PLM_args: - mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(PLM_args) + ' -machine-path ' + mach_path - - print("PLM instance cmd: %s\n" % mb_cmd) - -apu_cmd = binpath + '/qemu-system-aarch64 ' + ' '.join(APU_args) + ' -machine-path ' + mach_path - -print("APU instance cmd: %s\n" % apu_cmd) + plm_args_s = ' '.join(PLM_args) + mb_cmd = f'{binpath}/qemu-system-microblazeel {plm_args_s} -machine-path {mach_path}' + print(f"PLM instance cmd: {mb_cmd}\n") +apu_args_s = ' '.join(APU_args) +apu_cmd = f'{binpath}/qemu-system-aarch64 {apu_args_s} -machine-path {mach_path}' +print(f"APU instance cmd: {apu_cmd}\n") if mb_cmd: process_mb = subprocess.Popen(mb_cmd, shell=True, stderr=subprocess.PIPE) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_8.1.0.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_8.1.0.bb index 3c8bb1712..1e626ffe3 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_8.1.0.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_8.1.0.bb @@ -8,7 +8,7 @@ require qemu-xilinx-native-8.1.inc # and avoid file clashes DEPENDS += "glib-2.0-native zlib-native pixman-native qemu-native" -DEPENDS += "qemu-xilinx-multiarch-helper-native" +DEPENDS += "qemu-xilinx-multiarch-helper-native bootgen-native" EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb index 50d9922fc..4679174b1 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb @@ -4,14 +4,6 @@ require qemu-8.1.inc require qemu-xilinx-8.1.inc require qemu-alt.inc -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" - - DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" DEPENDS:append:libc-musl = " libucontext" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend index 04c89b83d..9140060e8 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend @@ -1,8 +1 @@ require qemu-alt.inc - -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend index 3306f1c45..fe24534f2 100644 --- a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend +++ b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -1,10 +1,3 @@ -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" - FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += " \ diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb index 083604ddd..23f31802a 100644 --- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb +++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb @@ -23,3 +23,4 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb index 72bad7aa6..da056896a 100644 --- a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb +++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb @@ -23,3 +23,4 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" COMPATIBLE_MACHINE:versal = "versal" +COMPATIBLE_MACHINE:versal-net = "versal-net" diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb index a09ae9ed2..8eb742c97 100644 --- a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb +++ b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb @@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI = "\ file://99-aie-device.rules \ - file://99-mali-device.rules \ " S = "${UNPACKDIR}" @@ -17,6 +16,7 @@ COMPATIBLE_MACHINE:zynq = ".*" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:microblaze = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" do_configure[noexec] = '1' do_compile[noexec] = '1' diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc index 630529331..3133c4856 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc @@ -46,6 +46,7 @@ COMPATIBLE_MACHINE:zynq = ".*" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:microblaze = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" # Use DEFCONFIGs for configuring linux-xlnx kernels KCONFIG_MODE ?= "alldefconfig" @@ -53,15 +54,13 @@ KBUILD_DEFCONFIG:zynqmp ?= "xilinx_defconfig" KBUILD_DEFCONFIG:zynq ?= "xilinx_zynq_defconfig" KBUILD_DEFCONFIG:microblaze ?= "mmu_defconfig" KBUILD_DEFCONFIG:versal ?= "xilinx_defconfig" +KBUILD_DEFCONFIG:versal-net ?= "xilinx_defconfig" KERNEL_FEATURES:append:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)}" KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}" KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc" +KERNEL_FEATURES:append:versal-net = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc" KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}" - -# Enable DRM_LIMA support if DISTRO_FEATURES != 'libmali' and MACHINE_FEATURES mali400 is enabled -MALI_FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '', 'features/drm-lima/drm-lima.scc', d)}" -KERNEL_FEATURES:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' ${MALI_FEATURE}', '', d)}" diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb index ee6edac4c..998ff99c8 100644 --- a/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb +++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb @@ -11,6 +11,7 @@ LICENSE = "GPL-2.0-or-later & Apache-2.0" COMPATIBLE_MACHINE ?= "^$" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl" diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb index ee6edac4c..998ff99c8 100644 --- a/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb +++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb @@ -11,6 +11,7 @@ LICENSE = "GPL-2.0-or-later & Apache-2.0" COMPATIBLE_MACHINE ?= "^$" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl" diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb index ee6edac4c..998ff99c8 100644 --- a/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb +++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb @@ -11,6 +11,7 @@ LICENSE = "GPL-2.0-or-later & Apache-2.0" COMPATIBLE_MACHINE ?= "^$" COMPATIBLE_MACHINE:zynqmp = ".*" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl" diff --git a/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass b/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass new file mode 100644 index 000000000..26d54f594 --- /dev/null +++ b/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass @@ -0,0 +1,6 @@ +# We need to load the meta-xilinx-mali400 config components, only if "libmali" +# is in the distro features. Since we don't know the distro flags during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_XILINX_MALI400_CONFIG_PATH file. + +include ${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '${META_XILINX_MALI400_CONFIG_PATH}', '', d)} diff --git a/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass b/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass new file mode 100644 index 000000000..25353fd60 --- /dev/null +++ b/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass @@ -0,0 +1,10 @@ +addhandler mali400_bbappend_distrocheck +mali400_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck" +python mali400_bbappend_distrocheck() { + skip_check = e.data.getVar('SKIP_META_XILINX_MALI400_SANITY_CHECK') == "1" + if 'libmali' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check: + bb.warn("You have included the meta-xilinx-mali400 layer, but \ +'libmali' has not been enabled in your DISTRO_FEATURES. Some bbappend files \ +may not take effect. See the meta-xilinx-mali400 README for details on enabling \ +libmali - mali400 support.") +} diff --git a/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc b/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc new file mode 100644 index 000000000..9975eff45 --- /dev/null +++ b/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc @@ -0,0 +1,22 @@ +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + *->qtbase \ + *->qtmultimedia \ +" + +# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400 +# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400 +# default mesa because otherwise +def xlnx_is_libmali_enabled(d): + if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1': + if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1': + return True + return False + +# libmali requires certain preferred providers to be selected +PREFERRED_PROVIDER_virtual/egl = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgl = "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgles1 = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgles2 = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgles3 = "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgbm = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/mesa = "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" diff --git a/meta-xilinx-mali400/conf/layer.conf b/meta-xilinx-mali400/conf/layer.conf new file mode 100644 index 000000000..7bc75aa80 --- /dev/null +++ b/meta-xilinx-mali400/conf/layer.conf @@ -0,0 +1,34 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a packages directory, add to BBFILES +BBFILES += " \ + ${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend \ + " + +BBFILES_DYNAMIC += " \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bb \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bbappend \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/recipes-*/*/*.bb \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/recipes-*/*/*.bbappend \ + xilinx-multimedia:${LAYERDIR}/dynamic-layers/xilinx-multimedia/recipes-*/*/*.bb \ + xilinx-multimedia:${LAYERDIR}/dynamic-layers/xilinx-multimedia/recipes-*/*/*.bbappend \ +" + +BBFILE_COLLECTIONS += "xilinx-mali400" +BBFILE_PATTERN_xilinx-mali400 = "^${LAYERDIR}/" +BBFILE_PRIORITY_xilinx-mali400 = "5" + +LAYERDEPENDS_xilinx-mali400 = " \ + core \ + xilinx \ + " + +LAYERSERIES_COMPAT_xilinx-mali400 = "scarthgap" + +INHERIT += "sanity-meta-xilinx-mali400" + +META_XILINX_MALI400_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-xilinx-mali400-default-versions.inc" + +USER_CLASSES:append = " meta-xilinx-mali400-cfg" diff --git a/meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend b/meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend rename to meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch new file mode 100644 index 000000000..363edd4d4 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch @@ -0,0 +1,110 @@ +From f791102afb7c65601042b697a9d85c4f4fce5dab Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Tue, 19 Nov 2019 13:45:58 -0800 +Subject: [PATCH] egl_kms: Modify the default color format to RGB565 + +DP supports RGB565 hence modify the default color format to RGB565. + +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Inappropriate [Xilinx specific] + +--- + .../kmsconvenience/qkmsdevice.cpp | 4 ++-- + .../eglfs_kms/qeglfskmsgbmcursor.cpp | 6 +++--- + .../eglfs_kms/qeglfskmsgbmintegration.cpp | 2 +- + .../eglfs_kms_support/qeglfskmsintegration.cpp | 16 +++++++++++++--- + 4 files changed, 19 insertions(+), 9 deletions(-) + +diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +index 8cd7f9b368..657b3d553e 100644 +--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp ++++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +@@ -369,7 +369,7 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources, + uint32_t drmFormat; + bool drmFormatExplicit = true; + if (formatStr.isEmpty()) { +- drmFormat = DRM_FORMAT_XRGB8888; ++ drmFormat = DRM_FORMAT_RGB565; + drmFormatExplicit = false; + } else if (formatStr == "xrgb8888") { + drmFormat = DRM_FORMAT_XRGB8888; +@@ -393,7 +393,7 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources, + drmFormat = DRM_FORMAT_ABGR2101010; + } else { + qWarning("Invalid pixel format \"%s\" for output %s", formatStr.constData(), connectorName.constData()); +- drmFormat = DRM_FORMAT_XRGB8888; ++ drmFormat = DRM_FORMAT_RGB565; + drmFormatExplicit = false; + } + qCDebug(qLcKmsDebug) << "Format is" << Qt::hex << drmFormat << Qt::dec << "requested_by_user =" << drmFormatExplicit +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp +index 612eec4ce0..39073a42c2 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp +@@ -87,7 +87,7 @@ QEglFSKmsGbmCursor::QEglFSKmsGbmCursor(QEglFSKmsGbmScreen *screen) + } + + m_bo = gbm_bo_create(static_cast(m_screen->device())->gbmDevice(), m_cursorSize.width(), m_cursorSize.height(), +- GBM_FORMAT_ARGB8888, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE); ++ DRM_FORMAT_RGB565, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE); + if (!m_bo) { + qWarning("Could not create buffer for cursor!"); + } else { +@@ -197,7 +197,7 @@ void QEglFSKmsGbmCursor::changeCursor(QCursor *windowCursor, QWindow *window) + if (m_cursorImage.image()->width() > m_cursorSize.width() || m_cursorImage.image()->height() > m_cursorSize.height()) + qWarning("Cursor larger than %dx%d, cursor will be clipped.", m_cursorSize.width(), m_cursorSize.height()); + +- QImage cursorImage(m_cursorSize, QImage::Format_ARGB32); ++ QImage cursorImage(m_cursorSize, QImage::Format_RGB16); + cursorImage.fill(Qt::transparent); + + QPainter painter; +@@ -302,7 +302,7 @@ void QEglFSKmsGbmCursor::initCursorAtlas() + m_cursorAtlas.hotSpots << hotSpot; + } + +- QImage image = QImage(atlas).convertToFormat(QImage::Format_ARGB32); ++ QImage image = QImage(atlas).convertToFormat(QImage::Format_RGB16); + m_cursorAtlas.cursorWidth = image.width() / m_cursorAtlas.cursorsPerRow; + m_cursorAtlas.cursorHeight = image.height() / ((Qt::LastCursor + cursorsPerRow) / cursorsPerRow); + m_cursorAtlas.width = image.width(); +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +index caa1187b40..b8f129212c 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +@@ -96,7 +96,7 @@ EGLNativeWindowType QEglFSKmsGbmIntegration::createNativeOffscreenWindow(const Q + + gbm_surface *surface = gbm_surface_create(static_cast(device())->gbmDevice(), + 1, 1, +- GBM_FORMAT_XRGB8888, ++ DRM_FORMAT_RGB565, + GBM_BO_USE_RENDERING); + + return reinterpret_cast(surface); +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +index 28b6b7df63..91dd092311 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +@@ -102,9 +102,19 @@ QSurfaceFormat QEglFSKmsIntegration::surfaceFormatFor(const QSurfaceFormat &inpu + QSurfaceFormat format(inputFormat); + format.setRenderableType(QSurfaceFormat::OpenGLES); + format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); +- format.setRedBufferSize(8); +- format.setGreenBufferSize(8); +- format.setBlueBufferSize(8); ++ ++ static const bool force888 = qEnvironmentVariableIntValue("QT_QPA_EGLFS_FORCE888"); ++ if (force888){ ++ format.setRedBufferSize(8); ++ format.setGreenBufferSize(8); ++ format.setBlueBufferSize(8); ++ } ++ else{ ++ format.setRedBufferSize(5); ++ format.setGreenBufferSize(6); ++ format.setBlueBufferSize(5); ++ } ++ + return format; + } + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch new file mode 100644 index 000000000..8a357d3db --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch @@ -0,0 +1,31 @@ +From b8bdd78fc2836f7ecb8777c3bd99fc2d48dfeda4 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Fri, 8 Mar 2019 16:23:29 -0800 +Subject: [PATCH] qkmsdevice.cpp: Disable hw cursor as a default option. + +Zynqmp does not support hardware cursor, hence disable it as a default +choice and enable pbuffer. + +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Inappropriate [Xilinx specific] + +--- + src/platformsupport/kmsconvenience/qkmsdevice.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +index 657b3d553e..64aafb2247 100644 +--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp ++++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +@@ -1028,9 +1028,9 @@ QKmsScreenConfig *QKmsDevice::screenConfig() const + + QKmsScreenConfig::QKmsScreenConfig() + : m_headless(false) +- , m_hwCursor(true) ++ , m_hwCursor(false) + , m_separateScreens(false) +- , m_pbuffers(false) ++ , m_pbuffers(true) + , m_virtualDesktopLayout(VirtualDesktopLayoutHorizontal) + { + loadConfig(); diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend new file mode 100644 index 000000000..2e80a4c86 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend @@ -0,0 +1,41 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/qtbase:" + +SRC_URI:append = " \ + file://0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch \ + file://0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch \ +" + +PACKAGECONFIG:append = " \ + examples accessibility tools libinput fontconfig \ + ${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'linuxfb gles2 eglfs', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gles2 eglfs', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gles2 eglfs kms gbm', '', d)} \ + " + +PACKAGECONFIG:remove = "tests" + +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" + +# There is some sort of parallel make install failure +# Makefile:144: recipe for target 'sub-dbus-install_subtargets' failed +# make[1]: *** [sub-dbus-install_subtargets] Error 2 +PARALLEL_MAKEINST = "-j 1" + +EXTRA_OEMAKE:task-install = " \ + MAKEFLAGS='${PARALLEL_MAKEINST}' \ + OE_QMAKE_CC='${OE_QMAKE_CC}' \ + OE_QMAKE_CXX='${OE_QMAKE_CXX}' \ + OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \ + OE_QMAKE_CXXFLAGS='${OE_QMAKE_CXXFLAGS}' \ + OE_QMAKE_LINK='${OE_QMAKE_LINK}' \ + OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \ + OE_QMAKE_AR='${OE_QMAKE_AR}' \ + OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \ + OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \ + OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \ +" diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend new file mode 100644 index 000000000..1e329fbd3 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend @@ -0,0 +1,7 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'gstreamer1.0-plugins-base', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" +# Note: gstreamer1.0-plugins-base has a dependency on opengl, which infects directly linking to it diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch new file mode 100644 index 000000000..09ad1b5b3 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch @@ -0,0 +1,34 @@ +From eb44571eab0036a9a1bcd7c423f0187abcbf7a37 Mon Sep 17 00:00:00 2001 +From: Johan Klokkhammer Helsing +Date: Thu, 30 Aug 2018 09:31:33 +0200 +Subject: [PATCH] Fix regression in QWaylandGlContext::makeCurrent for + offscreen surfaces + +[ChangeLog][QPA plugin] Fixed a bug where offscreen surfaces would get +surfaceless EGL contexts. + +Fixes a regression in in bf09c7a1. + +The call, window->updateSurface(window->isExposed()), is problematic because +offscreen textures are never exposed, and consequently, eglSurface will be +EGL_NO_SURFACE, which will then create a surfaceless context in the call: + + eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context) + +This reverts to the old behavior of always trying to create an EGL surface, +unless the window doesn't have a valid wl_surface, in which case it doesn't +make sense (which is what bf09c7a1 fixed, QTBUG-65553). + +Task-number: QTBUG-70242 +Task-number: QTBUG-68605 +Task-number: QTBUG-67601 +Change-Id: I44b07bb8bf4b33c73c6379a1de8e9e5cfd220b51 + +Signed-off-by: Johan Helsing +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Backport +--- + src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 9 ++++++--- + src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp | 2 +- + 2 files changed, 7 insertions(+), 4 deletions(-) + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch new file mode 100644 index 000000000..8f81ffcff --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch @@ -0,0 +1,31 @@ +From 30f5d53244ef4173544413124f319af272235cfd Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Wed, 16 May 2018 17:16:53 -0700 +Subject: [PATCH 1/3] qwaylandwindow.cpp: Do not destroy shell suface before + eglDestroySurface + +The call to reset results in a race condition resulting in destruction +of shell surface before the eglSurface thereby crashing libwayland-client. + +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Pending +--- + src/client/qwaylandwindow.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 6d7c088..94c89a3 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -385,8 +385,6 @@ void QWaylandWindow::setVisible(bool visible) + QWindowSystemInterface::flushWindowSystemEvents(); + if (!deleteGuard.isNull() && window()->type() == Qt::Popup) + closePopups(this); +- if (!deleteGuard.isNull()) +- reset(); + } + } + +-- +2.7.4 + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch new file mode 100644 index 000000000..52db5ac26 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch @@ -0,0 +1,20 @@ +From 75ac221b9d78d97c121b984ffc633c8cdbe3a92d Mon Sep 17 00:00:00 2001 +From: Giulio Camuffo +Date: Mon, 7 May 2018 17:40:57 -0700 +Subject: [PATCH 2/3] Handle maximize/minimize/fullscreen in xdg_shell_v6 + +[ChangeLog][QPA plugin] Implement support for maximization, minimization +and fullscreen with xdg-shell unstable v6. + +Task-number: QTBUG-63417 +Task-number: QTBUG-63748 +Change-Id: I385eb3279d91f1c38d2f5d46bc63b324f0456ca4 + +signed-off-by: Giulio Camuffo +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Backport +--- + src/client/qwaylandxdgshellv6.cpp | 22 ++++++++++++++++++++++ + src/client/qwaylandxdgshellv6_p.h | 4 ++++ + 2 files changed, 26 insertions(+) + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch new file mode 100644 index 000000000..c29edab41 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch @@ -0,0 +1,32 @@ +From 7067fce80a6e863532a86a5aeb9d6f53e538b387 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Wed, 5 Sep 2018 14:08:16 -0700 +Subject: [PATCH 3/3] qwaylandeglwindow.cpp: Bind the context before calling + eglDestroySurface + +Call eglMakeCurrent to bind the context to the current rendering thread +before calling eglDestroySurface to avoid a crash caused by the post +processing activity of GPU driver. + +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Pending +--- + src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +index 6b5c532..77cc433 100644 +--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp ++++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +@@ -171,6 +171,8 @@ void QWaylandEglWindow::doInvalidateSurface() + void QWaylandEglWindow::invalidateSurface() + { + if (m_eglSurface) { ++ eglMakeCurrent(m_clientBufferIntegration->eglDisplay(), EGL_NO_SURFACE, ++ EGL_NO_SURFACE, EGL_NO_CONTEXT); + eglDestroySurface(m_clientBufferIntegration->eglDisplay(), m_eglSurface); + m_eglSurface = 0; + } +-- +2.7.4 + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend new file mode 100644 index 000000000..b51451a01 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend @@ -0,0 +1,21 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/qtwayland:" +# file://0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch +# file://0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch +SRC_URI:append = " \ + file://0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch \ +" +# file://0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch + +PACKAGECONFIG = " \ + wayland-client \ + wayland-server \ + wayland-egl \ + wayland-drm-egl-server-buffer \ +" + +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend new file mode 100644 index 000000000..973608d3a --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend @@ -0,0 +1 @@ +PACKAGECONFIG:append = " ffmpeg opus" diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend new file mode 100644 index 000000000..0997181a3 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend @@ -0,0 +1,8 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'qtmultimedia', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" +# Note: qtmultimedia has a dependency on gstreamer1.0-plugins-base, which has a dependency on opengl, which infects directly linking to it + diff --git a/meta-xilinx-core/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend rename to meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch new file mode 100644 index 000000000..aeedfd589 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch @@ -0,0 +1,31 @@ +From 43cdcd9dbb032d32e66bab9c25d5e7000797efb8 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Wed, 26 Sep 2018 14:44:11 -0700 +Subject: [PATCH 1/3] Make RGB565 as default EGLconfig + +Make RGB565 as default EGL config as that way user need not pass +explicit parameters for RGB565 EGLconfig. In the orignial scenario, if +user does not pass the gl-visual-config to RGB565 there will be color +conversion resulting in lower performance. + +Signed-off-by: Madhurkiran Harikrishnan +Reviewed-by: Hyun Kwon +Upstream-Status: Inappropriate [Xilinx specific] +Signed-off-by: Mark Hatle +--- + src/gl-visual-config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: git/src/gl-visual-config.h +=================================================================== +--- git.orig/src/gl-visual-config.h ++++ git/src/gl-visual-config.h +@@ -31,7 +31,7 @@ class GLVisualConfig + { + public: + GLVisualConfig(): +- id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(-1), buffer(1), samples(0) {} ++ id(0), red(5), green(6), blue(5), alpha(0), depth(16), stencil(0), buffer(16), samples(0) {} + GLVisualConfig(const std::string &s); + + /** diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch new file mode 100644 index 000000000..61a7cbf9c --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch @@ -0,0 +1,33 @@ +From 534a0f99b38f7a32fc07562bec3e992dfad448c0 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Mon, 3 Feb 2020 13:00:36 -0800 +Subject: [PATCH] src: gl-state-egl: Use native_display to load EGL funcs + through glad + +EGL_DEFAULT_DISPLAY may not be suiitable for all the backends like GBM. +Instead, use the already initialized display and only fallback to +EGL_DEFAULT_DISPLAY if the display is unintialized (which is already +been taken care). + +Signed-off-by: Madhurkiran Harikrishnan +Upstream-status: Pending +--- + src/gl-state-egl.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gl-state-egl.cpp b/src/gl-state-egl.cpp +index 8d7d66e..316b856 100644 +--- a/src/gl-state-egl.cpp ++++ b/src/gl-state-egl.cpp +@@ -317,7 +317,7 @@ GLStateEGL::init_display(void* native_display, GLVisualConfig& visual_config) + return false; + } + +- if (gladLoadEGLUserPtr(EGL_NO_DISPLAY, load_egl_func, &egl_lib_) == 0) { ++ if (gladLoadEGLUserPtr(native_display, load_egl_func, &egl_lib_) == 0) { + Log::error("Loading EGL entry points failed\n"); + return false; + } +-- +2.7.4 + diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch new file mode 100644 index 000000000..015f2f499 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch @@ -0,0 +1,104 @@ +From c5de6efc463c1f8f47d37c2423da983c016b3ce8 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan +Date: Thu, 27 Jun 2019 16:16:05 -0700 +Subject: [PATCH] src/options.cpp: Add options to configure bpp and depth + +Instead of hardcoding the depth and bpp for drm backend, application +should have a knob to configure the same. + +Signed-off-by: Madhurkiran Harikrishnan +Upstream-Status: Inappropriate [Xilinx specific] +--- + src/native-state-drm.cpp | 5 +++-- + src/options.cpp | 10 ++++++++++ + src/options.h | 2 ++ + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/src/native-state-drm.cpp b/src/native-state-drm.cpp +index 62566ee..9743575 100644 +--- a/src/native-state-drm.cpp ++++ b/src/native-state-drm.cpp +@@ -24,6 +24,7 @@ + */ + #include "native-state-drm.h" + #include "log.h" ++#include "options.h" + + #include + #include +@@ -403,7 +404,7 @@ NativeStateDRM::fb_get_from_bo(gbm_bo* bo) + unsigned int stride = gbm_bo_get_stride(bo); + unsigned int handle = gbm_bo_get_handle(bo).u32; + unsigned int fb_id(0); +- int status = drmModeAddFB(fd_, width, height, 24, 32, stride, handle, &fb_id); ++ int status = drmModeAddFB(fd_, width, height, Options::depth, Options::bpp, stride, handle, &fb_id); + if (status < 0) { + Log::error("Failed to create FB: %d\n", status); + return 0; +@@ -428,7 +429,7 @@ NativeStateDRM::init_gbm() + } + + surface_ = gbm_surface_create(dev_, mode_->hdisplay, mode_->vdisplay, +- GBM_FORMAT_XRGB8888, ++ (Options::bpp == 32) ? GBM_FORMAT_XRGB8888 : GBM_FORMAT_RGB565, + GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); + if (!surface_) { + Log::error("Failed to create GBM surface\n"); +diff --git a/src/options.cpp b/src/options.cpp +index 05cd617..7de1ddc 100644 +--- a/src/options.cpp ++++ b/src/options.cpp +@@ -41,6 +41,8 @@ bool Options::reuse_context = false; + bool Options::run_forever = false; + bool Options::annotate = false; + bool Options::offscreen = false; ++int Options::depth = 16; ++int Options::bpp = 16; + GLVisualConfig Options::visual_config; + + static struct option long_options[] = { +@@ -59,6 +61,8 @@ static struct option long_options[] = { + {"show-all-options", 0, 0, 0}, + {"debug", 0, 0, 0}, + {"help", 0, 0, 0}, ++ {"depth", 1, 0, 0}, ++ {"bpp", 1, 0, 0}, + {0, 0, 0, 0} + }; + +@@ -142,6 +146,8 @@ Options::print_help() + " --annotate Annotate the benchmarks with on-screen information\n" + " (same as -b :show-fps=true:title=#info#)\n" + " -d, --debug Display debug messages\n" ++ " --depth Depth for drm backend\n" ++ " --bpp Bpp for drm backend\n" + " -h, --help Display help\n"); + } + +@@ -193,6 +199,10 @@ Options::parse_args(int argc, char **argv) + Options::show_debug = true; + else if (c == 'h' || !strcmp(optname, "help")) + Options::show_help = true; ++ else if (!strcmp(optname, "depth")) ++ Options::depth = Util::fromString(optarg); ++ else if (!strcmp(optname, "bpp")) ++ Options::bpp = Util::fromString(optarg); + } + + return true; +diff --git a/src/options.h b/src/options.h +index f62e02a..04bef5f 100644 +--- a/src/options.h ++++ b/src/options.h +@@ -53,6 +53,8 @@ struct Options { + static bool run_forever; + static bool annotate; + static bool offscreen; ++ static int depth; ++ static int bpp; + static GLVisualConfig visual_config; + }; + +-- +2.7.4 + diff --git a/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend b/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend new file mode 100644 index 000000000..9f9ab2670 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend @@ -0,0 +1,14 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +# TODO: Two patches are disabled as they do not apply to the current version of glmark2 +# This will need review by someone familiar with that code +SRC_URI:append = " file://0001-Make-RGB565-as-default-EGLconfig.patch \ + file://0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch;apply=0 \ + file://0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch;apply=0 \ + " + +PACKAGECONFIG = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'drm-gles2 wayland-gles2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'fbdev-glesv2', '', d)} \ +" diff --git a/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend b/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend new file mode 100644 index 000000000..514cacaae --- /dev/null +++ b/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend new file mode 100644 index 000000000..514cacaae --- /dev/null +++ b/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend b/meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend rename to meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/egl.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/egl.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb b/meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb rename to meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb diff --git a/meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb diff --git a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch b/meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston.inc b/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend similarity index 59% rename from meta-xilinx-core/recipes-graphics/wayland/weston.inc rename to meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend index fadc9486d..03823f6e7 100644 --- a/meta-xilinx-core/recipes-graphics/wayland/weston.inc +++ b/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend @@ -1,12 +1,3 @@ -SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch" - -# Due to the SRC_URI zynqmp specific change, this needs to be SOC_FAMILY_ARCH specific -SOC_FAMILY_ARCH ??= "${TUNE_PKGARCH}" -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -DEFAULT_PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" -PACKAGE_ARCH = "${DEFAULT_PACKAGE_ARCH}" - - # Links to libmali-xlnx, so it becomes MACHINE_ARCH specific DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/init b/meta-xilinx-mali400/recipes-graphics/wayland/files/init similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/init rename to meta-xilinx-mali400/recipes-graphics/wayland/files/init diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/weston.service b/meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/weston.service rename to meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend rename to meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend diff --git a/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc new file mode 100644 index 000000000..f18cae89c --- /dev/null +++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc @@ -0,0 +1,4 @@ +SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch" + +# Due to the SRC_URI zynqmp specific change, this needs to be MACHINE_ARCH specific +PACKAGE_ARCH:zynqmp = "${MACHINE_ARCH}" diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.png b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/weston.png rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start b/meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend rename to meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb rename to meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend rename to meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend diff --git a/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file mode 100644 index 000000000..03823f6e7 --- /dev/null +++ b/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend b/meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend diff --git a/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend new file mode 100644 index 000000000..81c660a52 --- /dev/null +++ b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' file://99-mali-device.rules', '', d)}" diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules similarity index 100% rename from meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules rename to meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules diff --git a/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc new file mode 100644 index 000000000..e49e5377f --- /dev/null +++ b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc @@ -0,0 +1,3 @@ +# Enable DRM_LIMA support if DISTRO_FEATURES != 'libmali' and MACHINE_FEATURES mali400 is enabled +MALI_FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '', 'features/drm-lima/drm-lima.scc', d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' ${MALI_FEATURE}', '', d)}" diff --git a/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend new file mode 100644 index 000000000..8b6d657c0 --- /dev/null +++ b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend @@ -0,0 +1 @@ +require linux-xlnx-mali400.inc diff --git a/meta-xilinx-multimedia/conf/layer.conf b/meta-xilinx-multimedia/conf/layer.conf new file mode 100644 index 000000000..0787f87c5 --- /dev/null +++ b/meta-xilinx-multimedia/conf/layer.conf @@ -0,0 +1,15 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a packages directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb" +BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "xilinx-multimedia" +BBFILE_PATTERN_xilinx-multimedia = "^${LAYERDIR}/" +BBFILE_PRIORITY_xilinx-multimedia = "5" + +AYERDEPENDS_xilinx-multimedia = "core" +LAYERRECOMMENDS_xilinx-multimedia = "openembedded-layer" + +LAYERSERIES_COMPAT_xilinx-multimedia = "scarthgap" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gst-devtools_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gst-devtools_1.20.5.bbappend new file mode 100644 index 000000000..6b6ab9170 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gst-devtools_1.20.5.bbappend @@ -0,0 +1,7 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-connect-has-a-different-signature-on-musl.patch \ +" + +S = "${UNPACKDIR}/git/subprojects/gst-devtools" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-libav_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-libav_1.20.5.bbappend new file mode 100644 index 000000000..12b44dbb2 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-libav_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${UNPACKDIR}/git/subprojects/gst-libav" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-omx_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-omx_1.20.5.bbappend new file mode 100644 index 000000000..1db9616ce --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-omx_1.20.5.bbappend @@ -0,0 +1,27 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${UNPACKDIR}/git/subprojects/gst-omx" + +RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}" + +RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}" + +EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' --with-omx-header-path=${STAGING_INCDIR}/vcu-omx-il', '', d)}" +EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' -Dheader_path=${STAGING_INCDIR}/vcu-omx-il', '', d)}" + +EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' --with-omx-header-path=${STAGING_INCDIR}/vdu-omx-il', '', d)}" +EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' -Dheader_path=${STAGING_INCDIR}/vdu-omx-il', '', d)}" + +DEFAULT_GSTREAMER_1_0_OMX_TARGET := "${GSTREAMER_1_0_OMX_TARGET}" +VCU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', 'zynqultrascaleplus', '${DEFAULT_GSTREAMER_1_0_OMX_TARGET}', d)}" +VDU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', 'versal', '${VCU_GSTREAMER_1_0_OMX_TARGET}', d)}" +GSTREAMER_1_0_OMX_TARGET = "${VDU_GSTREAMER_1_0_OMX_TARGET}" + +DEFAULT_GSTREAMER_1_0_OMX_CORE_NAME := "${GSTREAMER_1_0_OMX_CORE_NAME}" +GSTREAMER_1_0_OMX_CORE_NAME = "${@bb.utils.contains_any('MACHINE_FEATURES', 'vcu vdu', '${libdir}/libOMX.allegro.core.so.1', '${DEFAULT_GSTREAMER_1_0_OMX_CORE_NAME}', d)}" + +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('MACHINE_FEATURES', 'vcu vdu', '${MACHINE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-bad_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-bad_1.20.5.bbappend new file mode 100644 index 000000000..3c083fc21 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-bad_1.20.5.bbappend @@ -0,0 +1,12 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ + file://0002-avoid-including-sys-poll.h-directly.patch \ + file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ + " + +PACKAGECONFIG[mediasrcbin] = "-Dmediasrcbin=enabled,-Dmediasrcbin=disabled,media-ctl" +PACKAGECONFIG:append = " faac kms faad opusparse mediasrcbin" + +S = "${UNPACKDIR}/git/subprojects/gst-plugins-bad" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_1.20.5.bbappend new file mode 100644 index 000000000..4b3e5eb68 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_1.20.5.bbappend @@ -0,0 +1,11 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ + " + +PACKAGECONFIG:append = " opus" + +S = "${UNPACKDIR}/git/subprojects/gst-plugins-base" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-good_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-good_1.20.5.bbappend new file mode 100644 index 000000000..ecfb328da --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-good_1.20.5.bbappend @@ -0,0 +1,9 @@ +PACKAGECONFIG:append = " vpx" + +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ + " + +S = "${UNPACKDIR}/git/subprojects/gst-plugins-good" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-ugly_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-ugly_1.20.5.bbappend new file mode 100644 index 000000000..a0d12b2e1 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-ugly_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${UNPACKDIR}/git/subprojects/gst-plugins-ugly" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-python_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-python_1.20.5.bbappend new file mode 100644 index 000000000..4eddb2739 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-python_1.20.5.bbappend @@ -0,0 +1,4 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${UNPACKDIR}/git/subprojects/gst-python" + diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-rtsp-server_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-rtsp-server_1.20.5.bbappend new file mode 100644 index 000000000..1426accb4 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-rtsp-server_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${UNPACKDIR}/git/subprojects/gst-rtsp-server" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-vaapi_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-vaapi_1.20.5.bbappend new file mode 100644 index 000000000..9cb6fddf4 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-vaapi_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${UNPACKDIR}/git/subprojects/gstreamer-vaapi" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0_1.20.5.bbappend new file mode 100644 index 000000000..d96e92a6b --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0_1.20.5.bbappend @@ -0,0 +1,14 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://run-ptest \ + file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \ + file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \ + file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ + file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ + file://0005-bin-Fix-race-conditions-in-tests.patch;striplevel=3 \ + " + +PACKAGECONFIG:append = " tracer-hooks coretracers" + +S = "${UNPACKDIR}/git/subprojects/gstreamer" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb new file mode 100644 index 000000000..aeeab259c --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb @@ -0,0 +1,22 @@ +SUMMARY = "Gstreamer Interpipe 1.1.8" +DESCRIPTION = "GStreamer plug-in that allows communication between two independent pipelines" +HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstInterpipe" +SECTION = "multimedia" +LICENSE = "LGPL-2.1-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3191ae9476980e87e3494d2d8ebe4584" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gtk-doc-native" + +SRCBRANCH ?= "master" +# v1.1.8 Tag +SRCREV = "814982ecd735e42ff2d14ce7c43039c259ec928b" +SRC_URI = "gitsm://github.com/RidgeRun/gst-interpipe.git;protocol=https;branch=${SRCBRANCH}" + +S = "${UNPACKDIR}/git" + +FILES:${PN} += "${libdir}/gstreamer-1.0/libgstinterpipe.so" + +EXTRA_OEMESON = "-Denable-gtk-doc=false" + +inherit meson pkgconfig diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb new file mode 100644 index 000000000..9dee616d9 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "GStreamer Perf 1.0" +DESCRIPTION = "GStreamer element to measure fps and performance" +HOMEPAGE = "https://github.com/RidgeRun/gst-perf-autotools" +SECTION = "multimedia" +LICENSE = "LGPL-2.0-or-later" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +inherit autotools pkgconfig gettext + +DEPENDS += "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +SRCBRANCH ?= "master" +SRCREV ?= "d50ddc4a8c0dedd4f2de77d7f3f570548a1a0d76" +SRC_URI = "git://github.com/RidgeRun/gst-perf.git;protocol=https;branch=${SRCBRANCH}" + +S = "${UNPACKDIR}/git" + +FILES:${PN} += "${libdir}/gstreamer-1.0/libgstperf.so" + diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc new file mode 100644 index 000000000..38e233714 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc @@ -0,0 +1,8 @@ +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/multimedia-notebooks.git;protocol=https" +SRCREV ?= "ef7a7236144a04977cb5bb800d6d7cf319e52b58" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +PV .= "+git" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb new file mode 100644 index 000000000..4729c0aac --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Demo scripts to run common usecases involving VCU in ZynqMP" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${UNPACKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils matchbox-desktop" + +EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}' + +do_install() { + oe_runmake -C ${S}/vcu install_vcu_examples +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb new file mode 100644 index 000000000..c3ec31531 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Jupyter notebook examples for VCU in ZynqMP-EV devices" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +inherit jupyter-examples + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${UNPACKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vcu-examples start-jupyter" + +EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}' + +do_install() { + oe_runmake -C ${S}/vcu install_vcu_notebooks +} diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb new file mode 100644 index 000000000..4100f4888 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Demo scripts to run common usecases involving VDU in Versal" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${UNPACKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vdu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils" + +EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}' + +do_install() { + oe_runmake -C ${S}/vdu install_vdu_examples +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb new file mode 100644 index 000000000..fc61d9486 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Jupyter notebook examples for VDU in Versal" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +inherit jupyter-examples + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${UNPACKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vdu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vdu-examples start-jupyter" + +EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}' + +do_install() { + oe_runmake -C ${S}/vdu install_vdu_notebooks +} diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc new file mode 100644 index 000000000..6bf2a99f1 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc @@ -0,0 +1,28 @@ +BRANCH ?= "xlnx-rebase-v1.20.5" +REPO ?= "git://github.com/Xilinx/gstreamer.git;protocol=https" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" + +PV = "1.20.5+git" + +# We need a common PRSERV_PV_AUTOINC for all variations of gstreamer packages +# Need to inject a custom setting, so based on package.bbclass version +PACKAGE_ARCH:task-packagedata = "all" + +# However, if we change PACKAGE_ARCH in a task, it changes the UNPACKDIR and breaks things +# restore the UNPACKDIR's arch directory (MULTIMACH_TARGET_SYS) to the previous setting! +python() { + # Anonymous python runs before the task override is evaluated, so set the + # MULTIMACH_TARGET_SYS (used by UNPACKDIR) + d.setVar('MULTIMACH_TARGET_SYS', d.getVar('MULTIMACH_TARGET_SYS')) +} + +# Cause all of the variants to rebuild now that we have a common PV +PE = '1' + +SRC_URI = " \ + ${REPO};${BRANCHARG};name=gstreamer-xlnx \ +" + +SRCREV_gstreamer-xlnx = "5126254d77401b9673602ddcb617ff9e958dd295" +SRCREV_FORMAT = "gstreamer-xlnx" diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch b/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch similarity index 100% rename from meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch rename to meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend rename to meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend diff --git a/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb new file mode 100644 index 000000000..2681bda46 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb @@ -0,0 +1,16 @@ +SUMMARY = "Big Buck Bunny Movie - 3840*2160@30fps" +LICENSE = "CC-BY-3.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" + +SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_30fps_normal.mp4" +SRC_URI[md5sum] = "fca22c88d7cf72c02df69a6157d2185b" +SRC_URI[sha256sum] = "37f0ff251a606c2dcfa26c19fe6bf843234b4e7a8889cfab50bc26f644e55520" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/movies + install -m 0644 ${UNPACKDIR}/bbb_sunflower_2160p_30fps_normal.mp4 ${D}${datadir}/movies/ +} + +FILES:${PN} += "${datadir}/movies" diff --git a/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb new file mode 100644 index 000000000..b0c0a796b --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb @@ -0,0 +1,16 @@ +SUMMARY = "Big Buck Bunny Movie - 3840*2160@60fps" +LICENSE = "CC-BY-3.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" + +SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_60fps_normal.mp4" +SRC_URI[md5sum] = "fb20ba0a7f531eabb345a5abcce33d78" +SRC_URI[sha256sum] = "35db9a007021f1b0066993e1d2c4448c83a8b279f799c97d33cbba73980a8a36" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/movies + install -m 0644 ${UNPACKDIR}/bbb_sunflower_2160p_60fps_normal.mp4 ${D}${datadir}/movies/ +} + +FILES:${PN} += "${datadir}/movies" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules b/meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules similarity index 100% rename from meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules rename to meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb similarity index 100% rename from meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb similarity index 94% rename from meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb index a6310647b..1e6900580 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb @@ -24,8 +24,8 @@ REQUIRED_MACHINE_FEATURES = "vcu" PACKAGE_ARCH = "${MACHINE_ARCH}" -DEPENDS = "libvcu-ctrlsw" -RDEPENDS:${PN} = "kernel-module-vcu libvcu-ctrlsw" +DEPENDS = "vcu-ctrlsw" +RDEPENDS:${PN} = "libvcu-ctrlsw" EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-ctrlsw_1.0.79-xilinx-v2024.1.bb similarity index 87% rename from meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-ctrlsw_1.0.79-xilinx-v2024.1.bb index 9903db536..c6b54b51e 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-ctrlsw_1.0.79-xilinx-v2024.1.bb @@ -1,5 +1,5 @@ SUMMARY = "Control Software for VCU" -DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VCU encoder/decoded software API" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" @@ -24,6 +24,7 @@ REQUIRED_MACHINE_FEATURES = "vcu" PACKAGE_ARCH = "${MACHINE_ARCH}" RDEPENDS:${PN} = "kernel-module-vcu" +RDEPENDS:libvcu-ctrlsw = "kernel-module-vcu" EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" @@ -36,6 +37,9 @@ do_install() { oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ } +PACKAGES =+ "libvcu-ctrlsw" +FILES:libvcu-ctrlsw += "${libdir}/liballegro*.so.*" + # These libraries shouldn't get installed in world builds unless something # explicitly depends upon them. diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb similarity index 100% rename from meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules b/meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules similarity index 100% rename from meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules rename to meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb similarity index 100% rename from meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb similarity index 94% rename from meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb index 25acc5d2b..bc60b0ac5 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb @@ -21,8 +21,8 @@ REQUIRED_MACHINE_FEATURES = "vdu" PACKAGE_ARCH = "${MACHINE_ARCH}" -DEPENDS = "libvdu-ctrlsw" -RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw" +DEPENDS = "vdu-ctrlsw" +RDEPENDS:${PN} = "libvdu-ctrlsw" EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-ctrlsw_1.0.79-xilinx-v2024.1.bb similarity index 83% rename from meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-ctrlsw_1.0.79-xilinx-v2024.1.bb index 08d152d2a..2cacf832f 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-ctrlsw_1.0.79-xilinx-v2024.1.bb @@ -1,8 +1,11 @@ SUMMARY = "Control Software for VDU" -DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VDU deconder software API" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" +# Recipe has been renamed +PROVIDES += "libvdu-ctrlsw" + PV .= "+git" BRANCH ?= "xlnx_rel_v2024.1" @@ -22,6 +25,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" PACKAGE_ARCH = "${MACHINE_ARCH}" RDEPENDS:${PN} = "kernel-module-vdu" +RDEPENDS:libvdu-ctrlsw = "kernel-module-vdu" do_compile[dirs] = "${S}" do_install[dirs] = "${S}" @@ -34,6 +38,9 @@ do_install:append() { oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ } +PACKAGES =+ "libvdu-ctrlsw" +FILES:libvdu-ctrlsw += "${libdir}/liballegro*.so.*" + # These libraries shouldn't get installed in world builds unless something # explicitly depends upon them. diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb similarity index 100% rename from meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb rename to meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb diff --git a/meta-xilinx-standalone-experimental b/meta-xilinx-standalone-experimental new file mode 120000 index 000000000..57cd8cff8 --- /dev/null +++ b/meta-xilinx-standalone-experimental @@ -0,0 +1 @@ +meta-xilinx-standalone-sdt \ No newline at end of file diff --git a/meta-xilinx-standalone-experimental/conf/layer.conf b/meta-xilinx-standalone-experimental/conf/layer.conf deleted file mode 100644 index b4282ce08..000000000 --- a/meta-xilinx-standalone-experimental/conf/layer.conf +++ /dev/null @@ -1,29 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend \ - ${LAYERDIR}/recipes-*/*.bb \ - ${LAYERDIR}/recipes-*/*.bbappend \ - " - -BBFILE_COLLECTIONS += "xilinx-standalone-exp" -BBFILE_PATTERN_xilinx-standalone-exp = "^${LAYERDIR}/" -BBFILE_PRIORITY_xilinx-standalone-exp = "7" - -# Allow other layers to find the root of this layer if necessary -META_XILINX_STANDALONE_EXP_PATH = "${LAYERDIR}" - -LAYERDEPENDS_xilinx-standalone-exp = "core \ - xilinx \ - xilinx-standalone \ - xilinx-microblaze \ - virtualization-layer \ - openamp-layer \ - " - -LAYERSERIES_COMPAT_xilinx-standalone-exp = "scarthgap" - -# Aid debugging, show where the device trees are we are using -BUILDCFG_VARS:append = " SYSTEM_DTFILE CONFIG_DTFILE" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend deleted file mode 100644 index 0c51fbad9..000000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend +++ /dev/null @@ -1,25 +0,0 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - -inherit esw - -ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src" - -ESW_COMPONENT = "zynqmp_pmufw.elf" - - -do_configure:prepend() { - ( - cd ${S} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_install() { - : -} - -DEPENDS += "xilstandalone xiltimer xilfpga xilskey" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend deleted file mode 100644 index 96cd38cd6..000000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend +++ /dev/null @@ -1,34 +0,0 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - -inherit esw - -ESW_COMPONENT_SRC = "/lib/sw_apps/versal_psmfw/src/" - -ESW_COMPONENT = "versal_psmfw.elf" - -do_configure:prepend() { - ( - cd ${S} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_configure() { - cmake_do_configure -} - -do_compile() { - cmake_do_compile - - ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -DEPENDS += "xilstandalone libxil xiltimer" diff --git a/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend b/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend deleted file mode 100644 index 88b452952..000000000 --- a/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx.inc diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-sdt/README.md similarity index 87% rename from meta-xilinx-standalone-experimental/README.md rename to meta-xilinx-standalone-sdt/README.md index 5ca782bf4..d2d54c2e3 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-sdt/README.md @@ -1,12 +1,7 @@ -# meta-xilinx-standalone-experimental +# meta-xilinx-standalone-sdt -This layer contains experimental items that may eventually be added to the -meta-xilinx-standalone layer. The components in this layer may or may not be -buildable as they may require unreleased code. - -The non-Linux software components are still in development and this should be -considered to be a preview release only. For instance, some components may not -be buildable, expect APIs to change on various parts and pieces. +This layer contains System Device Tree items that are related to the +meta-xilinx-standalone layer. ## Build Instructions @@ -15,12 +10,12 @@ Be sure to read everything below. > **Pre-requisites:** > * To use this layer you must REMOVE meta-xilinx-tools from your project. -meta-xilinx-tools is not compatible with this experimental approach. You may +meta-xilinx-tools is not compatible with this SDT approach. You may also have to remove other layers that depend on meta-xilinx-tools, such as meta-kria and meta-system-controller. > * Follow [System Device Tree Instructions](https://github.com/Xilinx/system-device-tree-xlnx/blob/master/README.md) > to generate the SDT output. -> * To use the experimental version of the embedded software (firmware) as well +> * To use the SDT version of the embedded software (firmware) as well as system configuration, you must build through gen-machineconf tool. This tool is passed a output of system device tree directory. @@ -36,7 +31,7 @@ $ git clone -b https://github.com/Xilinx/meta-openamp 4. Remove meta-xilinx-tools and meta-xilinx-tools dependency layers(such as meta-kria and meta-system-controller if included in bblayers.conf), then add - the meta-xilinx-standalone-experimental and meta-openamp layer. + the meta-xilinx-standalone-sdt and meta-openamp layer. > **Note:** SDT builds for following devices are not supported in 2024.1 release. > * Zynq 7000 @@ -48,7 +43,7 @@ $ git clone -b https://github.com/Xilinx/meta-openamp $ bitbake-layers remove-layer meta-xilinx-tools $ bitbake-layers remove-layer meta-kria $ bitbake-layers remove-layer meta-system-controller -$ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone-experimental +$ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone-sdt $ bitbake-layers add-layer .//meta-openamp ``` @@ -162,24 +157,24 @@ This layer depends on: URI: https://git.yoctoproject.org/poky layers: meta, meta-poky - branch: langdale + branch: scarthgap URI: https://git.openembedded.org/meta-openembedded layers: meta-oe - branch: langdale + branch: scarthgap URI: https://git.yoctoproject.org/meta-xilinx (official version) https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) layers: meta-xilinx-core, meta-xilinx-bsp, meta-xilinx-standalone - branch: langdale or amd xilinx release version (e.g. rel-v2024.1) + branch: scarthgap or amd xilinx release version (e.g. rel-v2024.2) URI: https://git.yoctoproject.org/meta-virtualization (official version) https://github.com/Xilinx/meta-virtualization (development and amd xilinx release) - branch: langdale or amd xilinx release version (e.g. rel-v2024.1) + branch: scarthgap or amd xilinx release version (e.g. rel-v2024.2) URI: https://github.com/OpenAMP/meta-openamp (official version) https://github.com/Xilinx/meta-openamp (development and amd xilinx release) - branch: langdale or amd xilinx release version (e.g. rel-v2024.1) + branch: scarthgap or amd xilinx release version (e.g. rel-v2024.2) diff --git a/meta-xilinx-standalone-experimental/README.sdt.bsp.md b/meta-xilinx-standalone-sdt/README.sdt.bsp.md similarity index 100% rename from meta-xilinx-standalone-experimental/README.sdt.bsp.md rename to meta-xilinx-standalone-sdt/README.sdt.bsp.md diff --git a/meta-xilinx-standalone-sdt/classes-global/meta-xilinx-standalone-sdt-cfg.bbclass b/meta-xilinx-standalone-sdt/classes-global/meta-xilinx-standalone-sdt-cfg.bbclass new file mode 100644 index 000000000..c76fc14a1 --- /dev/null +++ b/meta-xilinx-standalone-sdt/classes-global/meta-xilinx-standalone-sdt-cfg.bbclass @@ -0,0 +1,6 @@ +# We need to load the ESW and related config components, only if XILINX_WITH_ESW +# is in defined in some way. Since we don't know the configuration during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_XILINX_STANDLONE_CONFIG_PATH file. + +include ${@'${META_XILINX_STANDLONE_SDT_CONFIG_PATH}' if d.getVar('XILINX_WITH_ESW') == 'sdt' else ''} diff --git a/meta-xilinx-standalone-sdt/classes-global/sanity-meta-xilinx-standalone-sdt.bbclass b/meta-xilinx-standalone-sdt/classes-global/sanity-meta-xilinx-standalone-sdt.bbclass new file mode 100644 index 000000000..dcafe02b8 --- /dev/null +++ b/meta-xilinx-standalone-sdt/classes-global/sanity-meta-xilinx-standalone-sdt.bbclass @@ -0,0 +1,10 @@ +addhandler security_bbappend_distrocheck +security_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck" +python security_bbappend_distrocheck() { + skip_check = e.data.getVar('SKIP_META_XILINX_TOOLS_SANITY_CHECK') == "1" + if e.data.getVar('XILINX_WITH_ESW') != 'sdt' and not skip_check: + bb.warn("You have included the meta-xilinx-standalone-sdt layer, but \ +it has not been enabled using XILINX_WITH_ESW in your configuration. Some \ +bbappend files and preferred version setting may not take effect. See the \ +meta-security README for details on enabling security support.") +} diff --git a/meta-xilinx-standalone-sdt/classes-recipe/check_sdt_enabled.bbclass b/meta-xilinx-standalone-sdt/classes-recipe/check_sdt_enabled.bbclass new file mode 100644 index 000000000..e23afb1d9 --- /dev/null +++ b/meta-xilinx-standalone-sdt/classes-recipe/check_sdt_enabled.bbclass @@ -0,0 +1,4 @@ +python() { + if d.getVar('XILINX_WITH_ESW') != 'sdt': + raise bb.parse.SkipRecipe("This package requires sdt, which is not enabled. XILINX_WITH_ESW set to '%s'." % d.getVar('XILINX_WITH_ESW')) +} diff --git a/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass b/meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass similarity index 84% rename from meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass rename to meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass index a299fc9cf..17d8b159b 100644 --- a/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass +++ b/meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass @@ -1,9 +1,9 @@ -PV = "${ESW_VER}" +inherit check_sdt_enabled python3native xlnx-embeddedsw pkgconfig cmake -inherit python3native xlnx-embeddedsw pkgconfig cmake - -# It is unclear why the following is needed, but without this cmake/ninja -# will generate: -isystem /usr/include which will cause a build failure. +# Poky always tries to enable EXPORT_COMPILE_COMMANDS, but ESW changes +# behavior when this is enabled and will generate: +# -isystem /usr/include +# which will cause a build failures. OECMAKE_ARGS:remove = "-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON" SRCREV_FORMAT = "src_decouple" @@ -36,19 +36,7 @@ do_configure[depends] += "device-tree:do_deploy" do_compile[depends] += "device-tree:do_deploy" do_install[depends] += "device-tree:do_deploy" -def get_xlnx_cmake_machine(fam, variant, d): - cmake_machine = fam - if (fam == 'zynqmp'): - cmake_machine = 'ZynqMP' - elif (fam == 'versal'): - cmake_machine = 'Versal' - if (variant == 'net'): - cmake_machine = 'VersalNet' - elif (fam == 'zynq'): - cmake_machine = 'Zynq' - return cmake_machine - -def get_xlnx_cmake_processor(tune, machine, variant, d): +def get_xlnx_cmake_processor(tune, machine, d): cmake_processor = tune if tune.startswith('microblaze'): if (machine == 'psu_pmu_0'): @@ -67,12 +55,17 @@ def get_xlnx_cmake_processor(tune, machine, variant, d): cmake_processor = 'cortexa53' elif tune == 'cortexa72': cmake_processor = 'cortexa72' - if (variant == 'net'): - cmake_processor = 'cortexa78' + elif tune == 'cortexa78': + cmake_processor = 'cortexa78' return cmake_processor -XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d.getVar('SOC_VARIANT'), d)}" -XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d.getVar('SOC_VARIANT'), d)}" +XLNX_CMAKE_MACHINE = "undefined" +XLNX_CMAKE_MACHINE:zynq = "Zynq" +XLNX_CMAKE_MACHINE:zynqmp = "ZynqMP" +XLNX_CMAKE_MACHINE:versal = "Versal" +XLNX_CMAKE_MACHINE:versal-net = "VersalNet" + +XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d)}" XLNX_CMAKE_SYSTEM_NAME ?= "Generic" XLNX_CMAKE_BSP_VARS ?= "" @@ -152,7 +145,7 @@ python do_generate_driver_data() { command = ["lopper"] + ["-f"] + [system_dt[0]] + ["--"] + ["baremetalconfig_xlnx.py"] + [machine] + [src_dir[0]] subprocess.run(command, check = True) src_file = glob.glob('*_g.c') - if os.path.exists(src_file[0]): + if src_file and os.path.exists(src_file[0]): bb.note("Generated config file for driver %s" % driver_name) command = ["install"] + ["-m"] + ["0755"] + [src_file[0]] + [src_dir[0]] subprocess.run(command, check = True) diff --git a/meta-xilinx-standalone-experimental/classes-recipe/esw_apps_common.bbclass b/meta-xilinx-standalone-sdt/classes-recipe/esw_apps_common.bbclass similarity index 100% rename from meta-xilinx-standalone-experimental/classes-recipe/esw_apps_common.bbclass rename to meta-xilinx-standalone-sdt/classes-recipe/esw_apps_common.bbclass diff --git a/meta-xilinx-standalone-experimental/classes-recipe/esw_examples.bbclass b/meta-xilinx-standalone-sdt/classes-recipe/esw_examples.bbclass similarity index 100% rename from meta-xilinx-standalone-experimental/classes-recipe/esw_examples.bbclass rename to meta-xilinx-standalone-sdt/classes-recipe/esw_examples.bbclass diff --git a/meta-xilinx-standalone-sdt/conf/distro/include/meta-xilinx-standalone-sdt-default-versions.inc b/meta-xilinx-standalone-sdt/conf/distro/include/meta-xilinx-standalone-sdt-default-versions.inc new file mode 100644 index 000000000..47f25090f --- /dev/null +++ b/meta-xilinx-standalone-sdt/conf/distro/include/meta-xilinx-standalone-sdt-default-versions.inc @@ -0,0 +1,245 @@ +# Aid debugging, show where the device trees are we are using +BUILDCFG_VARS:append = " SYSTEM_DTFILE CONFIG_DTFILE" + +# These are the recipes-library items, they should all be from the same ESW version +PREFERRED_VERSION_freertos10-xilinx ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_libxil ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_lwip ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilffs ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilffs-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilfpga ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilfpga-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilloader ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilmailbox ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilmailbox-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilnvm ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilnvm-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilpdi ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilplmi ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilpm ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilpuf ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilpuf-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilsecure ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilsecure-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilsem ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilskey ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilskey-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xilstandalone ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xiltimer ??= "${PREFERRED_VERSION_esw}%" + +# The following are the recipes-drivers used by the library items above +# they should come from the same ESW version as the library. +PREFERRED_VERSION_avbuf ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axicdma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axicdma-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axidma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axidma-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axiethernet ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axiethernet-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axipmon ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axipmon-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axis-switch ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axivdma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_axivdma-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_bram ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_bram-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_can ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_can-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_canfd ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_canfd-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_canps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_canps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_cframe ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_cfupmc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_clk-wiz ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_clk-wiz-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_clockps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_clockps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_common ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_coresightps-dcc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_csudma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_csudma-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ddrcpsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_devcfg ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_devcfg-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeccf ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeccf-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeequ ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeequ-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfemix ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfemix-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeofdm ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeofdm-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeprach ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfeprach-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfxasm ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dfxasm-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dmaps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dmaps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dp14 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dp14rxss ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dpdma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_dppsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_emaclite ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_emaclite-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_emacps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_emacps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_emc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_gpio ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_gpio-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_gpiops ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_gpiops-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_hwicap ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_i2srx ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_i2stx ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_i3cpsx ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_i3cpsx-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_iic ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_iic-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_iicps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_iicps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_intc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_intc-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_iomodule ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ipipsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ipipsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_llfifo ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_llfifo-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_mbox ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_mbox-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_mcdma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_mcdma-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_mutex ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_mutex-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_nandps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_nandpsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_nandpsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ospipsv ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ospipsv-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_pciepsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_pciepsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_prc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_prd ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_qspips ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_qspips-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_qspipsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_qspipsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_resetps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_resetps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_rfdc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_rfdc-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_rtcpsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_rtcpsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_scugic ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_scugic-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_scutimer ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_scuwdt ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sd-fec ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sdps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sdps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_spi ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_spips ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_spips-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sysmon ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sysmon-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sysmonpsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sysmonpsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sysmonpsv ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sysmonpsv-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_tft ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_tmrctr ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_tmrctr-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_tmr-inject ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_tmr-manager ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_trafgen ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_trafgen-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_trngpsv ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_trngpsx ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ttcps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_ttcps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartlite ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartlite-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartns550 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartns550-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartpsv ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_uartpsv-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_usb ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_usb-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_usbps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_usbpsu ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_usbpsu-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-csc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-deinterlacer ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-demosaic ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-demosaic-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-frmbuf-rd ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-frmbuf-rd-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-frmbuf-wr ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-frmbuf-wr-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-gamma-lut ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-gamma-lut-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hcresampler ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hdmi-common ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hdmiphy1 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hdmirx1 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hdmirxss1 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hdmitx1 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hdmitxss1 ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-hscaler ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_video-common ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-letterbox ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-mix ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-mix-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-multi-scaler ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-multi-scaler-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_vphy ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_vprocss ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_vprocss-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-scenechange ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-scenechange-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_vtc ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-tpg ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-vcresampler ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-vscaler ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-warp-filter ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_v-warp-init ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_wdtps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_wdtps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_wdttb ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_wdttb-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xadcps ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xadcps-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xdmapcie ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xdmapcie-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xxvethernet ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_xxvethernet-example ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_zdma ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_zdma-example ??= "${PREFERRED_VERSION_esw}%" + +# The following are applications that use the libraries and drivers +PREFERRED_VERSION_ddr-self-refresh ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_empty-application ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_freertos-hello-world ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_freertos-lwip-echo-server ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_freertos-lwip-tcp-perf-client ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_freertos-lwip-tcp-perf-server ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_freertos-lwip-udp-perf-client ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_freertos-lwip-udp-perf-server ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_hello-world ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_lwip-echo-server ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_lwip-tcp-perf-client ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_lwip-tcp-perf-server ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_lwip-udp-perf-client ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_lwip-udp-perf-server ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_memory-tests ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_openamp-fw-echo-testd.bb ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_openamp-fw-mat-muld.bb ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_openamp-fw-rpc-demo.bb ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_peripheral-tests ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_sample-fw-package.bb ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_srec-bootloader ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_srec-spi-bootloader ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_zynq-dram-test ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_zynqmp-dram-test ??= "${PREFERRED_VERSION_esw}%" diff --git a/meta-xilinx-standalone-experimental/conf/distro/xilinx-freertos.conf b/meta-xilinx-standalone-sdt/conf/distro/xilinx-freertos.conf similarity index 100% rename from meta-xilinx-standalone-experimental/conf/distro/xilinx-freertos.conf rename to meta-xilinx-standalone-sdt/conf/distro/xilinx-freertos.conf diff --git a/meta-xilinx-standalone-sdt/conf/layer.conf b/meta-xilinx-standalone-sdt/conf/layer.conf new file mode 100644 index 000000000..805e002ca --- /dev/null +++ b/meta-xilinx-standalone-sdt/conf/layer.conf @@ -0,0 +1,41 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend \ + ${LAYERDIR}/recipes-*/*.bb \ + ${LAYERDIR}/recipes-*/*.bbappend \ + " + +BBFILE_COLLECTIONS += "xilinx-standalone-sdt" +BBFILE_PATTERN_xilinx-standalone-sdt = "^${LAYERDIR}/" +BBFILE_PRIORITY_xilinx-standalone-sdt = "7" + +# Allow other layers to find the root of this layer if necessary +META_XILINX_STANDALONE_EXP_PATH = "${LAYERDIR}" + +LAYERDEPENDS_xilinx-standalone-sdt = "core \ + xilinx \ + xilinx-standalone \ + xilinx-microblaze \ + virtualization-layer \ + openamp-layer \ + " + +LAYERSERIES_COMPAT_xilinx-standalone-sdt = "scarthgap" + +# Set this to enable this layer +XILINX_WITH_ESW ?= "sdt" + +# Sanity check for meta-xilinx-standalone layer. +# Setting SKIP_META_XILINX_STANDALONE_SANITY_CHECK to "1" would skip the bbappend files check. +INHERIT += "sanity-meta-xilinx-standalone-sdt" + +# We need to load the ESW and related config components, only if XILINX_WITH_ESW +# is in defined in some way. Since we don't know the configuration during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_XILINX_STANDLONE_CONFIG_PATH file. +META_XILINX_STANDLONE_SDT_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-xilinx-standalone-sdt-default-versions.inc" + +USER_CLASSES:append = " meta-xilinx-standalone-sdt-cfg" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/empty-application/empty-application_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/empty-application/empty-application_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/hello-world/hello-world_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/hello-world/hello-world_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/memory-tests/memory-tests_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/memory-tests/memory-tests_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb b/meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb rename to meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb b/meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb rename to meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb b/meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb rename to meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc b/meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw.inc similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc rename to meta-xilinx-standalone-sdt/recipes-applications/openamp-fw/openamp-fw.inc diff --git a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/sample-fw-package/sample-fw-package.bb b/meta-xilinx-standalone-sdt/recipes-applications/sample-fw-package/sample-fw-package.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/sample-fw-package/sample-fw-package.bb rename to meta-xilinx-standalone-sdt/recipes-applications/sample-fw-package/sample-fw-package.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/device-tree.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/device-tree.bbappend new file mode 100644 index 000000000..449a69c8e --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/device-tree.bbappend @@ -0,0 +1 @@ +COMPATIBLE_HOST:xilinx-freertos = "${HOST_SYS}" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/esw-conf_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/esw-conf_2024.1.bb diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend new file mode 100644 index 000000000..e195f5a43 --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend @@ -0,0 +1 @@ +require ${@'fsbl-firmware_sdt.inc' if d.getVar('XILINX_WITH_ESW') == 'sdt' else ''} diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/fsbl-firmware_sdt.inc similarity index 90% rename from meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend rename to meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/fsbl-firmware_sdt.inc index 765fb159a..321642a66 100644 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/fsbl-firmware_sdt.inc @@ -1,9 +1,3 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - inherit esw # Not compatible with Zynq @@ -16,6 +10,9 @@ ESW_COMPONENT_SRC:zynqmp = "/lib/sw_apps/zynqmp_fsbl/src" DEPENDS += "xilstandalone xiltimer xilffs xilsecure xilpm" +CFLAGS:append:aarch64 = " -DARMA53_64" +CFLAGS:append:armv7r = " -DARMR5" + python() { psu_init_path = d.getVar('PSU_INIT_PATH') if not psu_init_path: @@ -56,11 +53,15 @@ do_install() { : } -addtask deploy before do_build after do_package +PACKAGES = "" ESW_COMPONENT = "undefined" ESW_COMPONENT:zynq = "zynq_fsbl.elf" ESW_COMPONENT:zynqmp = "zynqmp_fsbl.elf" -CFLAGS:append:aarch64 = " -DARMA53_64" -CFLAGS:append:armv7r = " -DARMR5" +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf + ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf +} + +addtask deploy before do_build after do_package diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/plm-firmware_%.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/plm-firmware_%.bbappend new file mode 100644 index 000000000..56590e907 --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/plm-firmware_%.bbappend @@ -0,0 +1 @@ +require ${@'plm-firmware_sdt.inc' if d.getVar('XILINX_WITH_ESW') == 'sdt' else ''} diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/plm-firmware_sdt.inc similarity index 53% rename from meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend rename to meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/plm-firmware_sdt.inc index 202764acc..75580ba31 100644 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/plm-firmware_sdt.inc @@ -1,14 +1,8 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - inherit esw -ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/" +DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem xilnvm" -ESW_COMPONENT = "versal_plm.elf" +ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/" do_configure:prepend() { ( @@ -17,13 +11,7 @@ do_configure:prepend() { ) } -do_configure() { - cmake_do_configure -} - -do_compile() { - cmake_do_compile - +do_compile:append() { ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin } @@ -31,4 +19,13 @@ do_install() { : } -DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem xilnvm" +ESW_COMPONENT = "versal_plm.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PLM_BASE_NAME}.elf + ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf + install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin + ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/pmu-firmware_%.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/pmu-firmware_%.bbappend new file mode 100644 index 000000000..26c09a7f8 --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/pmu-firmware_%.bbappend @@ -0,0 +1 @@ +require ${@'pmu-firmware_sdt.inc' if d.getVar('XILINX_WITH_ESW') == 'sdt' else ''} diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/pmu-firmware_sdt.inc b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/pmu-firmware_sdt.inc new file mode 100644 index 000000000..e5b123cdb --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/pmu-firmware_sdt.inc @@ -0,0 +1,31 @@ +inherit esw + +ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src" + +DEPENDS += "xilstandalone xiltimer xilfpga xilskey" + +do_configure:prepend() { + ( + cd ${S} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_compile:append() { + ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +ESW_COMPONENT = "zynqmp_pmufw.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf + ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf + install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin + ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/psm-firmware_%.bbappend b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/psm-firmware_%.bbappend new file mode 100644 index 000000000..2033f8013 --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/psm-firmware_%.bbappend @@ -0,0 +1 @@ +require ${@'psm-firmware_sdt.inc' if d.getVar('XILINX_WITH_ESW') == 'sdt' else ''} diff --git a/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/psm-firmware_sdt.inc b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/psm-firmware_sdt.inc new file mode 100644 index 000000000..acd3a82a6 --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-bsp/embeddedsw/psm-firmware_sdt.inc @@ -0,0 +1,31 @@ +inherit esw + +DEPENDS += "xilstandalone libxil xiltimer" + +ESW_COMPONENT_SRC = "/lib/sw_apps/versal_psmfw/src/" + +do_configure:prepend() { + ( + cd ${S} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_compile:append() { + ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +ESW_COMPONENT = "versal_psmfw.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf + ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf + install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin + ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/avbuf_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/avbuf_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/avbuf_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axicdma-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axicdma-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axicdma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axicdma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axicdma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axidma-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axidma-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axidma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axidma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axidma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axiethernet-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axiethernet-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axiethernet_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axiethernet_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axipmon-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axipmon-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axipmon_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axipmon_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axipmon_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axis-switch_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axis-switch_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axivdma-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axivdma-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/axivdma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/axivdma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/axivdma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/bram-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/bram-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/bram-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/bram_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/bram_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/bram_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/can-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/can-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/can-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/can_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/can_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/can_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/canfd-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/canfd-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/canfd_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/canfd_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/canfd_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/canps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/canps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/canps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/canps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/canps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/canps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cframe_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/cframe_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/cframe_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/cframe_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/cfupmc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/cfupmc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/clk-wiz-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/clk-wiz-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/clk-wiz_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/clk-wiz_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/clockps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/clockps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/clockps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/clockps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/clockps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/common_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/common_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/coresightps-dcc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/coresightps-dcc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/csudma-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/csudma-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/csudma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/csudma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/csudma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ddrcpsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ddrcpsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/devcfg-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/devcfg-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/devcfg_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/devcfg_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/devcfg_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeccf-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeccf-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeccf_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeccf_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeequ-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeequ-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeequ_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeequ_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfemix-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfemix-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfemix_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfemix_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeofdm-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeofdm-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeofdm_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeofdm_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeprach-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeprach-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfeprach_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfeprach_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfxasm-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfxasm-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dfxasm_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dfxasm_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dmaps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dmaps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dmaps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dmaps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dmaps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dp14_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dp14_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dp14_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dp14_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dp14rxss_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dp14rxss_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dp14rxss_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dp14rxss_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dpdma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dpdma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dpdma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/dppsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/dppsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/dppsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/emaclite-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/emaclite-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/emaclite_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/emaclite_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/emaclite_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/emacps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/emacps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/emacps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/emacps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/emacps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/emc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/emc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/emc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/gpio-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/gpio-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/gpio_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/gpio_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/gpio_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/gpiops-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/gpiops-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/gpiops_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/gpiops_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/gpiops_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/hwicap_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/hwicap_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/hwicap_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/hwicap_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i2srx_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/i2srx_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/i2srx_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/i2srx_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i2stx_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/i2stx_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/i2stx_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/i2stx_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/i3cpsx-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/i3cpsx-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/i3cpsx_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/i3cpsx_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/iic-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/iic-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/iic-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/iic_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/iic_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/iic_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/iicps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/iicps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/iicps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/iicps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/iicps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/intc-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/intc-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/intc-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/intc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/intc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/intc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/iomodule_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/iomodule_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/iomodule_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ipipsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ipipsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ipipsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ipipsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/llfifo-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/llfifo-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/llfifo_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/llfifo_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/llfifo_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/mbox-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/mbox-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/mbox_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/mbox_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/mbox_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/mcdma-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/mcdma-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/mcdma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/mcdma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/mcdma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/mutex-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/mutex-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/mutex_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/mutex_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/mutex_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/nandps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/nandps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/nandps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/nandpsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/nandpsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/nandpsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/nandpsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ospipsv-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ospipsv-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ospipsv_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ospipsv_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/pciepsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/pciepsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/pciepsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/pciepsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/prc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/prc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/prc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/prc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/prd_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/prd_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/prd_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/prd_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/qspips-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/qspips-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/qspips_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/qspips_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/qspips_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/qspipsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/qspipsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/qspipsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/qspipsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/resetps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/resetps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/resetps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/resetps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/resetps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/rfdc-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/rfdc-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rfdc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/rfdc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/rfdc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/rfdc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/rtcpsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/rtcpsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/rtcpsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/rtcpsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/scugic-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/scugic-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/scugic_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/scugic_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/scugic_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scutimer_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/scutimer_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/scutimer_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/scutimer_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scuwdt_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/scuwdt_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/scuwdt_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/scuwdt_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sd-fec_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sd-fec_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sd-fec_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sd-fec_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sdps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sdps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sdps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sdps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sdps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spi_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/spi_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/spi_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/spi_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/spips-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/spips-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/spips-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/spips_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/spips_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/spips_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sysmon-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sysmon-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sysmon_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sysmon_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sysmon_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsv-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsv-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsv_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/sysmonpsv_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tft_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/tft_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/tft_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/tft_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/tmr-inject_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/tmr-inject_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/tmr-manager_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/tmr-manager_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/tmrctr-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/tmrctr-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/tmrctr_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/tmrctr_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/trafgen-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/trafgen-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/trafgen_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/trafgen_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/trafgen_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trngpsv_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/trngpsv_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/trngpsv_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/trngpsv_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trngpsx_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/trngpsx_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/trngpsx_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/trngpsx_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ttcps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ttcps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/ttcps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/ttcps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/ttcps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartlite-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartlite-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartlite_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartlite_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartlite_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartns550-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartns550-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartns550_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartns550_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartns550_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartpsv-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartpsv-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/uartpsv_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/uartpsv_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/usb-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/usb-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/usb-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/usb_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/usb_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/usb_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/usbps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/usbps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/usbps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/usbpsu-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/usbpsu-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/usbpsu_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/usbpsu_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-csc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-csc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-csc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-deinterlacer_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-deinterlacer_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-demosaic-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-demosaic-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-demosaic_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-demosaic_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-rd-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-rd-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-rd_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-rd_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-wr-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-wr-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-wr_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-frmbuf-wr_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-gamma-lut-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-gamma-lut-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-gamma-lut_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-gamma-lut_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hcresampler_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hcresampler_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmi-common_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hdmi-common_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hdmi-common_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hdmi-common_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmiphy1_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hdmiphy1_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hdmiphy1_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hdmiphy1_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirx1_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hdmirx1_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirx1_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hdmirx1_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirxss1_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hdmirxss1_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirxss1_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hdmirxss1_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitx1_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hdmitx1_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitx1_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hdmitx1_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitxss1_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hdmitxss1_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitxss1_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hdmitxss1_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-hscaler_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-hscaler_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-letterbox_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-letterbox_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-mix-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-mix-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-mix_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-mix_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-mix_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-multi-scaler-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-multi-scaler-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-multi-scaler_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-multi-scaler_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-scenechange-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-scenechange-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-scenechange_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-scenechange_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-tpg_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-tpg_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-vcresampler_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-vcresampler_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-vscaler_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-vscaler_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-filter_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-warp-filter_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-warp-filter_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-warp-filter_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-init_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/v-warp-init_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/v-warp-init_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/v-warp-init_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/video-common_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/video-common_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/video-common_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/video-common_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vphy_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/vphy_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/vphy_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/vphy_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/vprocss-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/vprocss-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/vprocss_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/vprocss_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/vprocss_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vtc_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/vtc_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/vtc_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/vtc_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/wdtps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/wdtps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/wdtps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/wdtps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/wdtps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/wdttb-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/wdttb-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/wdttb_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/wdttb_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/wdttb_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/xadcps-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/xadcps-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/xadcps_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/xadcps_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/xadcps_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/xdmapcie-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/xdmapcie-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/xdmapcie_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/xdmapcie_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/xxvethernet-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/xxvethernet-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/xxvethernet_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/xxvethernet_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/zdma-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/zdma-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-drivers/zdma_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-drivers/zdma_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-drivers/zdma_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/freertos10-xilinx_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/freertos10-xilinx_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/libxil_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/libxil_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/lwip_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/lwip_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilffs-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilffs-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilffs_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilffs_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilfpga-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilfpga-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilfpga_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilfpga_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilloader_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilloader_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilmailbox-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilmailbox-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilmailbox_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilmailbox_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilnvm-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilnvm-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilnvm_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilnvm_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilpdi_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilpdi_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilplmi_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilplmi_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilpm_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilpm_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilpm_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilpuf-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilpuf-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilpuf_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilpuf_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilsecure-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilsecure-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilsecure_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilsecure_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsem_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilsem_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilsem_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilsem_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilskey-example_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilskey-example_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilskey-example_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilskey-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilskey_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilskey_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilskey_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilskey_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xilstandalone_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xilstandalone_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_2024.1.bb b/meta-xilinx-standalone-sdt/recipes-libraries/xiltimer_2024.1.bb similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_2024.1.bb rename to meta-xilinx-standalone-sdt/recipes-libraries/xiltimer_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend b/meta-xilinx-standalone-sdt/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend similarity index 100% rename from meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend rename to meta-xilinx-standalone-sdt/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend diff --git a/meta-xilinx-standalone-sdt/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend b/meta-xilinx-standalone-sdt/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend new file mode 100644 index 000000000..ca167bd1f --- /dev/null +++ b/meta-xilinx-standalone-sdt/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend @@ -0,0 +1 @@ +require ${@'${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx.inc' if d.getVar('XILINX_WITH_ESW') == 'sdt' else ''} diff --git a/meta-xilinx-standalone-experimental/scripts/microblaze_dtb.py b/meta-xilinx-standalone-sdt/scripts/microblaze_dtb.py similarity index 100% rename from meta-xilinx-standalone-experimental/scripts/microblaze_dtb.py rename to meta-xilinx-standalone-sdt/scripts/microblaze_dtb.py diff --git a/meta-xilinx-standalone/README.md b/meta-xilinx-standalone/README.md index aa672b1d6..a1955d5b7 100644 --- a/meta-xilinx-standalone/README.md +++ b/meta-xilinx-standalone/README.md @@ -58,14 +58,14 @@ This layer depends on: URI: https://git.yoctoproject.org/poky layers: meta, meta-poky - branch: langdale + branch: scarthgap URI: https://git.openembedded.org/meta-openembedded layers: meta-oe - branch: langdale + branch: scarthgap URI: https://git.yoctoproject.org/meta-xilinx (official version) https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) layers: meta-xilinx-microblaze, meta-xilinx-core, meta-xilinx-bsp - branch: langdale or amd xilinx release version (e.g. rel-v2023.1) + branch: scarthgap or amd xilinx release version (e.g. rel-v2023.1) diff --git a/meta-xilinx-standalone/classes/meta-xilinx-standalone-cfg.bbclass b/meta-xilinx-standalone/classes/meta-xilinx-standalone-cfg.bbclass new file mode 100644 index 000000000..a7367f7d9 --- /dev/null +++ b/meta-xilinx-standalone/classes/meta-xilinx-standalone-cfg.bbclass @@ -0,0 +1,6 @@ +# We need to load the ESW and related config components, only if XILINX_WITH_ESW +# is in defined in some way. Since we don't know the configuration during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_XILINX_STANDLONE_CONFIG_PATH file. + +include ${@'${META_XILINX_STANDALONE_CONFIG_PATH}' if d.getVar('XILINX_WITH_ESW') else ''} diff --git a/meta-xilinx-standalone/classes/sanity-meta-xilinx-standalone.bbclass b/meta-xilinx-standalone/classes/sanity-meta-xilinx-standalone.bbclass new file mode 100644 index 000000000..27d191c6c --- /dev/null +++ b/meta-xilinx-standalone/classes/sanity-meta-xilinx-standalone.bbclass @@ -0,0 +1,10 @@ +addhandler security_bbappend_distrocheck +security_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck" +python security_bbappend_distrocheck() { + skip_check = e.data.getVar('SKIP_META_XILINX_STANDALONE_SANITY_CHECK') == "1" + if not e.data.getVar('XILINX_WITH_ESW') and not skip_check: + bb.warn("You have included the meta-xilinx-standalone layer, but \ +it has not been enabled using XILINX_WITH_ESW in your configuration. Some \ +bbappend files and preferred version setting may not take effect. See the \ +meta-security README for details on enabling security support.") +} diff --git a/meta-xilinx-standalone/conf/distro/include/meta-xilinx-standalone-default-versions.inc b/meta-xilinx-standalone/conf/distro/include/meta-xilinx-standalone-default-versions.inc new file mode 100644 index 000000000..1d17741b9 --- /dev/null +++ b/meta-xilinx-standalone/conf/distro/include/meta-xilinx-standalone-default-versions.inc @@ -0,0 +1,10 @@ + +# What version of ESW and related should we default to? +# Note, there is no 'esw' recipe, but we're going to use this for all +# of the related items in this layer. +PREFERRED_VERSION_esw ??= "${@(d.getVar('XILINX_RELEASE_VERSION') or 'undefined').replace('v', '')}" + +PREFERRED_VERSION_plm-firmware ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_psm-firmware ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_pmu-firmware ??= "${PREFERRED_VERSION_esw}%" +PREFERRED_VERSION_fsbl-firmware ??= "${PREFERRED_VERSION_esw}%" diff --git a/meta-xilinx-standalone/conf/layer.conf b/meta-xilinx-standalone/conf/layer.conf index 84d83673c..8087d5a65 100644 --- a/meta-xilinx-standalone/conf/layer.conf +++ b/meta-xilinx-standalone/conf/layer.conf @@ -17,7 +17,17 @@ LAYERRECOMMENDS_xilinx-standalone = "xilinx-microblaze" LAYERSERIES_COMPAT_xilinx-standalone = "scarthgap" -PREFERRED_VERSION_plm-firmware ?= "${@d.getVar("XILINX_RELEASE_VERSION").replace('v','')}%" -PREFERRED_VERSION_psm-firmware ?= "${@d.getVar("XILINX_RELEASE_VERSION").replace('v','')}%" -PREFERRED_VERSION_pmu-firmware ?= "${@d.getVar("XILINX_RELEASE_VERSION").replace('v','')}%" -PREFERRED_VERSION_fsbl-firmware ?= "${@d.getVar("XILINX_RELEASE_VERSION").replace('v','')}%" +# Set this to enable this layer +#XILINX_WITH_ESW = "generic" + +# Sanity check for meta-xilinx-standalone layer. +# Setting SKIP_META_XILINX_STANDALONE_SANITY_CHECK to "1" would skip the bbappend files check. +INHERIT += "sanity-meta-xilinx-standalone" + +# We need to load the ESW and related config components, only if XILINX_WITH_ESW +# is in defined in some way. Since we don't know the configuration during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_XILINX_STANDLONE_CONFIG_PATH file. +META_XILINX_STANDALONE_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-xilinx-standalone-default-versions.inc" + +USER_CLASSES:append = " meta-xilinx-standalone-cfg" diff --git a/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend b/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend index c16580420..3fc7a89f0 100644 --- a/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend +++ b/meta-xilinx-standalone/recipes-bsp/device-tree/device-tree.bbappend @@ -1,16 +1 @@ COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}" -COMPATIBLE_HOST:xilinx-freertos = "${HOST_SYS}" - -COMPATIBLE_MACHINE:cortexa53-zynqmp = ".*" -COMPATIBLE_MACHINE:cortexr5-zynqmp = ".*" -COMPATIBLE_MACHINE:microblaze-pmu = ".*" -COMPATIBLE_MACHINE:microblaze-plm = ".*" -COMPATIBLE_MACHINE:cortexa72-versal = ".*" -COMPATIBLE_MACHINE:cortexr5-versal = ".*" -COMPATIBLE_MACHINE:cortexa9-zynq = ".*" - -# Enable @ flag on dtc which is required by libxil -DTC_FLAGS:append:xilinx-standalone = " -@" -DT_INCLUDE:append:xilinx-standalone = " ${UNPACKDIR}/git/device_tree/data/kernel_dtsi/${XILINX_RELEASE_VERSION}/include/" -DTC_FLAGS:append:xilinx-freertos = " -@" -DT_INCLUDE:append:xilinx-freertos = " ${UNPACKDIR}/git/device_tree/data/kernel_dtsi/${XILINX_RELEASE_VERSION}/include/" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch deleted file mode 100644 index 0dbe68dc0..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch +++ /dev/null @@ -1,261 +0,0 @@ -From 3b706021d06b9dbbe5848e524da09b527f75ad4f Mon Sep 17 00:00:00 2001 -From: "b.vikram@xilinx.com" -Date: Thu, 11 Feb 2021 23:20:31 +0530 -Subject: [PATCH] sw_apps :versal_plm: Changes to ensure versionless build - works with yocto flow - -The syntax of updating BSP_SEQUENTIAL_FILES variable in copy_bsp.sh is updated. -Using COMPILER, ARCHIVER and AASEMBLER variables in bsp Makefile instead of -hardcoding them. This would help yocto flow as it does not use mb-gcc. - -Signed-off-by: Vikram Sreenivasa Batchali -Acked-by: Krishna Chaitanya Patakamuri ---- - lib/sw_apps/versal_plm/misc/Makefile | 10 ++++++---- - lib/sw_apps/versal_plm/misc/copy_bsp.sh | 16 ++++++++-------- - lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh | 6 +++--- - lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh | 8 ++++---- - lib/sw_apps/zynqmp_pmufw/misc/Makefile | 10 ++++++---- - lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh | 8 ++++---- - 6 files changed, 31 insertions(+), 27 deletions(-) - -diff --git a/lib/sw_apps/versal_plm/misc/Makefile b/lib/sw_apps/versal_plm/misc/Makefile -index 23ac27b52b..d1be4ffc8e 100644 ---- a/lib/sw_apps/versal_plm/misc/Makefile -+++ b/lib/sw_apps/versal_plm/misc/Makefile -@@ -1,5 +1,7 @@ - # Makefile generated by Xilinx. -- -+COMPILER := mb-gcc -+ARCHIVER := mb-gcc-ar -+ASSEMBLER := mb-as - DRIVER_LIB_VERSION = 1.0 - PROCESSOR = psv_pmc_0 - LIBRARIES = ${PROCESSOR}/lib/libxil.a -@@ -28,7 +30,7 @@ par_libs: $(addsuffix /make.libs,$(PAR_SUBDIRS)) - @echo 'Finished building libraries parallelly.' - - archive: -- mb-gcc-ar -r $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o) -+ $(ARCHIVER) -r $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o) - - clean: $(addsuffix /make.clean,$(SUBDIRS)) - rm -f ${PROCESSOR}/lib/libxil.a -@@ -38,11 +40,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a - - %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) - @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-gcc-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" -+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - - %/make.libs: include - @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-gcc-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" -+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - - %/make.clean: - $(MAKE) -C $(subst /make.clean,,$@) -s clean -diff --git a/lib/sw_apps/versal_plm/misc/copy_bsp.sh b/lib/sw_apps/versal_plm/misc/copy_bsp.sh -index 2e4e393b5d..4f082de37c 100755 ---- a/lib/sw_apps/versal_plm/misc/copy_bsp.sh -+++ b/lib/sw_apps/versal_plm/misc/copy_bsp.sh -@@ -48,33 +48,33 @@ fi - mkdir -p $BSP_DIR/libsrc/xilffs - cp -r $SERVICES_DIR/xilffs/src $BSP_DIR/libsrc/xilffs/ - cp -r $SERVICES_DIR/xilffs/src/include/* $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilffs/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilffs/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilpdi - cp -r $SERVICES_DIR/xilpdi/src $BSP_DIR/libsrc/xilpdi/ - cp -r $SERVICES_DIR/xilpdi/src/*.h $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilpdi/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilpdi/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilplmi - cp -r $SERVICES_DIR/xilplmi/src $BSP_DIR/libsrc/xilplmi/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilplmi/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilplmi/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilpuf - cp -r $SERVICES_DIR/xilpuf/src $BSP_DIR/libsrc/xilpuf/ - cp -r $SERVICES_DIR/xilpuf/src/*.h $BSP_DIR/include/ --set SP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilpuf/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilpuf/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilloader - cp -r $SERVICES_DIR/xilloader/src $BSP_DIR/libsrc/xilloader/ - cp -r $SERVICES_DIR/xilloader/src/*.h $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilloader/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilloader/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilpm/src/ - cp -r $SERVICES_DIR/xilpm/src/versal/common/* $BSP_DIR/libsrc/xilpm/src/ - cp -r $SERVICES_DIR/xilpm/src/versal/server/* $BSP_DIR/libsrc/xilpm/src/ - cp -r $SERVICES_DIR/xilpm/src/versal/common/*.h $BSP_DIR/include/ - cp -r $SERVICES_DIR/xilpm/src/versal/server/*.h $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilpm/src/versal/common/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilpm/src/versal/common/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/Makefile $BSP_DIR/libsrc/xilsecure/src/ -@@ -84,7 +84,7 @@ cp -r $SERVICES_DIR/xilsecure/src/common/*.h $BSP_DIR/include/ - cp -r $SERVICES_DIR/xilsecure/src/versal/*.h $BSP_DIR/include/ - mv $BSP_DIR/libsrc/xilsecure/src/libxilsecure_pmc.a $BSP_DIR/libsrc/xilsecure/src/libxilsecure.a - rm $BSP_DIR/libsrc/xilsecure/src/libxilsecure_*.a --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilsecure/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilsecure/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilsem - cp -r $SERVICES_DIR/xilsem/src $BSP_DIR/libsrc/xilsem/ -@@ -116,7 +116,7 @@ do - cp -r $DRIVERS_DIR/$line/src/*.h $BSP_DIR/include/ - # copy all the HSM generated driver files DRIVER_g.c - cp $WORKING_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/ -- set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile -+ BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/$line/src/Makefile" - done < $DRIVERS_LIST - - #copy the processor code. -diff --git a/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh b/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh -index 70dae119b2..70a83ffd50 100755 ---- a/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh -+++ b/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh -@@ -75,18 +75,18 @@ do - cp -r $DRIVERS_DIR/$line/src $BSP_DIR/libsrc/$line - # copy all the HSM generated driver files DRIVER_g.c - # cp $BOARD_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/ -- set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile -+ BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/$line/src/Makefile" - - done < $DRIVERS_LIST - - # copy the libraries required - cp -r $SERVICES_DIR/xilffs/ $BSP_DIR/libsrc/ - cp -r $SERVICES_DIR/xilffs/src/include/* $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilffs/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilffs/src/Makefile" - - cp -r $SERVICES_DIR/xilrsa/ $BSP_DIR/libsrc/ - cp -r $SERVICES_DIR/xilrsa/src/include/* $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilrsa/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilrsa/src/Makefile" - - #copy the xparameters.h - cp $BOARD_DIR/xparameters.h $BSP_DIR/include/ -diff --git a/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh b/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh -index 8cc6e3a66e..120aeb8fc7 100755 ---- a/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh -+++ b/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh -@@ -65,7 +65,7 @@ fi - mkdir -p $BSP_DIR/libsrc/xilffs - cp -r $SERVICES_DIR/xilffs/src $BSP_DIR/libsrc/xilffs/ - cp -r $SERVICES_DIR/xilffs/src/include/* $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilffs/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilffs/src/Makefile" - - mkdir -p $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/Makefile $BSP_DIR/libsrc/xilsecure/src/ -@@ -73,13 +73,13 @@ cp -r $SERVICES_DIR/xilsecure/src/common/* $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/zynqmp/* $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/common/*.h $BSP_DIR/include/ - cp -r $SERVICES_DIR/xilsecure/src/zynqmp/*.h $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilsecure/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilsecure/src/Makefile" - - cp -r $SERVICES_DIR/xilpm/ $BSP_DIR/libsrc/ - cp -r $SERVICES_DIR/xilpm/src/zynqmp/client/common/* $BSP_DIR/libsrc/xilpm/src/ - cp -r $SERVICES_DIR/xilpm/src/zynqmp/client/common/*.h $BSP_DIR/include/ - cp $WORKING_DIR/pm_cfg_obj.c $BSP_DIR/libsrc/xilpm/src/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilpm/src/zynqmp/client/common/Makefile -+BSP_SEQUENTIAL_MAKEFILES="BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilpm/src/zynqmp/client/common/Makefile" - - rm -rf $BSP_DIR/libsrc/xilpm/src/zynqmp/ - rm -rf $BSP_DIR/libsrc/xilpm/src/versal/ -@@ -161,7 +161,7 @@ do - - # copy all the HSM generated driver files DRIVER_g.c - # cp $BOARD_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/ -- set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile -+ BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/$line/src/Makefile" - - done < $DRIVERS_LIST - -diff --git a/lib/sw_apps/zynqmp_pmufw/misc/Makefile b/lib/sw_apps/zynqmp_pmufw/misc/Makefile -index 142581b2b9..a773498512 100644 ---- a/lib/sw_apps/zynqmp_pmufw/misc/Makefile -+++ b/lib/sw_apps/zynqmp_pmufw/misc/Makefile -@@ -1,5 +1,7 @@ - # Makefile generated by Xilinx. -- -+COMPILER := mb-gcc -+ARCHIVER := mb-gcc-ar -+ASSEMBLER := mb-as - DRIVER_LIB_VERSION = 1.0 - PROCESSOR = psu_pmu_0 - LIBRARIES = ${PROCESSOR}/lib/libxil.a -@@ -28,7 +30,7 @@ par_libs: $(addsuffix /make.libs,$(PAR_SUBDIRS)) - @echo 'Finished building libraries parallelly.' - - archive: -- mb-gcc-ar -r $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o) -+ $(ARCHIVER) -r $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o) - - clean: $(addsuffix /make.clean,$(SUBDIRS)) - rm -f ${PROCESSOR}/lib/libxil.a -@@ -38,11 +40,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a - - %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) - @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v9.2 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" -+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v9.2 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - - %/make.libs: include - @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v9.2 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" -+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v9.2 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - - %/make.clean: - $(MAKE) -C $(subst /make.clean,,$@) -s clean -diff --git a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh -index c683e4f73d..be8616968e 100755 ---- a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh -+++ b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh -@@ -52,14 +52,14 @@ cp -r $SERVICES_DIR/xilfpga/src/interface/zynqmp/xilfpga_pcap.c $BSP_DIR/libsrc/ - cp -r $SERVICES_DIR/xilfpga/src/*.h $BSP_DIR/include/ - cp -r $SERVICES_DIR/xilfpga/src/interface/zynqmp/*.h $BSP_DIR/include/ - rm -r $BSP_DIR/libsrc/xilfpga/src/interface/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilfpga/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilfpga/src/Makefile" - mkdir -p $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/Makefile $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/common/* $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/zynqmp/* $BSP_DIR/libsrc/xilsecure/src/ - cp -r $SERVICES_DIR/xilsecure/src/common/*.h $BSP_DIR/include/ - cp -r $SERVICES_DIR/xilsecure/src/zynqmp/*.h $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilsecure/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilsecure/src/Makefile" - cp -r $SERVICES_DIR/xilskey/ $BSP_DIR/libsrc/ - - # remove the xilskey library files which are not required for PMU -@@ -81,7 +81,7 @@ rm -r $BSP_DIR/libsrc/xilskey/src/include/xilskey_bbram.h - # copy the xilskey library header files to include directory - cp -r $BSP_DIR/libsrc/xilskey/src/*.h $BSP_DIR/include/ - cp -r $BSP_DIR/libsrc/xilskey/src/include/*.h $BSP_DIR/include/ --set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilskey/src/Makefile -+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilskey/src/Makefile" - - # copy bsp standalone code - cp $STANDALONE_DIR/common/* $BSP_DIR/libsrc/standalone/src/ -@@ -108,7 +108,7 @@ do - cp -r $DRIVERS_DIR/$line/src/*.h $BSP_DIR/include/ - # copy all the HSM generated driver files DRIVER_g.c - cp $WORKING_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/ -- set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile -+ BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/$line/src/Makefile" - - done < $DRIVERS_LIST - --- -2.17.1 - diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch deleted file mode 100644 index 295d59bba..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 79e17afd2c943c53978dceab2f8fd17cba8994ec Mon Sep 17 00:00:00 2001 -From: Rajan Vaja -Date: Mon, 15 Feb 2021 22:53:37 -0800 -Subject: [PATCH] versal_psmfw: misc: Update makefile for version less build - with yocto - -Use COMPILER, ARCHIVER and ASSEMBLER variables in Makefile instead of -hard coding them. This would help yocto flow as it does not use -mb-gcc. - -Signed-off-by: Rajan Vaja -Acked-by: Nicole Baze ---- - lib/sw_apps/versal_psmfw/misc/Makefile | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile b/lib/sw_apps/versal_psmfw/misc/Makefile -index 6374302f5c..2164c19f03 100644 ---- a/lib/sw_apps/versal_psmfw/misc/Makefile -+++ b/lib/sw_apps/versal_psmfw/misc/Makefile -@@ -8,6 +8,9 @@ SUBDIRS := $(patsubst %/Makefile, %, $(BSP_MAKEFILES)) - BSP_PARALLEL_MAKEFILES := $(filter-out $(BSP_SEQUENTIAL_MAKEFILES),$(BSP_MAKEFILES)) - SEQ_SUBDIRS := $(patsubst %/Makefile, %, $(BSP_SEQUENTIAL_MAKEFILES)) - PAR_SUBDIRS := $(patsubst %/Makefile, %, $(BSP_PARALLEL_MAKEFILES)) -+COMPILER := mb-gcc -+ARCHIVER := mb-ar -+ASSEMBLER := mb-as - - ifneq (,$(findstring win,$(RDI_PLATFORM))) - SHELL = CMD -@@ -28,7 +31,7 @@ par_libs: $(addsuffix /make.libs,$(PAR_SUBDIRS)) - @echo 'Finished building libraries parallelly.' - - archive: -- mb-ar -r $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o) -+ $(ARCHIVER) -r $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o) - - clean: $(addsuffix /make.clean,$(SUBDIRS)) - rm -f ${PROCESSOR}/lib/libxil.a -@@ -38,11 +41,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a - - %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) - @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" -+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" - - %/make.libs: include - @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" -+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" - - %/make.clean: - $(MAKE) -C $(subst /make.clean,,$@) -s clean --- -2.17.1 - diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch deleted file mode 100644 index 072691d8b..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7b5cd70e8d77f5df345a2f1a29e09a51af248040 Mon Sep 17 00:00:00 2001 -From: Rajan Vaja -Date: Fri, 26 Feb 2021 02:30:28 -0800 -Subject: [PATCH] versal_psmfw: misc: Update mcpu version in Makefile - -Use -mcpu=v10.0 instead of -mcpu=v as -mcpu=v is not defined and -PSM is using v10.0. - -Signed-off-by: Rajan Vaja -Acked-by: Nicole Baze ---- - lib/sw_apps/versal_psmfw/misc/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile b/lib/sw_apps/versal_psmfw/misc/Makefile -index 2164c19f03..02d85e492e 100644 ---- a/lib/sw_apps/versal_psmfw/misc/Makefile -+++ b/lib/sw_apps/versal_psmfw/misc/Makefile -@@ -41,11 +41,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a - - %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) - @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" -+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" - - %/make.libs: include - @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" -+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra" - - %/make.clean: - $(MAKE) -C $(subst /make.clean,,$@) -s clean --- -2.17.1 - diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch deleted file mode 100644 index a5d0894a3..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 27d08d91eedb77c28e7776d0ccf6b92d79d3b6bb Mon Sep 17 00:00:00 2001 -From: Rajan Vaja -Date: Mon, 15 Feb 2021 22:47:13 -0800 -Subject: [PATCH] zynqmp_pmufw: Correct structure header of PmResetOps - -Update structure header of PmResetOps for using resetAssert instead -of assert. - -Signed-off-by: Rajan Vaja -Acked-by: Mounika Akula ---- - lib/sw_apps/zynqmp_pmufw/src/pm_reset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -index bcd8aa73db..a693eb4196 100644 ---- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -+++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -@@ -29,7 +29,7 @@ - - /** - * PmResetOps - Reset operations -- * @assert Assert or release reset line -+ * @resetAssert Assert or release reset line - * @getStatus Get current status of reset line - * @pulse Function performing reset pulse operation - */ --- -2.17.1 - diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch deleted file mode 100644 index a0e67dfda..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 57a5a13ef730c5c46d9db159ed9b7a466cc70388 Mon Sep 17 00:00:00 2001 -From: Rajan Vaja -Date: Wed, 27 Jan 2021 22:19:51 -0800 -Subject: [PATCH] zynqmp_pmufw: Fix reset ops for assert() - -New compiler toolchain treats "assert" as a macro always. So rename -the existing "assert" variable to "resetAssert" in the codebase. - -Signed-off-by: Rajan Vaja -Acked-by: Ravi Patel -Acked-by: Tejas Patel ---- - lib/sw_apps/zynqmp_pmufw/src/pm_reset.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -index c66aae4a0c..bcd8aa73db 100644 ---- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -+++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c -@@ -1,5 +1,5 @@ - /* --* Copyright (c) 2014 - 2020 Xilinx, Inc. All rights reserved. -+* Copyright (c) 2014 - 2021 Xilinx, Inc. All rights reserved. - * SPDX-License-Identifier: MIT - */ - -@@ -34,7 +34,7 @@ - * @pulse Function performing reset pulse operation - */ - typedef struct PmResetOps { -- void (*const assert)(const PmReset* const rst, const u32 action); -+ void (*const resetAssert)(const PmReset* const rst, const u32 action); - u32 (*const getStatus)(const PmReset* const s); - u32 (*const pulse)(const PmReset* const rst); - } PmResetOps; -@@ -399,37 +399,37 @@ static u32 PmResetPulsePl(const PmReset* const rst) - } - - static const PmResetOps pmResetOpsGeneric = { -- .assert = PmResetAssertGen, -+ .resetAssert = PmResetAssertGen, - .getStatus = PmResetGetStatusGen, - .pulse = PmResetPulseGen, - }; - - static const PmResetOps pmResetOpsGpo = { -- .assert = PmResetAssertGpo, -+ .resetAssert = PmResetAssertGpo, - .getStatus = PmResetGetStatusGpo, - .pulse = PmResetPulseGpo, - }; - - static const PmResetOps pmResetOpsRom = { -- .assert = PmResetAssertRom, -+ .resetAssert = PmResetAssertRom, - .getStatus = PmResetGetStatusRom, - .pulse = PmResetPulseRom, - }; - - static const PmResetOps pmResetOpsNoAssert = { -- .assert = NULL, -+ .resetAssert = NULL, - .getStatus = PmResetGetStatusRom, - .pulse = PmResetPulseRom, - }; - - static const PmResetOps pmResetOpsPl = { -- .assert = PmResetAssertPl, -+ .resetAssert = PmResetAssertPl, - .getStatus = PmResetGetStatusPl, - .pulse = PmResetPulsePl, - }; - - static const PmResetOps pmResetOpsGpioBankIO = { -- .assert = NULL, -+ .resetAssert = NULL, - .getStatus = PmResetGetStatusGpioBankIOs, - .pulse = PmResetPulseGpioBankIOs, - }; -@@ -1885,8 +1885,8 @@ s32 PmResetDoAssert(const PmReset *reset, u32 action) - switch (action) { - case PM_RESET_ACTION_RELEASE: - case PM_RESET_ACTION_ASSERT: -- if (NULL != reset->ops->assert) { -- reset->ops->assert(reset, action); -+ if (NULL != reset->ops->resetAssert) { -+ reset->ops->resetAssert(reset, action); - } else { - status = XST_INVALID_PARAM; - } --- -2.17.1 - diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_fw-Fixup-core-makefiles.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-versal_fw-Fixup-core-makefiles.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_fw-Fixup-core-makefiles.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-versal_fw-Fixup-core-makefiles.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch new file mode 100644 index 000000000..61fcf5a92 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch @@ -0,0 +1,45 @@ +From 3cd9d41953ebfe26d09dae231e7b7a0b3285be8d Mon Sep 17 00:00:00 2001 +From: Jesus De Haro +Date: Mon, 16 Jan 2023 20:59:06 -0800 +Subject: [PATCH] xilpm: versal: Fixed 2023.1 compile error + +Added NULL check for pointer Device before attempting to dereference the pointer. + +Signed-off-by: Jesus De Haro +Acked-by: Nicole Baze +(cherry picked from commit 2601b201e95ea0edab89342ee7137c74e88a8a79) + +Backported to 2022.1 + +Signed-off-by: Mark Hatle +--- + lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c +index 13410f2224..f4743cc2a9 100644 +--- a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c ++++ b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c +@@ -1,5 +1,6 @@ + /****************************************************************************** + * Copyright (c) 2018 - 2020 Xilinx, Inc. All rights reserved. ++* Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved. + * SPDX-License-Identifier: MIT + ******************************************************************************/ + +@@ -696,7 +697,11 @@ XStatus XPmDomainIso_Control(u32 IsoIdx, u32 Enable) + done: + if ((IsoIdx <= (u32)XPM_NODEIDX_ISO_XRAM_PL_FABRIC) && + (IsoIdx >= (u32)XPM_NODEIDX_ISO_XRAM_PL_AXI0)) { +- XPmPsLpDomain_LockPcsr(Device->Node.BaseAddress); ++ if(NULL != Device) { ++ XPmPsLpDomain_LockPcsr(Device->Node.BaseAddress); ++ } else { ++ Status = XST_DEVICE_NOT_FOUND; ++ } + } + + return Status; +-- +2.34.1 + diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/makefile-skip-copy_bsp.sh.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/makefile-skip-copy_bsp.sh.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/makefile-skip-copy_bsp.sh.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/makefile-skip-copy_bsp.sh.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/0001-versal_fw-Fixup-core-makefiles.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-versal_fw-Fixup-core-makefiles.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/0001-versal_fw-Fixup-core-makefiles.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-versal_fw-Fixup-core-makefiles.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch new file mode 100644 index 000000000..3afa125c1 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch @@ -0,0 +1,40 @@ +From 2601b201e95ea0edab89342ee7137c74e88a8a79 Mon Sep 17 00:00:00 2001 +From: Jesus De Haro +Date: Mon, 16 Jan 2023 20:59:06 -0800 +Subject: [PATCH] xilpm: versal: Fixed 2023.1 compile error + +Added NULL check for pointer Device before attempting to dereference the pointer. + +Signed-off-by: Jesus De Haro +Acked-by: Nicole Baze +--- + lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c +index fa571e0552..bd0aa89e12 100644 +--- a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c ++++ b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c +@@ -1,5 +1,6 @@ + /****************************************************************************** + * Copyright (c) 2018 - 2022 Xilinx, Inc. All rights reserved. ++* Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved. + * SPDX-License-Identifier: MIT + ******************************************************************************/ + +@@ -721,7 +722,11 @@ XStatus XPmDomainIso_Control(u32 IsoIdx, u32 Enable) + done: + if ((IsoIdx <= (u32)XPM_NODEIDX_ISO_XRAM_PL_FABRIC) && + (IsoIdx >= (u32)XPM_NODEIDX_ISO_XRAM_PL_AXI0)) { +- XPm_LockPcsr(Device->Node.BaseAddress); ++ if(NULL != Device) { ++ XPm_LockPcsr(Device->Node.BaseAddress); ++ } else { ++ Status = XST_DEVICE_NOT_FOUND; ++ } + } + + return Status; +-- +2.34.1 + diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/makefile-skip-copy_bsp.sh.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/makefile-skip-copy_bsp.sh.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/makefile-skip-copy_bsp.sh.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/makefile-skip-copy_bsp.sh.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/0001-versal_fw-Fixup-core-makefiles.patch similarity index 94% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/0001-versal_fw-Fixup-core-makefiles.patch index d6cb0e384..788cfb351 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/0001-versal_fw-Fixup-core-makefiles.patch @@ -1,4 +1,4 @@ -From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001 +From 000ad45124ec9d82b2579632a896b0f9a28ee3a8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 7 Dec 2022 15:42:15 -0800 Subject: [PATCH] versal_fw: Fixup core makefiles @@ -16,7 +16,7 @@ Signed-off-by: Mark Hatle 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile b/lib/sw_apps/versal_plm/misc/versal/Makefile -index 5c8e719e9c..af070716b6 100644 +index 5c8e719e9c..5367ed97f8 100644 --- a/lib/sw_apps/versal_plm/misc/versal/Makefile +++ b/lib/sw_apps/versal_plm/misc/versal/Makefile @@ -2,6 +2,8 @@ @@ -43,10 +43,10 @@ index 5c8e719e9c..af070716b6 100644 %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile b/lib/sw_apps/versal_plm/misc/versal_net/Makefile -index abffa6c5ed..4af5a02001 100644 +index ea1e6f4cbd..ddc27a9832 100644 --- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile +++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile -@@ -2,6 +2,8 @@ +@@ -8,6 +8,8 @@ COMPILER := mb-gcc ARCHIVER := mb-gcc-ar ASSEMBLER := mb-as @@ -55,16 +55,16 @@ index abffa6c5ed..4af5a02001 100644 DRIVER_LIB_VERSION = 1.0 PROCESSOR = psx_pmc_0 LIBRARIES = ${PROCESSOR}/lib/libxil.a -@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a +@@ -46,11 +48,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)" %/make.libs: include @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)" %/make.clean: @@ -97,5 +97,5 @@ index 02d85e492e..f6386dcbed 100644 %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean -- -2.17.1 +2.34.1 diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/makefile-skip-copy_bsp.sh.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/makefile-skip-copy_bsp.sh.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/0001-versal_fw-Fixup-core-makefiles.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/0001-versal_fw-Fixup-core-makefiles.patch similarity index 94% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/0001-versal_fw-Fixup-core-makefiles.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/0001-versal_fw-Fixup-core-makefiles.patch index d6cb0e384..788cfb351 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/0001-versal_fw-Fixup-core-makefiles.patch +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/0001-versal_fw-Fixup-core-makefiles.patch @@ -1,4 +1,4 @@ -From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001 +From 000ad45124ec9d82b2579632a896b0f9a28ee3a8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 7 Dec 2022 15:42:15 -0800 Subject: [PATCH] versal_fw: Fixup core makefiles @@ -16,7 +16,7 @@ Signed-off-by: Mark Hatle 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile b/lib/sw_apps/versal_plm/misc/versal/Makefile -index 5c8e719e9c..af070716b6 100644 +index 5c8e719e9c..5367ed97f8 100644 --- a/lib/sw_apps/versal_plm/misc/versal/Makefile +++ b/lib/sw_apps/versal_plm/misc/versal/Makefile @@ -2,6 +2,8 @@ @@ -43,10 +43,10 @@ index 5c8e719e9c..af070716b6 100644 %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile b/lib/sw_apps/versal_plm/misc/versal_net/Makefile -index abffa6c5ed..4af5a02001 100644 +index ea1e6f4cbd..ddc27a9832 100644 --- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile +++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile -@@ -2,6 +2,8 @@ +@@ -8,6 +8,8 @@ COMPILER := mb-gcc ARCHIVER := mb-gcc-ar ASSEMBLER := mb-as @@ -55,16 +55,16 @@ index abffa6c5ed..4af5a02001 100644 DRIVER_LIB_VERSION = 1.0 PROCESSOR = psx_pmc_0 LIBRARIES = ${PROCESSOR}/lib/libxil.a -@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a +@@ -46,11 +48,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)" %/make.libs: include @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)" %/make.clean: @@ -97,5 +97,5 @@ index 02d85e492e..f6386dcbed 100644 %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean -- -2.17.1 +2.34.1 diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/makefile-skip-copy_bsp.sh.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/makefile-skip-copy_bsp.sh.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/makefile-skip-copy_bsp.sh.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/makefile-skip-copy_bsp.sh.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/0001-versal_fw-Fixup-core-makefiles.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/0001-versal_fw-Fixup-core-makefiles.patch similarity index 93% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/0001-versal_fw-Fixup-core-makefiles.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/0001-versal_fw-Fixup-core-makefiles.patch index d6cb0e384..4bc191c1d 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/0001-versal_fw-Fixup-core-makefiles.patch +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/0001-versal_fw-Fixup-core-makefiles.patch @@ -1,4 +1,4 @@ -From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001 +From d6e56e20bac608d28aa386dad12a279f1e434db9 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 7 Dec 2022 15:42:15 -0800 Subject: [PATCH] versal_fw: Fixup core makefiles @@ -16,7 +16,7 @@ Signed-off-by: Mark Hatle 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile b/lib/sw_apps/versal_plm/misc/versal/Makefile -index 5c8e719e9c..af070716b6 100644 +index d735f64530..dbd363447d 100644 --- a/lib/sw_apps/versal_plm/misc/versal/Makefile +++ b/lib/sw_apps/versal_plm/misc/versal/Makefile @@ -2,6 +2,8 @@ @@ -28,7 +28,7 @@ index 5c8e719e9c..af070716b6 100644 DRIVER_LIB_VERSION = 1.0 PROCESSOR = psv_pmc_0 LIBRARIES = ${PROCESSOR}/lib/libxil.a -@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a +@@ -50,11 +52,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) @echo "Running Make include in $(subst /make.include,,$@)" @@ -43,10 +43,10 @@ index 5c8e719e9c..af070716b6 100644 %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile b/lib/sw_apps/versal_plm/misc/versal_net/Makefile -index abffa6c5ed..4af5a02001 100644 +index 284e2fa5fc..be1df32525 100644 --- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile +++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile -@@ -2,6 +2,8 @@ +@@ -8,6 +8,8 @@ COMPILER := mb-gcc ARCHIVER := mb-gcc-ar ASSEMBLER := mb-as @@ -55,22 +55,22 @@ index abffa6c5ed..4af5a02001 100644 DRIVER_LIB_VERSION = 1.0 PROCESSOR = psx_pmc_0 LIBRARIES = ${PROCESSOR}/lib/libxil.a -@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a +@@ -58,11 +60,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) @echo "Running Make include in $(subst /make.include,,$@)" -- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)" %/make.libs: include @echo "Running Make libs in $(subst /make.libs,,$@)" -- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)" %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile b/lib/sw_apps/versal_psmfw/misc/Makefile -index 02d85e492e..f6386dcbed 100644 +index 92d95d0896..acc20bcccf 100644 --- a/lib/sw_apps/versal_psmfw/misc/Makefile +++ b/lib/sw_apps/versal_psmfw/misc/Makefile @@ -11,6 +11,8 @@ PAR_SUBDIRS := $(patsubst %/Makefile, %, $(BSP_PARALLEL_MAKEFILES)) @@ -97,5 +97,5 @@ index 02d85e492e..f6386dcbed 100644 %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean -- -2.17.1 +2.34.1 diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/makefile-skip-copy_bsp.sh.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/makefile-skip-copy_bsp.sh.patch similarity index 100% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/makefile-skip-copy_bsp.sh.patch rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/makefile-skip-copy_bsp.sh.patch diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch deleted file mode 100644 index 50ce7bcb0..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix incorrect copy that triggers a failure: - -| cp: -r not specified; omitting directory '../misc/../../../../lib/bsp/standalone/src/common/clocking' - -Signed-off-by: Mark Hatle - -diff --git a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh -index be8616968e..c3eca3f092 100755 ---- a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh -+++ b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh -@@ -84,7 +84,7 @@ cp -r $BSP_DIR/libsrc/xilskey/src/include/*.h $BSP_DIR/include/ - BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES $BSP_DIR/libsrc/xilskey/src/Makefile" - - # copy bsp standalone code --cp $STANDALONE_DIR/common/* $BSP_DIR/libsrc/standalone/src/ -+cp -r $STANDALONE_DIR/common/* $BSP_DIR/libsrc/standalone/src/ - cp $STANDALONE_DIR/microblaze/* $BSP_DIR/libsrc/standalone/src/ - cp -r $STANDALONE_DIR/profile $BSP_DIR/libsrc/standalone/src/ - cp $WORKING_DIR/bspconfig.h $BSP_DIR/include diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc index 8fdcfe674..5b2e123f6 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc @@ -11,44 +11,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" S = "${UNPACKDIR}/git" -APP_DIR = "undefined" -APP_DIR:zynq = "zynq_fsbl" -APP_DIR:zynqmp = "zynqmp_fsbl" - -B = "${S}/lib/sw_apps/${APP_DIR}/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "-j1" - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra ${ESW_CFLAGS}" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/undefined" -BSP_DIR:zynq ?= "${B}/../misc/zynq_fsbl_bsp" -BSP_DIR:zynqmp ?= "${B}/../misc/zynqmp_fsbl_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_cortexa53_0/libsrc" - -# FSBL components expect AS to be CC. -AS = "${CC}" -LINKER = "${CC}" -DUMP = "${OBJDUMP} -xSD" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS", "LINKER", "DUMP"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -EXTRA_OEMAKE = "${@bsp_make_vars(d)}" - -ARM_INSTRUCTION_SET:eabi:arm = "arm" - -do_install() { - : -} - -PACKAGES = "" - # This is the default in most BSPs. A MACHINE.conf can override this! FSBL_IMAGE_NAME ??= "fsbl-${MACHINE}" @@ -58,12 +20,5 @@ FSBL_BASE_NAME ?= "${FSBL_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_ ESW_COMPONENT ??= "fsbl.elf" -do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf - ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf -} - -addtask deploy before do_build after do_install - # Disable buildpaths QA check warnings. INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc new file mode 100644 index 000000000..42c9581ed --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc @@ -0,0 +1,11 @@ +SKIP_MSG = "" +SKIP_MSG:zynq = "Generic support for zynq is not available" +SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://fsbl-fixups.patch \ + " + diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb index 3f9740a0d..3c57ee8cd 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb @@ -1,11 +1,3 @@ require fsbl-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://fsbl-fixups.patch \ - " - -# This version does not build for zynq -COMPATIBLE_MACHINE:zynq = "none" +require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc new file mode 100644 index 000000000..7a0a35da5 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc @@ -0,0 +1,10 @@ +SKIP_MSG = "" +SKIP_MSG:zynq = "Generic support for zynq is not available" +SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://fsbl-fixups.patch \ + " diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb index 13a2f1c5e..3c57ee8cd 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb @@ -1,11 +1,3 @@ require fsbl-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2022.2:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://fsbl-fixups.patch \ - " - -# This version does not build for zynq -COMPATIBLE_MACHINE:zynq = "none" +require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc new file mode 100644 index 000000000..7a0a35da5 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc @@ -0,0 +1,10 @@ +SKIP_MSG = "" +SKIP_MSG:zynq = "Generic support for zynq is not available" +SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://fsbl-fixups.patch \ + " diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb index 8816dc4de..3c57ee8cd 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb @@ -1,11 +1,3 @@ require fsbl-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://fsbl-fixups.patch \ - " - -# This version does not build for zynq -COMPATIBLE_MACHINE:zynq = "none" +require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc new file mode 100644 index 000000000..7a0a35da5 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc @@ -0,0 +1,10 @@ +SKIP_MSG = "" +SKIP_MSG:zynq = "Generic support for zynq is not available" +SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://fsbl-fixups.patch \ + " diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb index dbeaebc4a..3c57ee8cd 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb @@ -1,11 +1,3 @@ require fsbl-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.2:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://fsbl-fixups.patch \ - " - -# This version does not build for zynq -COMPATIBLE_MACHINE:zynq = "none" +require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc new file mode 100644 index 000000000..7a0a35da5 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc @@ -0,0 +1,10 @@ +SKIP_MSG = "" +SKIP_MSG:zynq = "Generic support for zynq is not available" +SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://fsbl-fixups.patch \ + " diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb index 62e009ecf..3c57ee8cd 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb @@ -1,11 +1,3 @@ require fsbl-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2024.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://fsbl-fixups.patch \ - " - -# This version does not build for zynq -COMPATIBLE_MACHINE:zynq = "none" +require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc new file mode 100644 index 000000000..2a6fbb68f --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc @@ -0,0 +1,46 @@ +APP_DIR = "undefined" +APP_DIR:zynq = "zynq_fsbl" +APP_DIR:zynqmp = "zynqmp_fsbl" + +B = "${S}/lib/sw_apps/${APP_DIR}/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "-j1" + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra ${ESW_CFLAGS}" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/undefined" +BSP_DIR:zynq ?= "${B}/../misc/zynq_fsbl_bsp" +BSP_DIR:zynqmp ?= "${B}/../misc/zynqmp_fsbl_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_cortexa53_0/libsrc" + +# FSBL components expect AS to be CC. +AS = "${CC}" +LINKER = "${CC}" +DUMP = "${OBJDUMP} -xSD" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS", "LINKER", "DUMP"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +EXTRA_OEMAKE = "${@bsp_make_vars(d)}" + +ARM_INSTRUCTION_SET:eabi:arm = "arm" + +do_install() { + : +} + +PACKAGES = "" + +ESW_COMPONENT = "fsbl.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf + ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb deleted file mode 100644 index f5e55ecca..000000000 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -# Only should be used for development -DEFAULT_PREFERENCE = "-1" - -require fsbl-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://fsbl-fixups.patch \ - " - -# This version does not build for zynq -COMPATIBLE_MACHINE:zynq = "none" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-meta-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-meta-xilinx-standalone.inc new file mode 100644 index 000000000..4507a0c7b --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-meta-xilinx-standalone.inc @@ -0,0 +1,18 @@ +# Include the fsbl-fw setting, if it's enabled +FSBL_INC = "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', 'fsbl-fw-cfg.inc', '', d)}" +require ${FSBL_INC} + +def check_fsbl_variables(d): + # If both are blank, the user MUST pass in the path to the firmware! + if not d.getVar('FSBL_DEPENDS') and not d.getVar('FSBL_MCDEPENDS'): + # Don't cache this, as the items on disk can change! + d.setVar('BB_DONT_CACHE', '1') + + if not os.path.exists(d.getVar('FSBL_FILE') + ".elf"): + if not d.getVar('WITHIN_EXT_SDK'): + raise bb.parse.SkipRecipe("The expect file %s.elf is not available.\nSet FSBL_FILE to the path with a precompiled FSBL binary or you may need to enable BBMULTICONFIG += 'fsbl-fw' to generate it." % d.getVar('FSBL_FILE')) + else: + # We found the file, so be sure to track it + d.setVar('SRC_URI', 'file://${FSBL_FILE}.elf') + d.setVarFlag('do_install', 'file-checksums', '${FSBL_FILE}.elf:True') + d.setVarFlag('do_deploy', 'file-checksums', '${FSBL_FILE}.elf:True') diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend index 4507a0c7b..467195070 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend @@ -1,18 +1 @@ -# Include the fsbl-fw setting, if it's enabled -FSBL_INC = "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', 'fsbl-fw-cfg.inc', '', d)}" -require ${FSBL_INC} - -def check_fsbl_variables(d): - # If both are blank, the user MUST pass in the path to the firmware! - if not d.getVar('FSBL_DEPENDS') and not d.getVar('FSBL_MCDEPENDS'): - # Don't cache this, as the items on disk can change! - d.setVar('BB_DONT_CACHE', '1') - - if not os.path.exists(d.getVar('FSBL_FILE') + ".elf"): - if not d.getVar('WITHIN_EXT_SDK'): - raise bb.parse.SkipRecipe("The expect file %s.elf is not available.\nSet FSBL_FILE to the path with a precompiled FSBL binary or you may need to enable BBMULTICONFIG += 'fsbl-fw' to generate it." % d.getVar('FSBL_FILE')) - else: - # We found the file, so be sure to track it - d.setVar('SRC_URI', 'file://${FSBL_FILE}.elf') - d.setVarFlag('do_install', 'file-checksums', '${FSBL_FILE}.elf:True') - d.setVarFlag('do_deploy', 'file-checksums', '${FSBL_FILE}.elf:True') +require ${@'fsbl-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc index 22e3068a5..2a00afacb 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc @@ -6,63 +6,11 @@ inherit xlnx-embeddedsw deploy COMPATIBLE_HOST = "microblaze.*-elf" COMPATIBLE_MACHINE = "none" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" PACKAGE_ARCH = "${MACHINE_ARCH}" S = "${UNPACKDIR}/git" -B = "${S}/lib/sw_apps/versal_plm/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "-j1" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../misc/copy_bsp.sh -} - -# All do_compiles need this, even if it's overriden -MB_OBJCOPY ??= "${OBJCOPY}" - -# Only add a dependency if we need to use OUR binutils -DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') == d.getVar('OBJCOPY') else ''}" - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/versal_plm_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -EXTRA_OEMAKE = "${@bsp_make_vars(d)}" - -do_compile() { - # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc - # properly. So do its job manually. Preparing the includes first, then libs. - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s include - done - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s libs - done - - # --build-id=none is required due to linker script not defining a location for it. - # Again, recipe-systoot include is necessary - oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -PACKAGES = "" # This is the default in most BSPs. A MACHINE.conf can override this! PLM_IMAGE_NAME ??= "plm-${MACHINE}" @@ -73,14 +21,5 @@ PLM_BASE_NAME ?= "${PLM_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VE ESW_COMPONENT ??= "plm.elf" -do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PLM_BASE_NAME}.elf - ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf - install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin - ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin -} - -addtask deploy before do_build after do_install - # Disable buildpaths QA check warnings. INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc new file mode 100644 index 000000000..e91ea607c --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc @@ -0,0 +1,15 @@ +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb index cc8102412..d945aa26d 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb @@ -1,16 +1,3 @@ require plm-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2+git-generic.inc similarity index 81% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2+git-generic.inc index bbc7519f7..d4d91baf4 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2+git-generic.inc @@ -1,8 +1,3 @@ -# Only should be used for development -DEFAULT_PREFERENCE = "-1" - -require plm-firmware.inc - # Separate build directories for versal and versal-net SOC_DIR = "versal" SOC_DIR:versal-net = "versal_net" @@ -10,11 +5,12 @@ B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" SRC_URI += " \ file://makefile-skip-copy_bsp.sh.patch \ file://0001-versal_fw-Fixup-core-makefiles.patch \ + file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \ " EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb index cc8102412..d945aa26d 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb @@ -1,16 +1,3 @@ require plm-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc new file mode 100644 index 000000000..7416dfb53 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc @@ -0,0 +1,27 @@ +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb index 37861b756..d945aa26d 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb @@ -1,29 +1,3 @@ require plm-firmware.inc - -# Separate build directories for versal and versal-net -SOC_DIR = "versal" -SOC_DIR:versal-net = "versal_net" -B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" - -BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../../misc/${SOC_DIR}/copy_bsp.sh -} - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc new file mode 100644 index 000000000..7416dfb53 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc @@ -0,0 +1,27 @@ +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb index 37861b756..d945aa26d 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb @@ -1,29 +1,3 @@ require plm-firmware.inc - -# Separate build directories for versal and versal-net -SOC_DIR = "versal" -SOC_DIR:versal-net = "versal_net" -B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" - -BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../../misc/${SOC_DIR}/copy_bsp.sh -} - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc new file mode 100644 index 000000000..7416dfb53 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc @@ -0,0 +1,27 @@ +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb index 37861b756..d945aa26d 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb @@ -1,29 +1,3 @@ require plm-firmware.inc - -# Separate build directories for versal and versal-net -SOC_DIR = "versal" -SOC_DIR:versal-net = "versal_net" -B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" - -BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../../misc/${SOC_DIR}/copy_bsp.sh -} - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc new file mode 100644 index 000000000..0a00984ff --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc @@ -0,0 +1,64 @@ +B = "${S}/lib/sw_apps/versal_plm/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "-j1" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../misc/copy_bsp.sh +} + +# All do_compiles need this, even if it's overriden +MB_OBJCOPY ??= "${OBJCOPY}" + +# Only add a dependency if we need to use OUR binutils +DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') == d.getVar('OBJCOPY') else ''}" + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/versal_plm_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +EXTRA_OEMAKE = "${@bsp_make_vars(d)}" + +do_compile() { + # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc + # properly. So do its job manually. Preparing the includes first, then libs. + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s include + done + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s libs + done + + # --build-id=none is required due to linker script not defining a location for it. + # Again, recipe-systoot include is necessary + oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +PACKAGES = "" + +ESW_COMPONENT = "plm.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PLM_BASE_NAME}.elf + ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf + install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin + ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw-meta-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw-meta-xilinx-standalone.inc new file mode 100644 index 000000000..49c897e19 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw-meta-xilinx-standalone.inc @@ -0,0 +1,26 @@ +# Include the versal-fw setting, if it's enabled +PLMFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'versal-fw', 'versal-fw-cfg.inc', '', d)}" +require ${PLMFW_INC} + +def check_plm_vars(d): + # If both are blank, the user MUST pass in the path to the firmware! + if not d.getVar('PLM_DEPENDS') and not d.getVar('PLM_MCDEPENDS'): + # Don't cache this, as the items on disk can change! + d.setVar('BB_DONT_CACHE', '1') + + msg = "" + fail = False + if not os.path.exists(d.getVar('PLM_FILE') + ".elf"): + msg = msg + "The expected file %s.elf is not available. " % d.getVar('PLM_FILE') + fail = True + if not os.path.exists(d.getVar('PLM_FILE') + ".bin"): + msg = msg + "The expected file %s.bin is not available. " % d.getVar('PLM_FILE') + fail = True + if fail: + if not d.getVar('WITHIN_EXT_SDK'): + raise bb.parse.SkipRecipe("%s\nEither specify PLM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg) + else: + # We found the file, so be sure to track it + d.setVar('SRC_URI', 'file://${PLM_FILE}.elf file://${PLM_FILE}.bin') + d.setVarFlag('do_install', 'file-checksums', '${PLM_FILE}.elf:True') + d.setVarFlag('do_deploy', 'file-checksums', '${PLM_FILE}.elf:True ${PLM_FILE}.bin:True') diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend index 49c897e19..33d1303d7 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend @@ -1,26 +1 @@ -# Include the versal-fw setting, if it's enabled -PLMFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'versal-fw', 'versal-fw-cfg.inc', '', d)}" -require ${PLMFW_INC} - -def check_plm_vars(d): - # If both are blank, the user MUST pass in the path to the firmware! - if not d.getVar('PLM_DEPENDS') and not d.getVar('PLM_MCDEPENDS'): - # Don't cache this, as the items on disk can change! - d.setVar('BB_DONT_CACHE', '1') - - msg = "" - fail = False - if not os.path.exists(d.getVar('PLM_FILE') + ".elf"): - msg = msg + "The expected file %s.elf is not available. " % d.getVar('PLM_FILE') - fail = True - if not os.path.exists(d.getVar('PLM_FILE') + ".bin"): - msg = msg + "The expected file %s.bin is not available. " % d.getVar('PLM_FILE') - fail = True - if fail: - if not d.getVar('WITHIN_EXT_SDK'): - raise bb.parse.SkipRecipe("%s\nEither specify PLM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg) - else: - # We found the file, so be sure to track it - d.setVar('SRC_URI', 'file://${PLM_FILE}.elf file://${PLM_FILE}.bin') - d.setVarFlag('do_install', 'file-checksums', '${PLM_FILE}.elf:True') - d.setVarFlag('do_deploy', 'file-checksums', '${PLM_FILE}.elf:True ${PLM_FILE}.bin:True') +require ${@'plmfw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc index cce1bdd91..e821c05d3 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc @@ -9,61 +9,6 @@ COMPATIBLE_MACHINE:zynqmp = ".*" PACKAGE_ARCH = "${MACHINE_ARCH}" S = "${UNPACKDIR}/git" -B = "${S}/lib/sw_apps/zynqmp_pmufw/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "-j1" - -#do_configure:prepend() { -# # manually do the copy_bsp step first, so as to be able to fix up use of -# # mb-* commands -# ${B}/../misc/copy_bsp.sh -#} - -# All do_compiles need this, even if it's overriden -MB_OBJCOPY ??= "${OBJCOPY}" - -# Only add a dependency if we need to use OUR binutils -DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') == d.getVar('OBJCOPY') else ''}" - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/zynqmp_pmufw_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -EXTRA_OEMAKE = "${@bsp_make_vars(d)}" - -#do_compile() { -# # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc -# # properly. So do its job manually. Preparing the includes first, then libs. -# #for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do -# # oe_runmake -C $(dirname $i) -s include -# #done -# #for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do -# # oe_runmake -C $(dirname $i) -s libs -# #done -# -# # --build-id=none is required due to linker script not defining a location for it. -# # Again, recipe-systoot include is necessary -# oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" -#} - -do_compile:append() { - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -PACKAGES = "" # This is the default in most BSPs. A MACHINE.conf can override this! PMU_FIRMWARE_IMAGE_NAME ??= "pmu-firmware-${MACHINE}" @@ -74,14 +19,5 @@ PMU_FIRMWARE_BASE_NAME ?= "${PMU_FIRMWARE_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${ ESW_COMPONENT ??= "executable.elf" -do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf - ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf - install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin - ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin -} - -addtask deploy before do_build after do_install - # Disable buildpaths QA check warnings. INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1+git-generic.inc similarity index 60% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1+git-generic.inc index 606708c4a..8defde173 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1+git-generic.inc @@ -1,9 +1,4 @@ -# Only should be used for development -DEFAULT_PREFERENCE = "-1" - -require pmu-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" SRC_URI += " \ file://makefile-skip-copy_bsp.sh.patch \ diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb index 50dbf97d8..3ec0c10f7 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb @@ -1,10 +1,3 @@ require pmu-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc new file mode 100644 index 000000000..8defde173 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc @@ -0,0 +1,8 @@ +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb index 50dbf97d8..3ec0c10f7 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb @@ -1,10 +1,3 @@ require pmu-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc new file mode 100644 index 000000000..8defde173 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc @@ -0,0 +1,8 @@ +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb index 65d986c8a..3ec0c10f7 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb @@ -1,10 +1,3 @@ require pmu-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc new file mode 100644 index 000000000..8defde173 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc @@ -0,0 +1,8 @@ +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb index 65d986c8a..3ec0c10f7 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb @@ -1,10 +1,3 @@ require pmu-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" +require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc new file mode 100644 index 000000000..935f6e32b --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc @@ -0,0 +1,8 @@ +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra ${ESW_CFLAGS}" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb index fab49bc0c..3ec0c10f7 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb @@ -1,10 +1,3 @@ require pmu-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2024.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra ${ESW_CFLAGS}" +require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc new file mode 100644 index 000000000..9d4a5b07c --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc @@ -0,0 +1,53 @@ +B = "${S}/lib/sw_apps/zynqmp_pmufw/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "-j1" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../misc/copy_bsp.sh +} + +# All do_compiles need this, even if it's overriden +MB_OBJCOPY ??= "${OBJCOPY}" + +# Only add a dependency if we need to use OUR binutils +DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') == d.getVar('OBJCOPY') else ''}" + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/zynqmp_pmufw_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +EXTRA_OEMAKE = "${@bsp_make_vars(d)}" + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +PACKAGES = "" + +ESW_COMPONENT = "executable.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf + ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf + install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin + ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw-meta-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw-meta-xilinx-standalone.inc new file mode 100644 index 000000000..241da1d02 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw-meta-xilinx-standalone.inc @@ -0,0 +1,26 @@ +# Include the zynqmp-pmufw setting, if it's enabled +PMUFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'zynqmp-pmufw', 'zynqmp-pmufw-cfg.inc', '', d)}" +require ${PMUFW_INC} + +def check_pmu_vars(d): + # If both are blank, the user MUST pass in the path to the firmware! + if not d.getVar('PMU_DEPENDS') and not d.getVar('PMU_MCDEPENDS'): + # Don't cache this, as the items on disk can change! + d.setVar('BB_DONT_CACHE', '1') + + msg = "" + fail = False + if not os.path.exists(d.getVar('PMU_FILE') + ".elf"): + msg = msg + "The expected file %s.elf is not available. " % d.getVar('PMU_FILE') + fail = True + if not os.path.exists(d.getVar('PMU_FILE') + ".bin"): + msg = msg + "The expected file %s.bin is not available. " % d.getVar('PMU_FILE') + fail = True + if fail: + if not d.getVar('WITHIN_EXT_SDK'): + raise bb.parse.SkipRecipe("%s\nEither specify PMU_FILE, or you may need to enable BBMULTICONFIG += 'zynqmp-pmufw' to generate it." % msg) + else: + # We found the file, so be sure to track it + d.setVar('SRC_URI', 'file://${PMU_FILE}.elf file://${PMU_FILE}.bin') + d.setVarFlag('do_install', 'file-checksums', '${PMU_FILE}.elf:True') + d.setVarFlag('do_deploy', 'file-checksums', '${PMU_FILE}.elf:True ${PMU_FILE}.bin:True') diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend index 241da1d02..5a9c367d9 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend @@ -1,26 +1 @@ -# Include the zynqmp-pmufw setting, if it's enabled -PMUFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'zynqmp-pmufw', 'zynqmp-pmufw-cfg.inc', '', d)}" -require ${PMUFW_INC} - -def check_pmu_vars(d): - # If both are blank, the user MUST pass in the path to the firmware! - if not d.getVar('PMU_DEPENDS') and not d.getVar('PMU_MCDEPENDS'): - # Don't cache this, as the items on disk can change! - d.setVar('BB_DONT_CACHE', '1') - - msg = "" - fail = False - if not os.path.exists(d.getVar('PMU_FILE') + ".elf"): - msg = msg + "The expected file %s.elf is not available. " % d.getVar('PMU_FILE') - fail = True - if not os.path.exists(d.getVar('PMU_FILE') + ".bin"): - msg = msg + "The expected file %s.bin is not available. " % d.getVar('PMU_FILE') - fail = True - if fail: - if not d.getVar('WITHIN_EXT_SDK'): - raise bb.parse.SkipRecipe("%s\nEither specify PMU_FILE, or you may need to enable BBMULTICONFIG += 'zynqmp-pmufw' to generate it." % msg) - else: - # We found the file, so be sure to track it - d.setVar('SRC_URI', 'file://${PMU_FILE}.elf file://${PMU_FILE}.bin') - d.setVarFlag('do_install', 'file-checksums', '${PMU_FILE}.elf:True') - d.setVarFlag('do_deploy', 'file-checksums', '${PMU_FILE}.elf:True ${PMU_FILE}.bin:True') +require ${@'pmufw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc index 34d0c8994..2bdb17eda 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc @@ -6,63 +6,11 @@ inherit xlnx-embeddedsw deploy COMPATIBLE_HOST = "microblaze.*-elf" COMPATIBLE_MACHINE = "none" COMPATIBLE_MACHINE:versal = ".*" +COMPATIBLE_MACHINE:versal-net = ".*" PACKAGE_ARCH = "${MACHINE_ARCH}" S = "${UNPACKDIR}/git" -B = "${S}/lib/sw_apps/versal_psmfw/src" - -# The makefile does not handle parallelization -PARALLEL_MAKE = "-j1" - -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - ${B}/../misc/copy_bsp.sh -} - -# All do_compiles need this, even if it's overriden -MB_OBJCOPY ??= "${OBJCOPY}" - -# Only add a dependency if we need to use OUR binutils -DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') == d.getVar('OBJCOPY') else ''}" - -COMPILER = "${CC}" -COMPILER_FLAGS = "-O2 -c" -EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" -ARCHIVER = "${AR}" - -BSP_DIR ?= "${B}/../misc/versal_psmfw_bsp" -BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc" - -def bsp_make_vars(d): - s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] - return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) - -EXTRA_OEMAKE = "${@bsp_make_vars(d)}" - -do_compile() { - # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc - # properly. So do its job manually. Preparing the includes first, then libs. - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s include - done - for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do - oe_runmake -C $(dirname $i) -s libs - done - - # --build-id=none is required due to linker script not defining a location for it. - # Again, recipe-systoot include is necessary - oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -PACKAGES = "" # This is the default in most BSPs. A MACHINE.conf can override this! PSM_FIRMWARE_IMAGE_NAME ??= "psm-firmware-${MACHINE}" @@ -73,14 +21,5 @@ PSM_FIRMWARE_BASE_NAME ?= "${PSM_FIRMWARE_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${ ESW_COMPONENT ??= "psmfw.elf" -do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf - ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf - install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin - ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin -} - -addtask deploy before do_build after do_install - # Disable buildpaths QA check warnings. INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc new file mode 100644 index 000000000..25e2f47f4 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc @@ -0,0 +1,15 @@ +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb index d861fb1c2..ffa0a5967 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb @@ -1,16 +1,3 @@ require psm-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2+git-generic.inc similarity index 83% rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb rename to meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2+git-generic.inc index 42e0a95f4..4c331510b 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2+git-generic.inc @@ -1,8 +1,3 @@ -# Only should be used for development -DEFAULT_PREFERENCE = "-1" - -require psm-firmware.inc - # Separate build directories for versal and versal-net SOC_DIR = "versal" SOC_DIR:versal-net = "versal_net" @@ -10,11 +5,12 @@ B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" SRC_URI += " \ file://makefile-skip-copy_bsp.sh.patch \ file://0001-versal_fw-Fixup-core-makefiles.patch \ + file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \ " EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb index d861fb1c2..ffa0a5967 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb @@ -1,16 +1,3 @@ require psm-firmware.inc - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc new file mode 100644 index 000000000..7ba3707e2 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc @@ -0,0 +1,32 @@ +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" + +# Override default since we're in a subdirectory deeper now... +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + if [ ${SOC_DIR} != "versal" ]; then + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh + else + ${B}/../../misc/copy_bsp.sh + fi +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb index 569c5a463..ffa0a5967 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb @@ -1,34 +1,3 @@ require psm-firmware.inc - -# Separate build directories for versal and versal-net -SOC_DIR = "versal" -SOC_DIR:versal-net = "versal_net" -B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" - -BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" - -# Override default since we're in a subdirectory deeper now... -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - if [ ${SOC_DIR} != "versal" ]; then - ${B}/../../misc/${SOC_DIR}/copy_bsp.sh - else - ${B}/../../misc/copy_bsp.sh - fi -} - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc new file mode 100644 index 000000000..7ba3707e2 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc @@ -0,0 +1,32 @@ +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" + +# Override default since we're in a subdirectory deeper now... +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + if [ ${SOC_DIR} != "versal" ]; then + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh + else + ${B}/../../misc/copy_bsp.sh + fi +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb index 569c5a463..ffa0a5967 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb @@ -1,34 +1,3 @@ require psm-firmware.inc - -# Separate build directories for versal and versal-net -SOC_DIR = "versal" -SOC_DIR:versal-net = "versal_net" -B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" - -BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" - -# Override default since we're in a subdirectory deeper now... -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - if [ ${SOC_DIR} != "versal" ]; then - ${B}/../../misc/${SOC_DIR}/copy_bsp.sh - else - ${B}/../../misc/copy_bsp.sh - fi -} - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc new file mode 100644 index 000000000..7ba3707e2 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc @@ -0,0 +1,32 @@ +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" + +# Override default since we're in a subdirectory deeper now... +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + if [ ${SOC_DIR} != "versal" ]; then + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh + else + ${B}/../../misc/copy_bsp.sh + fi +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb index 569c5a463..ffa0a5967 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb @@ -1,34 +1,3 @@ require psm-firmware.inc - -# Separate build directories for versal and versal-net -SOC_DIR = "versal" -SOC_DIR:versal-net = "versal_net" -B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" - -BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" - -FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" - -SRC_URI += " \ - file://makefile-skip-copy_bsp.sh.patch \ - file://0001-versal_fw-Fixup-core-makefiles.patch \ - " - -EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" - -# Override default since we're in a subdirectory deeper now... -do_configure() { - # manually do the copy_bsp step first, so as to be able to fix up use of - # mb-* commands - if [ ${SOC_DIR} != "versal" ]; then - ${B}/../../misc/${SOC_DIR}/copy_bsp.sh - else - ${B}/../../misc/copy_bsp.sh - fi -} - -do_compile() { - oe_runmake - - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} +require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} +require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 'generic' else ''} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc new file mode 100644 index 000000000..252425ef9 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc @@ -0,0 +1,64 @@ +B = "${S}/lib/sw_apps/versal_psmfw/src" + +# The makefile does not handle parallelization +PARALLEL_MAKE = "-j1" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../misc/copy_bsp.sh +} + +# All do_compiles need this, even if it's overriden +MB_OBJCOPY ??= "${OBJCOPY}" + +# Only add a dependency if we need to use OUR binutils +DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') == d.getVar('OBJCOPY') else ''}" + +COMPILER = "${CC}" +COMPILER_FLAGS = "-O2 -c" +EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects" +ARCHIVER = "${AR}" + +BSP_DIR ?= "${B}/../misc/versal_psmfw_bsp" +BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc" + +def bsp_make_vars(d): + s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"] + return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s]) + +EXTRA_OEMAKE = "${@bsp_make_vars(d)}" + +do_compile() { + # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc + # properly. So do its job manually. Preparing the includes first, then libs. + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s include + done + for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do + oe_runmake -C $(dirname $i) -s libs + done + + # --build-id=none is required due to linker script not defining a location for it. + # Again, recipe-systoot include is necessary + oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include" + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +PACKAGES = "" + +ESW_COMPONENT = "psmfw.elf" + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf + ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf + install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin + ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin +} + +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw-meta-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw-meta-xilinx-standalone.inc new file mode 100644 index 000000000..dc7c6df67 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw-meta-xilinx-standalone.inc @@ -0,0 +1,27 @@ +# Include the versal-fw setting, if it's enabled +PSMFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'versal-fw', 'versal-fw-cfg.inc', '', d)}" +require ${PSMFW_INC} + +def check_psm_vars(d): + # If both are blank, the user MUST pass in the path to the firmware! + if not d.getVar('PSM_DEPENDS') and not d.getVar('PSM_MCDEPENDS'): + # Don't cache this, as the items on disk can change! + d.setVar('BB_DONT_CACHE', '1') + + msg = "" + fail = False + if not os.path.exists(d.getVar('PSM_FILE') + ".elf"): + msg = msg + "The expected file %s.elf is not available. " % d.getVar('PSM_FILE') + fail = True + if not os.path.exists(d.getVar('PSM_FILE') + ".bin"): + msg = msg + "The expected file %s.bin is not available. " % d.getVar('PSM_FILE') + fail = True + + if fail: + if not d.getVar('WITHIN_EXT_SDK'): + raise bb.parse.SkipRecipe("%s\nEither specify PSM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg) + else: + # We found the file, so be sure to track it + d.setVar('SRC_URI', 'file://${PSM_FILE}.elf file://${PSM_FILE}.bin') + d.setVarFlag('do_install', 'file-checksums', '${PSM_FILE}.elf:True') + d.setVarFlag('do_deploy', 'file-checksums', '${PSM_FILE}.elf:True ${PSM_FILE}.bin:True') diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend index dc7c6df67..8b4ca716e 100644 --- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend @@ -1,27 +1 @@ -# Include the versal-fw setting, if it's enabled -PSMFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'versal-fw', 'versal-fw-cfg.inc', '', d)}" -require ${PSMFW_INC} - -def check_psm_vars(d): - # If both are blank, the user MUST pass in the path to the firmware! - if not d.getVar('PSM_DEPENDS') and not d.getVar('PSM_MCDEPENDS'): - # Don't cache this, as the items on disk can change! - d.setVar('BB_DONT_CACHE', '1') - - msg = "" - fail = False - if not os.path.exists(d.getVar('PSM_FILE') + ".elf"): - msg = msg + "The expected file %s.elf is not available. " % d.getVar('PSM_FILE') - fail = True - if not os.path.exists(d.getVar('PSM_FILE') + ".bin"): - msg = msg + "The expected file %s.bin is not available. " % d.getVar('PSM_FILE') - fail = True - - if fail: - if not d.getVar('WITHIN_EXT_SDK'): - raise bb.parse.SkipRecipe("%s\nEither specify PSM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg) - else: - # We found the file, so be sure to track it - d.setVar('SRC_URI', 'file://${PSM_FILE}.elf file://${PSM_FILE}.bin') - d.setVarFlag('do_install', 'file-checksums', '${PSM_FILE}.elf:True') - d.setVarFlag('do_deploy', 'file-checksums', '${PSM_FILE}.elf:True ${PSM_FILE}.bin:True') +require ${@'psmfw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') else ''} diff --git a/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend b/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend index 0d8243241..3fc7a89f0 100644 --- a/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend +++ b/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend @@ -1 +1 @@ -COMPATIBLE_HOST = "${HOST_SYS}" +COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}" diff --git a/meta-xilinx-standalone/recipes-core/newlib/libgloss_%.bbappend b/meta-xilinx-standalone/recipes-core/newlib/libgloss_%.bbappend index fcdc1ebd0..086762bac 100644 --- a/meta-xilinx-standalone/recipes-core/newlib/libgloss_%.bbappend +++ b/meta-xilinx-standalone/recipes-core/newlib/libgloss_%.bbappend @@ -1,5 +1,5 @@ -COMPATIBLE_HOST = ".*-elf" -COMPATIBLE_HOST:arm = "[^-]*-[^-]*-eabi" +COMPATIBLE_HOST:xilinx-standalone = ".*-elf" +COMPATIBLE_HOST:arm:xilinx-standalone = "[^-]*-[^-]*-eabi" EXTRA_OECONF:append:xilinx-standalone = " \ --enable-newlib-io-c99-formats \ diff --git a/meta-xilinx-standalone/recipes-core/newlib/newlib_%.bbappend b/meta-xilinx-standalone/recipes-core/newlib/newlib_%.bbappend index aff092cc3..716ba7467 100644 --- a/meta-xilinx-standalone/recipes-core/newlib/newlib_%.bbappend +++ b/meta-xilinx-standalone/recipes-core/newlib/newlib_%.bbappend @@ -1,5 +1,5 @@ -COMPATIBLE_HOST = ".*-elf" -COMPATIBLE_HOST:arm = "[^-]*-[^-]*-eabi" +COMPATIBLE_HOST:xilinx-standalone = ".*-elf" +COMPATIBLE_HOST:arm:xilinx-standalone = "[^-]*-[^-]*-eabi" EXTRA_OECONF:append:xilinx-standalone = " \ --enable-newlib-io-c99-formats \ diff --git a/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc index 48db3cf3e..a6581b699 100644 --- a/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc +++ b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc @@ -9,11 +9,11 @@ EXTRA_OECONF:append:xilinx-standalone = " \ " # CortexR5 and 32-bit arm are both "arm" -EXTRA_OECONF:append:xilinx-standalone:arm = " \ +EXTRA_OECONF:append:arm:xilinx-standalone = " \ --enable-interwork \ " -EXTRA_OECONF:append:xilinx-standalone:microblaze = " \ +EXTRA_OECONF:append:microblaze:xilinx-standalone = " \ --disable-initfini-array \ " diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc index 0320a780d..53bca733d 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc @@ -2,6 +2,6 @@ LINKER_HASH_STYLE:xilinx-standalone = "" SYMVERS_CONF:xilinx-standalone = "" -EXTRA_OECONF:append:xilinx-standalone:microblaze = " --disable-initfini_array" +EXTRA_OECONF:append:microblaze:xilinx-standalone = " --disable-initfini_array" -EXTRA_OECONF:append:xilinx-standalone:microblaze = " --disable-__cxa_atexit" +EXTRA_OECONF:append:microblaze:xilinx-standalone = " --disable-__cxa_atexit" diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend index 52360e2be..d9c4ad183 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend @@ -1,8 +1,8 @@ require gcc-configure-xilinx-standalone.inc -COMPATIBLE_HOST = "${HOST_SYS}" +COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}" -EXTRA_OECONF:append:xilinx-standalone:class-target = " \ +EXTRA_OECONF:append:class-target:xilinx-standalone = " \ --disable-libstdcxx-pch \ --with-newlib \ --disable-threads \ @@ -11,22 +11,22 @@ EXTRA_OECONF:append:xilinx-standalone:class-target = " \ --disable-libitm \ " -EXTRA_OECONF:append:xilinx-standalone:aarch64:class-target = " \ +EXTRA_OECONF:append:aarch64:class-target:xilinx-standalone = " \ --disable-multiarch \ --with-arch=armv8-a \ " -EXTRA_OECONF:append:xilinx-standalone:armv7r:class-target = " \ +EXTRA_OECONF:append:armv7r:class-target:xilinx-standalone = " \ --disable-tls \ --disable-decimal-float \ " -EXTRA_OECONF:append:xilinx-standalone:armv8r:class-target = " \ +EXTRA_OECONF:append:armv8r:class-target:xilinx-standalone = " \ --disable-tls \ --disable-decimal-float \ " -EXTRA_OECONF:append:xilinx-standalone:microblaze:class-target = " \ +EXTRA_OECONF:append:microblaze:class-target:xilinx-standalone = " \ --without-long-double-128 \ --disable-tm-clone-registry \ " @@ -34,13 +34,13 @@ EXTRA_OECONF:append:xilinx-standalone:microblaze:class-target = " \ # Changes local to gcc-runtime... # Dont build libitm, etc. -RUNTIMETARGET:xilinx-standalone:class-target = "libstdc++-v3" +RUNTIMETARGET:class-target:xilinx-standalone = "libstdc++-v3" -do_install:append:xilinx-standalone:class-target() { +do_install:append:class-target:xilinx-standalone() { # Fixup what gcc-runtime normally would do, we don't want linux directories! rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux } -FILES:${PN}-dbg:append:xilinx-standalone:class-target = "\ +FILES:${PN}-dbg:append:class-target:xilinx-standalone = "\ ${libdir}/libstdc++.a-gdb.py \ " diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend index 0d8243241..3fc7a89f0 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend @@ -1 +1 @@ -COMPATIBLE_HOST = "${HOST_SYS}" +COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}" diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc index 3417f3752..956bb4191 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc @@ -7,22 +7,22 @@ EXTRA_OECONF:append:xilinx-standalone = " \ --disable-libitm \ " -EXTRA_OECONF:append:xilinx-standalone:aarch64 = " \ +EXTRA_OECONF:append:aarch64:xilinx-standalone = " \ --disable-multiarch \ --with-arch=armv8-a \ " -EXTRA_OECONF:append:xilinx-standalone:armv7r = " \ +EXTRA_OECONF:append:armv7r:xilinx-standalone = " \ --disable-tls \ --disable-decimal-float \ " -EXTRA_OECONF:append:xilinx-standalone:armv8r = " \ +EXTRA_OECONF:append:armv8r:xilinx-standalone = " \ --disable-tls \ --disable-decimal-float \ " -EXTRA_OECONF:append:xilinx-standalone:microblaze = " \ +EXTRA_OECONF:append:microblaze:xilinx-standalone = " \ --without-long-double-128 \ --disable-tm-clone-registry \ " diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend index 2d33f5a9f..be68197e3 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend +++ b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend @@ -1,6 +1,6 @@ require gcc-configure-xilinx-standalone.inc -COMPATIBLE_HOST = "${HOST_SYS}" +COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}" EXTRA_OECONF:append:xilinx-standalone:microblaze:class-target = " \ --disable-tm-clone-registry \ diff --git a/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend b/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend index 0d8243241..3fc7a89f0 100644 --- a/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend +++ b/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend @@ -1 +1 @@ -COMPATIBLE_HOST = "${HOST_SYS}" +COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}" diff --git a/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend b/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend index 0d8243241..3fc7a89f0 100644 --- a/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend +++ b/meta-xilinx-standalone/recipes-kernel/linux/linux-dummy.bbappend @@ -1 +1 @@ -COMPATIBLE_HOST = "${HOST_SYS}" +COMPATIBLE_HOST:xilinx-standalone = "${HOST_SYS}"