summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core')
-rw-r--r--meta-xilinx-core/classes/amd_spi_image.bbclass142
-rw-r--r--meta-xilinx-core/conf/layer.conf54
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb15
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb15
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb16
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb16
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend (renamed from meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend)0
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend3
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend3
-rw-r--r--meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb28
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb3
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb3
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2023.inc (renamed from meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc)0
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb54
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb32
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc3
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb4
-rw-r--r--meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb4
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic-top.h10
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic.cfg81
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc2
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc2
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb10
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.bb (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb)7
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.2.bb54
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.1.bb58
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.2.bb58
-rwxr-xr-xmeta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.1.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg1
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc2
-rw-r--r--[-rwxr-xr-x]meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb0
-rw-r--r--meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb2
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb29
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc6
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc7
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc7
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0/xrt-cstdint.patch (renamed from meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch)0
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc (renamed from meta-xilinx-core/recipes-xrt/xrt/xrt.inc)1
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch117
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb51
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb51
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb56
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb (renamed from meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb)11
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch84
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb24
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb21
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb (renamed from meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb)2
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb25
54 files changed, 1168 insertions, 94 deletions
diff --git a/meta-xilinx-core/classes/amd_spi_image.bbclass b/meta-xilinx-core/classes/amd_spi_image.bbclass
new file mode 100644
index 00000000..ed4c1f87
--- /dev/null
+++ b/meta-xilinx-core/classes/amd_spi_image.bbclass
@@ -0,0 +1,142 @@
1#
2# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved.
3#
4# SPDX-License-Identifier: MIT
5#
6
7QSPI_SIZE ?= "0x2280000"
8
9# Register values
10IDN_REG ?= "0x4D554241"
11VERSION_REG ?= "0x1"
12LENGTH_REG ?= "0x4"
13PERSISTENT_REG ?= "0x01010000"
14
15# QSPI Offsets
16IMAGE_SELECTOR_OFFSET ?= "0x0"
17IMAGE_SELECTOR_BACKUP_OFFSET ?= "0x80000"
18PERSISTENT_REG_OFFSET ?= "0x100000"
19PERSISTENT_REG_BACKUP_OFFSET ?= "0x120000"
20IMAGE_A_OFFSET ?= "0x200000"
21IMAGE_A_IMGSEL_OFFSET ?= "0xF00000"
22IMAGE_B_OFFSET ?= "0xF80000"
23IMAGE_B_IMGSEL_OFFSET ?= "0x1C80000"
24IMAGE_RCVRY_OFFSET ?= "0x1E00000"
25IMAGE_RCVRY_BACKUP_OFFSET ?= "0x2000000"
26VERSION_OFFSET ?= "0x2240000"
27CHECKSUM_OFFSET ?= "0x2250000"
28
29def generate_spi_image(d):
30
31 import io
32 import hashlib
33 import time
34
35 qspi_size = int(d.getVar("QSPI_SIZE") or '0', 0)
36 int(d.getVar("QSPI_SIZE") or '0', 0)
37
38 # Register values
39 idn_reg = int(d.getVar("IDN_REG") or '0', 0)
40 version_reg = int(d.getVar("VERSION_REG") or '0', 0)
41 length_reg = int(d.getVar("LENGTH_REG") or '0', 0)
42 persistent_reg = int(d.getVar("PERSISTENT_REG") or '0', 0)
43
44 # QSPI Offsets
45 image_selector_offset = int(d.getVar("IMAGE_SELECTOR_OFFSET") or '0', 0)
46 image_selector_backup_offset = int(d.getVar("IMAGE_SELECTOR_BACKUP_OFFSET") or '0', 0)
47 persistent_reg_offset = int(d.getVar("PERSISTENT_REG_OFFSET") or '0', 0)
48 persistent_reg_backup_offset = int(d.getVar("PERSISTENT_REG_BACKUP_OFFSET") or '0', 0)
49 image_a_offset = int(d.getVar("IMAGE_A_OFFSET") or '0', 0)
50 image_a_imgsel_offset = int(d.getVar("IMAGE_A_IMGSEL_OFFSET") or '0', 0)
51 image_b_offset = int(d.getVar("IMAGE_B_OFFSET") or '0', 0)
52 image_b_imgsel_offset = int(d.getVar("IMAGE_B_IMGSEL_OFFSET") or '0', 0)
53 image_rcvry_offset = int(d.getVar("IMAGE_RCVRY_OFFSET") or '0', 0)
54 image_rcvry_backup_offset = int(d.getVar("IMAGE_RCVRY_BACKUP_OFFSET") or '0', 0)
55 version_offset = int(d.getVar("VERSION_OFFSET") or '0', 0)
56 checksum_offset = int(d.getVar("CHECKSUM_OFFSET") or '0', 0)
57
58 # QSPI data
59 qspi_data = io.BytesIO()
60 qspi_data.write(b'\xFF' * qspi_size)
61
62 # Image Selector - Primary, Backup, Image A and Image B
63 imgsel_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgsel-"+d.getVar("MACHINE")+".bin"
64 try:
65 with open(imgsel_file, "rb") as il:
66 imgsel = il.read(-1)
67 except OSError as err:
68 bb.fatal("Unable to open imgsel file: " + str(err))
69
70 qspi_data.seek(image_selector_offset)
71 qspi_data.write(imgsel)
72 qspi_data.seek(image_selector_backup_offset)
73 qspi_data.write(imgsel)
74 qspi_data.seek(image_a_imgsel_offset)
75 qspi_data.write(imgsel)
76 qspi_data.seek(image_b_imgsel_offset)
77 qspi_data.write(imgsel)
78
79 # Persistent Registers - Primary and Backup
80 p_reg = [idn_reg, version_reg, length_reg, persistent_reg, \
81 image_a_offset, image_b_offset, image_rcvry_offset]
82 checksum = 0xffffffff - (0xffffffff & sum(p_reg))
83 p_reg.insert(3, checksum)
84
85 qspi_data.seek(persistent_reg_offset)
86 for value in p_reg:
87 qspi_data.write(value.to_bytes(4, byteorder="little"))
88
89 qspi_data.seek(persistent_reg_backup_offset)
90 for value in p_reg:
91 qspi_data.write(value.to_bytes(4, byteorder="little"))
92
93 # Image A and B - boot.bin
94 try:
95 with open(d.getVar("DEPLOY_DIR_IMAGE")+"/boot.bin", "rb") as bo:
96 bootbin = bo.read(-1)
97 except OSError as err:
98 bb.fatal("Unable to open boot.bin file: " + str(err))
99
100 qspi_data.seek(image_a_offset)
101 qspi_data.write(bootbin)
102 qspi_data.seek(image_b_offset)
103 qspi_data.write(bootbin)
104
105 # Recovery Image & Recovery Image Backup
106 imgrcry_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgrcry-"+d.getVar("MACHINE")+".bin"
107 try:
108 with open(imgrcry_file, "rb") as iy:
109 imgrcry = iy.read(-1)
110 except OSError as err:
111 bb.fatal("Unable to open imgrcry file: " + str(err))
112
113 qspi_data.seek(image_rcvry_offset)
114 qspi_data.write(imgrcry)
115 qspi_data.seek(image_rcvry_backup_offset)
116 qspi_data.write(imgrcry)
117
118 # Version string and checksum
119 version = d.getVar("QSPI_IMAGE_VERSION")
120 date = time.strftime("%m%d%H%M")
121 machine = d.getVar("MACHINE")[:3]
122 image_name = d.getVar("QSPI_IMAGE_NAME")
123
124 qspi_version = f"{image_name}-{machine}-v{version}-{date}\x00"
125 qspi_data.seek(version_offset)
126 qspi_data.write(qspi_version.encode())
127
128 qspi_sha = hashlib.sha256(qspi_data.getbuffer())
129 qspi_data.seek(checksum_offset)
130 qspi_data.write(qspi_sha.digest())
131
132 # Write the QSPI data to file
133 with open(d.getVar("B") + "/" + d.getVar("IMAGE_NAME") + ".bin", "wb") as sq:
134 sq.write(qspi_data.getbuffer())
135
136do_compile[depends] += "virtual/boot-bin:do_deploy virtual/imgsel:do_deploy virtual/imgrcry:do_deploy"
137
138python amd_spi_image_do_compile() {
139 generate_spi_image(d)
140}
141
142EXPORT_FUNCTIONS do_compile
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf
index 49ed6ac8..f7310bf1 100644
--- a/meta-xilinx-core/conf/layer.conf
+++ b/meta-xilinx-core/conf/layer.conf
@@ -25,7 +25,7 @@ xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bbappend
25LAYERDEPENDS_xilinx = "core" 25LAYERDEPENDS_xilinx = "core"
26LAYERRECOMMENDS_xilinx = "openembedded-layer" 26LAYERRECOMMENDS_xilinx = "openembedded-layer"
27 27
28LAYERSERIES_COMPAT_xilinx = "nanbield" 28LAYERSERIES_COMPAT_xilinx = "scarthgap"
29 29
30SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ 30SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
31 *->xrt \ 31 *->xrt \
@@ -59,12 +59,16 @@ DEFAULT_XILINX_QEMU = "qemu-xilinx"
59DEFAULT_XILINX_QEMU:arm = "qemu" 59DEFAULT_XILINX_QEMU:arm = "qemu"
60PREFERRED_PROVIDER_qemu ?= "${DEFAULT_XILINX_QEMU}" 60PREFERRED_PROVIDER_qemu ?= "${DEFAULT_XILINX_QEMU}"
61 61
62XILINX_ATF_VERSION[v2022.1] = "2.6-xilinx-v2022.1%"
63XILINX_ATF_VERSION[v2022.2] = "2.6-xilinx-v2022.2%"
62XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" 64XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%"
63XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" 65XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%"
64PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 66PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
65 67
66XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" 68XILINX_UBOOT_VERSION[v2022.1] = "1:v2021.01-xilinx-v2022.1%"
67XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%" 69XILINX_UBOOT_VERSION[v2022.2] = "1:v2022.01-xilinx-v2022.2%"
70XILINX_UBOOT_VERSION[v2023.1] = "1:v2023.01-xilinx-v2023.1%"
71XILINX_UBOOT_VERSION[v2023.2] = "1:v2023.01-xilinx-v2023.2%"
68 72
69PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 73PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
70PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 74PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
@@ -75,6 +79,50 @@ XILINX_LINUX_VERSION[v2023.1] = "6.1.30-xilinx-v2023.1%"
75XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%" 79XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%"
76PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 80PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
77 81
82# Mali needs to match the kernel version
83PREFERRED_VERSION_kernel-module-mali = "r9p0-01rel0-${XILINX_RELEASE_VERSION}"
84
85# DP kernel module
86KERNEL_MODULE_DP_VERSION[v2022.1] = "5.10.0+xilinx-v2022.1+git%"
87KERNEL_MODULE_DP_VERSION[v2022.2] = "5.10.0+xilinx-v2022.2+git%"
88KERNEL_MODULE_DP_VERSION[v2023.1] = "6.1.0+xilinx-v2023.1+git%"
89KERNEL_MODULE_DP_VERSION[v2023.2] = "6.1.0+xilinx-v2023.2+git%"
90PREFERRED_VERSION_kernel-module-dp ?= "${@d.getVarFlag('KERNEL_MODULE_DP_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
91
92# HDMI kernel module
93KERNEL_MODULE_HDMI_VERSION[v2022.1] = "5.15.0+xilinx-v2022.1+git%"
94KERNEL_MODULE_HDMI_VERSION[v2022.2] = "5.15.19+xilinx-v2022.2+git%"
95KERNEL_MODULE_HDMI_VERSION[v2023.1] = "6.1+xilinx-v2023.1+git%"
96KERNEL_MODULE_HDMI_VERSION[v2023.2] = "6.1+xilinx-v2023.2+git%"
97PREFERRED_VERSION_kernel-module-hdmi ?= "${@d.getVarFlag('KERNEL_MODULE_HDMI_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
98
99# VCU kernel module
100PREFERRED_VERSION_kernel-module-vcu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%"
101
102# VDU kernel module
103PREFERRED_VERSION_kernel-module-vdu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%"
104
105# XRT/ZOCL
106XRT_ZOCL_VERSION[v2022.1] = "202210.2.13.479"
107XRT_ZOCL_VERSION[v2022.2] = "202220.2.14.0"
108XRT_ZOCL_VERSION[v2023.1] = "202310.2.15.0"
109XRT_ZOCL_VERSION[v2023.2] = "202320.2.16.0"
110PREFERRED_VERSION_xrt ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
111PREFERRED_VERSION_zocl ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
112
113# AI-Engine
114AIEFAL_VERSION[v2022.1] = "1.4"
115AIEFAL_VERSION[v2022.2] = "1.4"
116AIEFAL_VERSION[v2023.1] = "1.5"
117AIEFAL_VERSION[v2023.2] = "1.5"
118PREFERRED_VERSION_aiefal ?= "${@d.getVarFlag('AIEFAL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
119
120AI_ENGINE_DRIVER_VERSION[v2022.1] = "3.3"
121AI_ENGINE_DRIVER_VERSION[v2022.2] = "3.3"
122AI_ENGINE_DRIVER_VERSION[v2023.1] = "3.4"
123AI_ENGINE_DRIVER_VERSION[v2023.2] = "3.4"
124PREFERRED_VERSION_ai-engine-driver ?= "${@d.getVarFlag('AI_ENGINE_DRIVER_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
125
78# Add support to eSDK for gen-machine-conf if it exists 126# Add support to eSDK for gen-machine-conf if it exists
79PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" 127PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts"
80BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" 128BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb
deleted file mode 100644
index 30ca3501..00000000
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1SRCBRANCH ?= "2023.1"
2SRCREV = "be635252271de342014a146825870b64bd41d6eb"
3BRANCH = "xlnx_rel_v2023.1"
4LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4"
5PV = "${SRCBRANCH}+git${SRCPV}"
6
7REPO = "git://github.com/Xilinx/libmetal.git;protocol=https"
8
9include ${LAYER_PATH_openamp-layer}/recipes-openamp/libmetal/libmetal.inc
10
11RPROVIDES:${PN}-dbg += "libmetal-dbg"
12RPROVIDES:${PN}-dev += "libmetal-dev"
13RPROVIDES:${PN}-lic += "libmetal-lic"
14RPROVIDES:${PN}-src += "libmetal-src"
15RPROVIDES:${PN}-staticdev += "libmetal-staticdev"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb
deleted file mode 100644
index 5618ae88..00000000
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1SRCBRANCH ?= "2023.2"
2SRCREV = "00fd771adc7adaed664ed6c5bc3d48d25856fe5c"
3BRANCH = "xlnx_rel_v2023.2"
4LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4"
5PV = "${SRCBRANCH}+git${SRCPV}"
6
7REPO = "git://github.com/Xilinx/libmetal.git;protocol=https"
8
9include ${LAYER_PATH_openamp-layer}/recipes-openamp/libmetal/libmetal.inc
10
11RPROVIDES:${PN}-dbg += "libmetal-dbg"
12RPROVIDES:${PN}-dev += "libmetal-dev"
13RPROVIDES:${PN}-lic += "libmetal-lic"
14RPROVIDES:${PN}-src += "libmetal-src"
15RPROVIDES:${PN}-staticdev += "libmetal-staticdev"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb
deleted file mode 100644
index e295b869..00000000
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1SRCBRANCH ?= "2023.1"
2SRCREV = "c8aaf2f26d5493f492f0af09dd558d45908636da"
3BRANCH = "xlnx_rel_v2023.1"
4LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505"
5PV = "${SRCBRANCH}+git${SRCPV}"
6REPO = "git://github.com/Xilinx/open-amp.git;protocol=https"
7
8include ${LAYER_PATH_openamp-layer}/recipes-openamp/open-amp/open-amp.inc
9require ${LAYER_PATH_openamp-layer}/vendor/xilinx/recipes-openamp/open-amp/open-amp-xlnx.inc
10
11RPROVIDES:${PN}-dbg += "open-amp-dbg"
12RPROVIDES:${PN}-dev += "open-amp-dev"
13RPROVIDES:${PN}-lic += "open-amp-lic"
14RPROVIDES:${PN}-src += "open-amp-src"
15RPROVIDES:${PN}-staticdev += "open-amp-staticdev"
16
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb
deleted file mode 100644
index 8c6b4431..00000000
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1SRCBRANCH ?= "2023.2"
2SRCREV = "73a546f2b5faffe71680b1e5389f3328be60773f"
3BRANCH = "xlnx_rel_v2023.2"
4LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505"
5PV = "${SRCBRANCH}+git${SRCPV}"
6REPO = "git://github.com/Xilinx/open-amp.git;protocol=https"
7
8include ${LAYER_PATH_openamp-layer}/recipes-openamp/open-amp/open-amp.inc
9require ${LAYER_PATH_openamp-layer}/vendor/xilinx/recipes-openamp/open-amp/open-amp-xlnx.inc
10
11RPROVIDES:${PN}-dbg += "open-amp-dbg"
12RPROVIDES:${PN}-dev += "open-amp-dev"
13RPROVIDES:${PN}-lic += "open-amp-lic"
14RPROVIDES:${PN}-src += "open-amp-src"
15RPROVIDES:${PN}-staticdev += "open-amp-staticdev"
16
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
index 2b96f152..2b96f152 100644
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
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
new file mode 100644
index 00000000..89f1b4ad
--- /dev/null
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend
@@ -0,0 +1,3 @@
1# Older xrt requires a manual dependency on libmetal
2DEPENDS:append:versal-ai-core = " libmetal"
3DEPENDS:append:versal-ai-edge = " libmetal"
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
new file mode 100644
index 00000000..89f1b4ad
--- /dev/null
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend
@@ -0,0 +1,3 @@
1# Older xrt requires a manual dependency on libmetal
2DEPENDS:append:versal-ai-core = " libmetal"
3DEPENDS:append:versal-ai-edge = " libmetal"
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
new file mode 100644
index 00000000..f053a9bd
--- /dev/null
+++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb
@@ -0,0 +1,28 @@
1DESCRIPTION = "Image update is used to update alternate images on compatible firmware."
2SUMMARY = "Image update is used to update alternate image on compatible firmware. \
3 If the current image is ImageA, ImageB will get updated and vice versa. \
4 Usage: image_update <Input Image File>"
5
6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23ce497d57d09b"
8
9BRANCH = "master"
10SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https"
11SRCREV = "a68308f329578d3585fd335071a9184aa7f46d2e"
12
13RDEPENDS:${PN} += "freeipmi"
14
15S = "${WORKDIR}/git"
16
17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19
20PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}"
21
22# Force the make system to use the flags we want!
23EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all'
24
25do_install () {
26 install -d ${D}${bindir}
27 install -m 0755 ${S}/image_update ${D}${bindir}/
28}
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 6a4fd880..c609f3e4 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
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine runtime" 1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" 2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3 3
4require aie-rt.inc 4require aie-rt-2022.inc
5 5
6SECTION = "libs" 6SECTION = "libs"
7 7
@@ -12,7 +12,6 @@ I = "${AIEDIR}/include"
12COMPATIBLE_MACHINE = "^$" 12COMPATIBLE_MACHINE = "^$"
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
15PV = "3.3"
16 15
17IOBACKENDS ?= "Linux" 16IOBACKENDS ?= "Linux"
18 17
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 f86c5985..154d02cf 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
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine runtime" 1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" 2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3 3
4require aie-rt-2022.inc 4require aie-rt-2023.inc
5 5
6SECTION = "libs" 6SECTION = "libs"
7 7
@@ -12,7 +12,6 @@ I = "${AIEDIR}/include"
12COMPATIBLE_MACHINE = "^$" 12COMPATIBLE_MACHINE = "^$"
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
15PV = "3.3"
16 15
17IOBACKENDS ?= "Linux" 16IOBACKENDS ?= "Linux"
18 17
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2023.inc
index 11059465..11059465 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2023.inc
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 641c39a9..7bb4b849 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
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" 1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" 2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3 3
4require aie-rt.inc 4require aie-rt-2022.inc
5 5
6SECTION = "devel" 6SECTION = "devel"
7 7
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 2c6c9cd1..45e38977 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
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" 1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" 2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3 3
4require aie-rt-2022.inc 4require aie-rt-2023.inc
5 5
6SECTION = "devel" 6SECTION = "devel"
7 7
diff --git a/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb
new file mode 100644
index 00000000..98eebc3e
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb
@@ -0,0 +1,54 @@
1DESCRIPTION = "Bootbin version string file"
2SUMMARY = "The BIF file for bootbin requires a version file in a specific format"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
5
6COMPATIBLE_MACHINE = "^$"
7
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10BOOTBIN_VER_MAIN ?= ""
11
12BOOTBIN_VER_SUFFIX ?= "${@(d.getVar('XILINX_VER_BUILD') or '')[:8] if d.getVar('XILINX_VER_UPDATE') != 'release' and not d.getVar('XILINX_VER_UPDATE').startswith('update') else ''}"
13BOOTBIN_VER_FILE = "bootbin-version-header.txt"
14BOOTBIN_VER_MAX_LEN = "36"
15
16BOOTBIN_MANIFEST_FILE ?= "bootbin-version-header.manifest"
17
18inherit deploy image-artifact-names
19
20python do_configure() {
21 if d.getVar("BOOTBIN_VER_SUFFIX"):
22 version = version + "-" + d.getVar("BOOTBIN_VER_SUFFIX")
23
24 if len(version) > int(d.getVar("BOOTBIN_VER_MAX_LEN")):
25 bb.error("version string too long")
26
27 with open(d.expand("${B}/${BOOTBIN_VER_FILE}"), "w") as f:
28 f.write(version.encode("utf-8").hex())
29
30 with open(d.expand("${B}/${BOOTBIN_MANIFEST_FILE}"), "w") as f:
31 f.write("* %s\n" % d.getVar('PN'))
32 f.write("VERSION: %s\n" % version)
33 f.write("PV: %s\n" % d.getVar('PV'))
34 f.write("XILINX_VER_MAIN: %s\n" % d.getVar('XILINX_VER_MAIN'))
35 f.write("XILINX_VER_UPDATE: %s\n" % d.getVar('XILINX_VER_UPDATE'))
36 f.write("XILINX_VER_BUILD: %s\n\n" % d.getVar('XILINX_VER_BUILD'))
37}
38
39do_install() {
40 install -d ${D}/boot
41 install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${D}/boot/
42}
43
44do_deploy() {
45 install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.txt
46 ln -s ${IMAGE_NAME}.txt ${DEPLOYDIR}/${IMAGE_LINK_NAME}.txt
47 install -m 0644 ${B}/${BOOTBIN_MANIFEST_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.manifest
48 ln -s ${IMAGE_NAME}.manifest ${DEPLOYDIR}/${IMAGE_LINK_NAME}.manifest
49}
50
51addtask deploy after do_compile
52
53SYSROOT_DIRS += "/boot"
54FILES:${PN} += "/boot/${BOOTBIN_VER_FILE}"
diff --git a/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb
new file mode 100644
index 00000000..af30a17d
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb
@@ -0,0 +1,32 @@
1DESCRIPTION = "Bootbin version file - text format"
2SUMMARY = "The BIF file for bootbin requires a version file in a text format"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
5
6COMPATIBLE_MACHINE = "^$"
7
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10BOOTBIN_VER_MAIN ?= ""
11BOOTBIN_VER_SUFFIX ?= "${@(d.getVar('XILINX_VER_BUILD') or '')[:8] if d.getVar('XILINX_VER_UPDATE') != 'release' and not d.getVar('XILINX_VER_UPDATE').startswith('update') else ''}"
12BOOTBIN_VER_FILE = "bootbin-version-string.txt"
13
14#BOOTBIN_MANIFEST_FILE ?= "bootbin-version-header.manifest"
15
16inherit deploy image-artifact-names
17
18python do_configure() {
19 if d.getVar("BOOTBIN_VER_SUFFIX"):
20 version = version + "-" + d.getVar("BOOTBIN_VER_SUFFIX")
21 with open(d.expand("${B}/${BOOTBIN_VER_FILE}"), "w") as f:
22 f.write(version)
23}
24
25do_deploy() {
26 install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.txt
27 ln -s ${IMAGE_NAME}.txt ${DEPLOYDIR}/${IMAGE_LINK_NAME}.txt
28# install -m 0644 ${B}/${BOOTBIN_MANIFEST_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.manifest
29# ln -s ${IMAGE_NAME}.manifest ${DEPLOYDIR}/${IMAGE_LINK_NAME}.manifest
30}
31
32addtask deploy after do_compile
diff --git a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc
index fff2c7a3..cd6adcef 100644
--- a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc
+++ b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc
@@ -4,6 +4,9 @@ BOOTGEN_EXTRA_ARGS += "-dump bh"
4# specify BIF common attribute for FSBL 4# specify BIF common attribute for FSBL
5BIF_COMMON_ATTR ?= "" 5BIF_COMMON_ATTR ?= ""
6 6
7# specify BIF optional attributes
8BIF_OPTIONAL_DATA ?= ""
9
7#specify BIF partition attributes required for BOOT.bin 10#specify BIF partition attributes required for BOOT.bin
8BIF_FSBL_ATTR ??= "base-pdi plmfw psmfw" 11BIF_FSBL_ATTR ??= "base-pdi plmfw psmfw"
9BIF_ATF_ATTR ??= "arm-trusted-firmware" 12BIF_ATF_ATTR ??= "arm-trusted-firmware"
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 4c8bfa0e..e0e1e506 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
@@ -125,6 +125,10 @@ python do_configure() {
125 biffd.write("the_ROM_image:\n") 125 biffd.write("the_ROM_image:\n")
126 biffd.write("{\n") 126 biffd.write("{\n")
127 127
128 if d.getVar("BIF_OPTIONAL_DATA"):
129 opt_data = d.getVar("BIF_OPTIONAL_DATA") or ""
130 biffd.write("\toptionaldata { %s }\n" % opt_data)
131
128 arch = d.getVar("SOC_FAMILY") 132 arch = d.getVar("SOC_FAMILY")
129 bifattr = (d.getVar("BIF_COMMON_ATTR") or "").split() 133 bifattr = (d.getVar("BIF_COMMON_ATTR") or "").split()
130 if bifattr: 134 if bifattr:
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 8d7211f5..26a10677 100644
--- a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb
+++ b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb
@@ -130,7 +130,7 @@ devicetree_do_install:append() {
130 fi 130 fi
131 if [ -e "${D}/boot/devicetree/${DTB_FILE_NAME}" ]; then 131 if [ -e "${D}/boot/devicetree/${DTB_FILE_NAME}" ]; then
132 # We need the output to be system.dtb for WIC setup to match XSCT flow 132 # We need the output to be system.dtb for WIC setup to match XSCT flow
133 ln -sf devicetree/${DTB_FILE_NAME} ${D}/boot/system.dtb 133 cp ${D}/boot/devicetree/${DTB_FILE_NAME} ${D}/boot/system.dtb
134 else 134 else
135 bberror "Expected filename ${DTB_FILE_NAME} doesn't exist in ${DEPLOYDIR}/devicetree" 135 bberror "Expected filename ${DTB_FILE_NAME} doesn't exist in ${DEPLOYDIR}/devicetree"
136 fi 136 fi
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 0d24c9fc..d09ab51e 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
@@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '
9SRC_URI = "${REPO};${BRANCHARG}" 9SRC_URI = "${REPO};${BRANCHARG}"
10 10
11BRANCH = "xlnx_rel_v2023.2" 11BRANCH = "xlnx_rel_v2023.2"
12SRCREV = "4dbd33accb043bd92ecbec2a3507f85a22045c51" 12SRCREV = "898fe38023d15d54402c788bcbca67a29eb2dc3d"
13SOMAJOR = "1" 13SOMAJOR = "1"
14SOMINOR = "0" 14SOMINOR = "0"
15SOVERSION = "${SOMAJOR}.${SOMINOR}" 15SOVERSION = "${SOMAJOR}.${SOMINOR}"
@@ -22,7 +22,7 @@ S = "${WORKDIR}/git"
22 22
23inherit cmake update-rc.d systemd 23inherit cmake update-rc.d systemd
24 24
25DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm" 25DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm systemd"
26RDEPENDS:${PN} += " freeipmi" 26RDEPENDS:${PN} += " freeipmi"
27EXTRA_OECMAKE += " \ 27EXTRA_OECMAKE += " \
28 -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \ 28 -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb
index eaf8d4ce..94369955 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb
@@ -19,3 +19,20 @@ do_compile () {
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} 19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20} 20}
21 21
22# mkeficapsule is not available in this version of u-boot
23PROVIDES:remove = "${MLPREFIX}u-boot-mkeficapsule"
24PROVIDES:class-native:remove = "u-boot-mkeficapsule-native"
25PACKAGES:remove = "${PN}-mkeficapsule"
26RDEPENDS:${PN}:remove = "${PN}-mkeficapsule"
27
28do_install:prepend() {
29 # Avoid do_install failure
30 mkdir -p tools
31 touch tools/mkeficapsule
32}
33
34do_install:append() {
35 # Avoid failure
36 rm -rf ${D}${bindir}/uboot-mkeficapsule
37 rm -rf ${D}${bindir}/mkeficapsule
38}
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb
index 44636872..6b033f0f 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb
@@ -19,3 +19,20 @@ do_compile () {
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} 19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20} 20}
21 21
22# mkeficapsule is not available in this version of u-boot
23PROVIDES:remove = "${MLPREFIX}u-boot-mkeficapsule"
24PROVIDES:class-native:remove = "u-boot-mkeficapsule-native"
25PACKAGES:remove = "${PN}-mkeficapsule"
26RDEPENDS:${PN}:remove = "${PN}-mkeficapsule"
27
28do_install:prepend() {
29 # Avoid do_install failure
30 mkdir -p tools
31 touch tools/mkeficapsule
32}
33
34do_install:append() {
35 # Avoid failure
36 rm -rf ${D}${bindir}/uboot-mkeficapsule
37 rm -rf ${D}${bindir}/mkeficapsule
38}
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic-top.h b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic-top.h
new file mode 100644
index 00000000..08c1c16c
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic-top.h
@@ -0,0 +1,10 @@
1/*
2 * This file is use for addition u-boot configurations for microblaze.
3 */
4#include <configs/microblaze-generic.h>
5
6/* Core microblaze boot configurations */
7#define XILINX_USE_DCACHE 1
8#define CONFIG_CMD_IRQ
9#define CONFIG_DCACHE
10#define CONFIG_ICACHE \ No newline at end of file
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic.cfg b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic.cfg
new file mode 100644
index 00000000..0f784f73
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2022.01/microblaze-generic.cfg
@@ -0,0 +1,81 @@
1# SPDX-License-Identifier: MIT
2
3#........................................................................
4# WARNING
5#
6# This file is a u-boot configuration fragment, and not a full u-boot
7# configuration file. The final u-boot configuration is made up of
8# an assembly of processed fragments, each of which is designed to
9# capture a specific part of the final configuration (e.g. platform
10# configuration, feature configuration, and board specific hardware
11# configuration). For more information on u-boot configuration, please
12# refer the product documentation.
13#
14#.......................................................................
15
16#
17# Definitions for Generic Microbalze machine.
18#
19CONFIG_BOOTDELAY=4
20CONFIG_SYS_TEXT_BASE=0x80100000
21CONFIG_SYS_PROMPT="U-Boot>"
22CONFIG_SYS_CONFIG_NAME="microblaze-generic-top"
23CONFIG_BOOT_SCRIPT_OFFSET=0x1F00000
24# CONFIG_SYS_NS16550 is not set
25# CONFIG_SYS_FLASH_USE_BUFFER_WRITE is not set
26# CONFIG_SYS_FLASH_CFI is not set
27# CONFIG_FLASH_CFI_DRIVER is not set
28# CONFIG_CMD_FLASH is not set
29# CONFIG_CMD_IMLS is not set
30# CONFIG_MTD_NOR_FLASH is not set
31# CONFIG_MTD_DEVICE is not set
32# CONFIG_SYS_FLASH_PROTECTION is not set
33# CONFIG_SPI_FLASH_SST is not set
34# CONFIG_XILINX_EMACLITE is not set
35# CONFIG_PHY_VITESSE is not set
36# CONFIG_CMD_EXT2 is not set
37# CONFIG_CMD_EXT4 is not set
38# CONFIG_CMD_EXT4_WRITE is not set
39# CONFIG_CMD_FAT is not set
40# CONFIG_DOS_PARTITION is not set
41# CONFIG_FAT_WRITE is not set
42CONFIG_DM=y
43CONFIG_SYS_MALLOC_F=y
44CONFIG_XILINX_UARTLITE=y
45CONFIG_XILINX_AXIEMAC=y
46CONFIG_PHY_XILINX=y
47CONFIG_PHY_TI=y
48CONFIG_NET=y
49CONFIG_PHY_GIGE=y
50CONFIG_NETDEVICES=y
51CONFIG_CMD_NET=y
52CONFIG_DM_ETH=y
53CONFIG_CMD_PING=y
54CONFIG_CMD_DHCP=y
55CONFIG_PHYLIB=y
56CONFIG_CMD_TFTPPUT=y
57CONFIG_CMD_NFS=y
58CONFIG_CMD_MII=y
59CONFIG_PHY_MARVELL=y
60CONFIG_PHY_REALTEK=y
61CONFIG_PHY_NATSEMI=y
62CONFIG_XILINX_SPI=y
63CONFIG_CMD_SPI=y
64CONFIG_CMD_SF=y
65CONFIG_SPI_FLASH=y
66CONFIG_SPI_FLASH_BAR=y
67CONFIG_DM_SPI_FLASH=y
68CONFIG_DM_SPI=y
69CONFIG_SPI_FLASH_SPANSION=y
70CONFIG_SPI_FLASH_STMICRO=y
71CONFIG_SPI_FLASH_WINBOND=y
72CONFIG_SPI_FLASH_MACRONIX=y
73CONFIG_SPI=y
74CONFIG_SPI_FLASH_ISSI=y
75# CONFIG_BOOTARGS is not set
76# CONFIG_USE_BOOTARGS is not set
77# CONFIG_SPL is not set
78# CONFIG_I2C_EEPROM is not set
79# CONFIG_CMD_EEPROM is not set
80# CONFIG_SYS_I2C_EEPROM_ADDR is not set
81# CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW is not set
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc
index 6415861d..f9b8f52b 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc
@@ -1,4 +1,4 @@
1UBOOT_VERSION = "v2021.01" 1UBOOT_VERSION = "v2022.01"
2 2
3UBRANCH ?= "xlnx_rebase_v2022.01" 3UBRANCH ?= "xlnx_rebase_v2022.01"
4 4
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc
index 0cfbd846..a7b1c9dc 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc
@@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01"
2 2
3UBRANCH = "xlnx_rebase_v2023.01" 3UBRANCH = "xlnx_rebase_v2023.01"
4 4
5SRCREV = "0fc19cad5a07a09958443e7a5b6f11e420ef195c" 5SRCREV = "2b54ad6f1d278c419b927d10db2edf323d844578"
6 6
7LICENSE = "GPL-2.0-or-later" 7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" 8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
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 6410fc25..ac391c3c 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
@@ -262,10 +262,11 @@ do_compile() {
262do_install() { 262do_install() {
263 install -d ${D}/boot 263 install -d ${D}/boot
264 install -m 0644 boot.scr ${D}/boot/${UBOOTSCR_BASE_NAME}.scr 264 install -m 0644 boot.scr ${D}/boot/${UBOOTSCR_BASE_NAME}.scr
265 ln -sf ${UBOOTSCR_BASE_NAME}.scr ${D}/boot/boot.scr 265 install -m 0644 boot.scr ${D}/boot/
266 install -d ${D}/boot/pxeboot/${UBOOTPXE_CONFIG_NAME} 266 install -d ${D}/boot/pxeboot/${UBOOTPXE_CONFIG_NAME}
267 install -m 0644 pxeboot.pxe ${D}/boot/pxeboot/${UBOOTPXE_CONFIG_NAME}/default 267 install -m 0644 pxeboot.pxe ${D}/boot/pxeboot/${UBOOTPXE_CONFIG_NAME}/default
268 ln -sf pxeboot/${UBOOTPXE_CONFIG_NAME} ${D}/boot/${UBOOTPXE_CONFIG} 268 install -d ${D}/boot/${UBOOTPXE_CONFIG}/
269 install -m 0644 pxeboot.pxe ${D}/boot/${UBOOTPXE_CONFIG}/default
269} 270}
270 271
271FILES:${PN} = "/boot/*" 272FILES:${PN} = "/boot/*"
@@ -273,10 +274,11 @@ FILES:${PN} = "/boot/*"
273do_deploy() { 274do_deploy() {
274 install -d ${DEPLOYDIR} 275 install -d ${DEPLOYDIR}
275 install -m 0644 boot.scr ${DEPLOYDIR}/${UBOOTSCR_BASE_NAME}.scr 276 install -m 0644 boot.scr ${DEPLOYDIR}/${UBOOTSCR_BASE_NAME}.scr
276 ln -sf ${UBOOTSCR_BASE_NAME}.scr ${DEPLOYDIR}/boot.scr 277 install -m 0644 boot.scr ${DEPLOYDIR}/
277 install -d ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME} 278 install -d ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}
278 install -m 0644 pxeboot.pxe ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}/default 279 install -m 0644 pxeboot.pxe ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}/default
279 ln -sf pxeboot/${UBOOTPXE_CONFIG_NAME} ${DEPLOYDIR}/${UBOOTPXE_CONFIG} 280 install -d ${DEPLOYDIR}/${UBOOTPXE_CONFIG}/
281 install -m 0644 pxeboot.pxe ${DEPLOYDIR}/${UBOOTPXE_CONFIG}/default
280} 282}
281 283
282addtask do_deploy after do_compile before do_build 284addtask do_deploy after do_compile before do_build
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.bb
index 268759c2..56431a7f 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.bb
@@ -6,10 +6,11 @@ LIC_FILES_CHKSUM = " \
6 file://linux/license/gpl/mali_kernel_license.h;md5=f5af2d61f4c1eb262cb6a557aaa1070a \ 6 file://linux/license/gpl/mali_kernel_license.h;md5=f5af2d61f4c1eb262cb6a557aaa1070a \
7 " 7 "
8 8
9PV = "r9p0-01rel0" 9MALI_VERSION = "r9p0-01rel0"
10PV =. "${MALI_VERSION}-v"
10 11
11SRC_URI = " \ 12SRC_URI = " \
12 https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-utgard-gpu/DX910-SW-99002-${PV}.tgz \ 13 https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-utgard-gpu/DX910-SW-99002-${MALI_VERSION}.tgz \
13 file://0001-Change-Makefile-to-be-compatible-with-Yocto.patch \ 14 file://0001-Change-Makefile-to-be-compatible-with-Yocto.patch \
14 file://0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch \ 15 file://0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch \
15 file://0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch \ 16 file://0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch \
@@ -42,7 +43,7 @@ inherit features_check module
42 43
43PARALLEL_MAKE = "-j 1" 44PARALLEL_MAKE = "-j 1"
44 45
45S = "${WORKDIR}/DX910-SW-99002-${PV}/driver/src/devicedrv/mali" 46S = "${WORKDIR}/DX910-SW-99002-${MALI_VERSION}/driver/src/devicedrv/mali"
46 47
47REQUIRED_MACHINE_FEATURES = "mali400" 48REQUIRED_MACHINE_FEATURES = "mali400"
48 49
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.2.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.2.bb
new file mode 100644
index 00000000..e8e46543
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.2.bb
@@ -0,0 +1,54 @@
1SUMMARY = "A Mali 400 Linux Kernel module"
2SECTION = "kernel/modules"
3
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = " \
6 file://linux/license/gpl/mali_kernel_license.h;md5=f5af2d61f4c1eb262cb6a557aaa1070a \
7 "
8
9MALI_VERSION = "r9p0-01rel0"
10PV =. "${MALI_VERSION}-v"
11
12SRC_URI = " \
13 https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-utgard-gpu/DX910-SW-99002-${MALI_VERSION}.tgz \
14 file://0001-Change-Makefile-to-be-compatible-with-Yocto.patch \
15 file://0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch \
16 file://0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch \
17 file://0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch \
18 file://0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch \
19 file://0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch \
20 file://0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch \
21 file://0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch\
22 file://0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch\
23 file://0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch\
24 file://0014-linux-mali_-timer-Get-rid-of-init_timer.patch\
25 file://0015-fix-driver-failed-to-check-map-error.patch \
26 file://0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch \
27 file://0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch \
28 file://0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch \
29 file://0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch \
30 file://0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch \
31 file://0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch \
32 file://0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch \
33 file://0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch \
34 "
35SRC_URI[md5sum] = "85ea110dd6675c70b7d01af87ec9633c"
36SRC_URI[sha256sum] = "7a67127341d17640c1fff5dad80258fb2a37c8a2121b81525fe2327e4532ce2b"
37
38inherit features_check module
39
40PARALLEL_MAKE = "-j 1"
41
42S = "${WORKDIR}/DX910-SW-99002-${MALI_VERSION}/driver/src/devicedrv/mali"
43
44REQUIRED_MACHINE_FEATURES = "mali400"
45
46EXTRA_OEMAKE = 'KDIR="${STAGING_KERNEL_DIR}" \
47 ARCH="${ARCH}" \
48 BUILD=release \
49 MALI_PLATFORM="arm" \
50 USING_DT=1 \
51 MALI_SHARED_INTERRUPTS=1 \
52 CROSS_COMPILE="${TARGET_PREFIX}" \
53 MALI_QUIET=1 \
54 '
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.1.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.1.bb
new file mode 100644
index 00000000..56431a7f
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.1.bb
@@ -0,0 +1,58 @@
1SUMMARY = "A Mali 400 Linux Kernel module"
2SECTION = "kernel/modules"
3
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = " \
6 file://linux/license/gpl/mali_kernel_license.h;md5=f5af2d61f4c1eb262cb6a557aaa1070a \
7 "
8
9MALI_VERSION = "r9p0-01rel0"
10PV =. "${MALI_VERSION}-v"
11
12SRC_URI = " \
13 https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-utgard-gpu/DX910-SW-99002-${MALI_VERSION}.tgz \
14 file://0001-Change-Makefile-to-be-compatible-with-Yocto.patch \
15 file://0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch \
16 file://0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch \
17 file://0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch \
18 file://0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch \
19 file://0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch \
20 file://0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch \
21 file://0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch\
22 file://0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch\
23 file://0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch\
24 file://0014-linux-mali_-timer-Get-rid-of-init_timer.patch\
25 file://0015-fix-driver-failed-to-check-map-error.patch \
26 file://0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch \
27 file://0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch \
28 file://0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch \
29 file://0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch \
30 file://0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch \
31 file://0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch \
32 file://0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch \
33 file://0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch \
34 file://0024-Use-community-device-tree-names.patch \
35 file://0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch \
36 file://0026-Fix-gpu-driver-probe-failure.patch \
37 file://0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch \
38 "
39SRC_URI[md5sum] = "85ea110dd6675c70b7d01af87ec9633c"
40SRC_URI[sha256sum] = "7a67127341d17640c1fff5dad80258fb2a37c8a2121b81525fe2327e4532ce2b"
41
42inherit features_check module
43
44PARALLEL_MAKE = "-j 1"
45
46S = "${WORKDIR}/DX910-SW-99002-${MALI_VERSION}/driver/src/devicedrv/mali"
47
48REQUIRED_MACHINE_FEATURES = "mali400"
49
50EXTRA_OEMAKE = 'KDIR="${STAGING_KERNEL_DIR}" \
51 ARCH="${ARCH}" \
52 BUILD=release \
53 MALI_PLATFORM="arm" \
54 USING_DT=1 \
55 MALI_SHARED_INTERRUPTS=1 \
56 CROSS_COMPILE="${TARGET_PREFIX}" \
57 MALI_QUIET=1 \
58 '
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.2.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.2.bb
new file mode 100644
index 00000000..56431a7f
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2023.2.bb
@@ -0,0 +1,58 @@
1SUMMARY = "A Mali 400 Linux Kernel module"
2SECTION = "kernel/modules"
3
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = " \
6 file://linux/license/gpl/mali_kernel_license.h;md5=f5af2d61f4c1eb262cb6a557aaa1070a \
7 "
8
9MALI_VERSION = "r9p0-01rel0"
10PV =. "${MALI_VERSION}-v"
11
12SRC_URI = " \
13 https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-utgard-gpu/DX910-SW-99002-${MALI_VERSION}.tgz \
14 file://0001-Change-Makefile-to-be-compatible-with-Yocto.patch \
15 file://0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch \
16 file://0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch \
17 file://0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch \
18 file://0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch \
19 file://0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch \
20 file://0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch \
21 file://0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch\
22 file://0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch\
23 file://0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch\
24 file://0014-linux-mali_-timer-Get-rid-of-init_timer.patch\
25 file://0015-fix-driver-failed-to-check-map-error.patch \
26 file://0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch \
27 file://0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch \
28 file://0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch \
29 file://0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch \
30 file://0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch \
31 file://0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch \
32 file://0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch \
33 file://0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch \
34 file://0024-Use-community-device-tree-names.patch \
35 file://0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch \
36 file://0026-Fix-gpu-driver-probe-failure.patch \
37 file://0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch \
38 "
39SRC_URI[md5sum] = "85ea110dd6675c70b7d01af87ec9633c"
40SRC_URI[sha256sum] = "7a67127341d17640c1fff5dad80258fb2a37c8a2121b81525fe2327e4532ce2b"
41
42inherit features_check module
43
44PARALLEL_MAKE = "-j 1"
45
46S = "${WORKDIR}/DX910-SW-99002-${MALI_VERSION}/driver/src/devicedrv/mali"
47
48REQUIRED_MACHINE_FEATURES = "mali400"
49
50EXTRA_OEMAKE = 'KDIR="${STAGING_KERNEL_DIR}" \
51 ARCH="${ARCH}" \
52 BUILD=release \
53 MALI_PLATFORM="arm" \
54 USING_DT=1 \
55 MALI_SHARED_INTERRUPTS=1 \
56 CROSS_COMPILE="${TARGET_PREFIX}" \
57 MALI_QUIET=1 \
58 '
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb
new file mode 100755
index 00000000..31c810ba
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.1.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "5.10.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2022.1"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "9a025fdb7134a8af12de8d69f5a428c8284ae9b3"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.1.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.1.bb
new file mode 100644
index 00000000..ea649bc4
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.1.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx HDMI Linux Kernel module"
2DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe"
6
7XLNX_HDMI_VERSION = "5.15.0"
8PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2022.1"
13REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https"
14SRCREV = "25b6fe7a26a975be15c002b48cfd4c291486491e"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg
new file mode 100644
index 00000000..a5b23e3f
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg
@@ -0,0 +1 @@
CONFIG_VERSAL_SYSMON_I2C=y
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc
new file mode 100644
index 00000000..c1830956
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc
@@ -0,0 +1,2 @@
1# SPDX-License-Identifier: MIT
2kconf hardware versal-sysmon.cfg
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb
index 419dd681..419dd681 100755..100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb
diff --git a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb
index a9d60465..db4f25b4 100644
--- a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb
+++ b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb
@@ -30,7 +30,7 @@ LIC_FILES_CHKSUM = " \
30 30
31BRANCH ?= "freeipmi-1-6-0-stable" 31BRANCH ?= "freeipmi-1-6-0-stable"
32SRC_URI = " \ 32SRC_URI = " \
33 git://git.savannah.gnu.org/freeipmi.git;iprotocol=https;branch=${BRANCH} \ 33 git://git.savannah.gnu.org/git/freeipmi.git;protocol=https;branch=${BRANCH} \
34 file://0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch \ 34 file://0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch \
35 file://0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch \ 35 file://0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch \
36 " 36 "
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb
new file mode 100644
index 00000000..6cf10817
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb
@@ -0,0 +1,29 @@
1SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil"
2DESCRIPTION = "Native build of xclbinutil using XRT codebase"
3
4require xrt-202320.2.16.0.inc
5
6FILESEXTRAPATHS:append := ":${THISDIR}/xrt"
7
8LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT"
9LIC_FILES_CHKSUM = " \
10 file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \
11 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
12 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
13 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
14 file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
15 file://runtime_src/core/common/elf/LICENSE.txt;md5=b996e8b74af169e7e72e22d9e7d05b06 \
16"
17
18S = "${WORKDIR}/git/src"
19
20inherit cmake pkgconfig native
21
22DEPENDS = "libdrm-native ocl-icd-native boost-native rapidjson-native protobuf-native python3-pybind11-native systemtap-native"
23
24EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMANDS=ON"
25
26do_install() {
27 install -d ${D}${bindir}
28 install -Dm 0755 ${WORKDIR}/build/runtime_src/tools/xclbinutil/xclbinutil ${D}${bindir}
29}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc
new file mode 100644
index 00000000..38fbd162
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc
@@ -0,0 +1,6 @@
1REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
2BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
3SRC_URI = "${REPO};${BRANCHARG}"
4
5BRANCH= "2022.1"
6SRCREV= "5e92a513c6950e79638b1a879ddb882da34fc683"
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc
new file mode 100644
index 00000000..e4bb423c
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc
@@ -0,0 +1,7 @@
1REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
2BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
3SRC_URI = "${REPO};${BRANCHARG}"
4
5BRANCH= "2022.2"
6SRCREV= "43926231f7183688add2dccfd391b36a1f000bea"
7
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc
new file mode 100644
index 00000000..2f6a5c6a
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc
@@ -0,0 +1,7 @@
1REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
2BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
3SRC_URI = "${REPO};${BRANCHARG}"
4
5BRANCH= "2023.1"
6SRCREV= "64c933573e7e50a8aba939a74209590c2b739e8b"
7
diff --git a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0/xrt-cstdint.patch
index 67ca68c6..67ca68c6 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0/xrt-cstdint.patch
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc
index 14b2b968..0ef2b1e5 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc
@@ -4,7 +4,6 @@ SRC_URI = "${REPO};${BRANCHARG};name=xrt"
4 4
5BRANCH= "2023.2" 5BRANCH= "2023.2"
6SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28" 6SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28"
7PV = "202320.2.16.0"
8 7
9SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" 8SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https"
10SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" 9SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578"
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch
new file mode 100644
index 00000000..67ca68c6
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch
@@ -0,0 +1,117 @@
1Add cstdint as necessary
2
3In GCC 13.1 usage of uint64 and similar will result in an error without
4 #include <cstdint>
5
6Signed-off-by: Mark Hatle <mark.hatle@amd.com>
7
8diff --git a/src/runtime_src/core/common/time.h b/src/runtime_src/core/common/time.h
9index a4a96b11d..585d38756 100644
10--- a/src/runtime_src/core/common/time.h
11+++ b/src/runtime_src/core/common/time.h
12@@ -19,6 +19,7 @@
13
14 #include "core/common/config.h"
15 #include <string>
16+#include <cstdint>
17
18 namespace xrt_core {
19
20diff --git a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
21index 196304765..36ce35e80
22--- a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
23+++ b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
24@@ -18,6 +18,7 @@
25
26 #include <string>
27 #include <vector>
28+#include <cstdint>
29
30 namespace adf
31 {
32diff --git a/src/runtime_src/core/edge/user/zynq_dev.h b/src/runtime_src/core/edge/user/zynq_dev.h
33index 6fe36c615..2abd7473b 100644
34--- a/src/runtime_src/core/edge/user/zynq_dev.h
35+++ b/src/runtime_src/core/edge/user/zynq_dev.h
36@@ -19,6 +19,7 @@
37 #include <fstream>
38 #include <string>
39 #include <vector>
40+#include <cstdint>
41
42 class zynq_device {
43 public:
44diff --git a/src/runtime_src/tools/xclbinutil/CBOR.h b/src/runtime_src/tools/xclbinutil/CBOR.h
45index 368459f59..acbf6ebae 100644
46--- a/src/runtime_src/tools/xclbinutil/CBOR.h
47+++ b/src/runtime_src/tools/xclbinutil/CBOR.h
48@@ -22,6 +22,7 @@
49 // #includes here - please keep these to a bare minimum!
50 #include <string>
51 #include <sstream>
52+#include <cstdint>
53
54 // ------------ F O R W A R D - D E C L A R A T I O N S ----------------------
55 // Forward declarations - use these instead whenever possible...
56diff --git a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h
57index 361015962..1c3bca18d 100644
58--- a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h
59+++ b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h
60@@ -19,6 +19,7 @@
61
62 // ----------------------- I N C L U D E S -----------------------------------
63 #include <sstream>
64+#include <cstdint>
65 #include <string>
66
67 // ----------- C L A S S : D T C S t r i n g s B l o c k -------------------
68diff --git a/src/runtime_src/tools/xclbinutil/XclBinSignature.h b/src/runtime_src/tools/xclbinutil/XclBinSignature.h
69index b19ab56a4..f1b72d4d2 100644
70--- a/src/runtime_src/tools/xclbinutil/XclBinSignature.h
71+++ b/src/runtime_src/tools/xclbinutil/XclBinSignature.h
72@@ -18,6 +18,7 @@
73 #define __XclBinSignature_h_
74
75 #include <string>
76+#include <cstdint>
77
78 // ----------------------- I N C L U D E S -----------------------------------
79
80diff --git a/src/runtime_src/xdp/profile/database/events/vtf_event.h b/src/runtime_src/xdp/profile/database/events/vtf_event.h
81index f8d0121db..b5f36554c 100644
82--- a/src/runtime_src/xdp/profile/database/events/vtf_event.h
83+++ b/src/runtime_src/xdp/profile/database/events/vtf_event.h
84@@ -19,6 +19,7 @@
85 #define VTF_EVENT_DOT_H
86
87 #include <fstream>
88+#include <cstdint>
89
90 #include "xdp/config.h"
91
92diff --git a/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h b/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h
93index 98c57de2e..6077bd247 100644
94--- a/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h
95+++ b/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h
96@@ -17,7 +17,8 @@
97 #ifndef XDP_PROFILE_AIE_TRACE_LOGGER_H
98 #define XDP_PROFILE_AIE_TRACE_LOGGER_H
99
100-#include<iostream>
101+#include <iostream>
102+#include <cstdint>
103
104 namespace xdp {
105
106diff --git a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h
107index a88597464..f392ec0e6 100644
108--- a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h
109+++ b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h
110@@ -19,6 +19,7 @@
111
112 #include <fstream>
113 #include <string>
114+#include <cstdint>
115
116 #include "xdp/config.h"
117
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb
new file mode 100644
index 00000000..64702022
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3
4require xrt-${PV}.inc
5
6LICENSE = "GPL-2.0-or-later & Apache-2.0"
7LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
8 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
9 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
11 file://runtime_src/core/pcie/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 \
12 file://runtime_src/core/edge/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 "
13
14S = "${WORKDIR}/git/src"
15
16inherit cmake pkgconfig
17
18BBCLASSEXTEND = "native nativesdk"
19
20# util-linux is for libuuid-dev.
21DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson"
22RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
23
24EXTRA_OECMAKE += " \
25 -DCMAKE_BUILD_TYPE=Release \
26 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
27 "
28# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
29# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
30# Note: If meta-openamp is not available, AIE will not be enabled.
31
32EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true"
33DEPENDS:append:aarch64 = " libdfx"
34
35FILES_SOLIBSDEV = ""
36FILES:${PN} += "\
37 ${libdir}/lib*.so \
38 ${libdir}/lib*.so.* \
39 ${libdir}/ps_kernels_lib \
40 /lib/*.so* "
41INSANE_SKIP:${PN} += "dev-so"
42
43pkg_postinst_ontarget:${PN}() {
44 #!/bin/sh
45 if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
46 echo "INFO: Creating ICD entry for Xilinx Platform"
47 mkdir -p /etc/OpenCL/vendors
48 echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
49 chmod -R 755 /etc/OpenCL
50 fi
51}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb
new file mode 100644
index 00000000..5f6e0034
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3
4require xrt-${PV}.inc
5
6LICENSE = "GPL-2.0-or-later & Apache-2.0"
7LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
8 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
9 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
11 file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 "
12
13S = "${WORKDIR}/git/src"
14
15inherit cmake pkgconfig
16
17BBCLASSEXTEND = "native nativesdk"
18
19# util-linux is for libuuid-dev.
20DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson"
21RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
22
23EXTRA_OECMAKE += " \
24 -DCMAKE_BUILD_TYPE=Release \
25 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
26 "
27# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
28# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
29# Note: If meta-openamp is not available, AIE will not be enabled.
30
31EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true"
32DEPENDS:append:aarch64 = " libdfx"
33
34FILES_SOLIBSDEV = ""
35FILES:${PN} += "\
36 ${libdir}/lib*.so \
37 ${libdir}/lib*.so.* \
38 ${libdir}/ps_kernels_lib \
39 /lib/*.so* \
40 ${datadir}"
41INSANE_SKIP:${PN} += "dev-so"
42
43pkg_postinst_ontarget:${PN}() {
44 #!/bin/sh
45 if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
46 echo "INFO: Creating ICD entry for Xilinx Platform"
47 mkdir -p /etc/OpenCL/vendors
48 echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
49 chmod -R 755 /etc/OpenCL
50 fi
51}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb
new file mode 100644
index 00000000..cad8ccee
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb
@@ -0,0 +1,56 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3
4require xrt-${PV}.inc
5
6SRC_URI += "file://xrt-cstdint.patch;striplevel=2"
7
8LICENSE = "GPL-2.0-or-later & Apache-2.0"
9LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
10 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
11 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
12 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
13 file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 "
14
15COMPATIBLE_MACHINE ?= "^$"
16COMPATIBLE_MACHINE:zynqmp = ".*"
17COMPATIBLE_MACHINE:versal = ".*"
18
19S = "${WORKDIR}/git/src"
20
21inherit cmake pkgconfig
22
23BBCLASSEXTEND = "native nativesdk"
24
25# util-linux is for libuuid-dev.
26DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx"
27RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
28
29EXTRA_OECMAKE += " \
30 -DCMAKE_BUILD_TYPE=Release \
31 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
32 -DXRT_LIBDFX=true \
33 "
34
35# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
36# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
37# Note: If meta-openamp is not available, AIE will not be enabled.
38
39FILES_SOLIBSDEV = ""
40FILES:${PN} += "\
41 ${libdir}/lib*.so \
42 ${libdir}/lib*.so.* \
43 ${libdir}/ps_kernels_lib \
44 /lib/*.so* \
45 ${datadir}"
46INSANE_SKIP:${PN} += "dev-so"
47
48pkg_postinst_ontarget:${PN}() {
49 #!/bin/sh
50 if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
51 echo "INFO: Creating ICD entry for Xilinx Platform"
52 mkdir -p /etc/OpenCL/vendors
53 echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
54 chmod -R 755 /etc/OpenCL
55 fi
56}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb
index ef3c7172..5824ae9c 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries" 1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" 2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3 3
4require xrt.inc 4require xrt-${PV}.inc
5 5
6SRC_URI += "file://xrt-cstdint.patch;striplevel=2" 6SRC_URI += "file://xrt-cstdint.patch;striplevel=2"
7 7
@@ -24,24 +24,19 @@ inherit cmake pkgconfig
24BBCLASSEXTEND = "native nativesdk" 24BBCLASSEXTEND = "native nativesdk"
25 25
26# util-linux is for libuuid-dev. 26# util-linux is for libuuid-dev.
27DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" 27DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx"
28RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" 28RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
29 29
30EXTRA_OECMAKE += " \ 30EXTRA_OECMAKE += " \
31 -DCMAKE_BUILD_TYPE=Release \ 31 -DCMAKE_BUILD_TYPE=Release \
32 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ 32 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
33 -DXRT_LIBDFX=true \
33 " 34 "
34 35
35# Systems with AIE also require libmetal, this is implemented in the dynamic-layers 36# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
36# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend 37# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
37# Note: If meta-openamp is not available, AIE will not be enabled. 38# Note: If meta-openamp is not available, AIE will not be enabled.
38 39
39EXTRA_OECMAKE:append:versal = " -DXRT_LIBDFX=true"
40EXTRA_OECMAKE:append:zynqmp = " -DXRT_LIBDFX=true"
41DEPENDS:append:versal = " libdfx"
42DEPENDS:append:zynqmp = " libdfx"
43
44
45FILES_SOLIBSDEV = "" 40FILES_SOLIBSDEV = ""
46FILES:${PN} += "\ 41FILES:${PN} += "\
47 ${libdir}/lib*.so \ 42 ${libdir}/lib*.so \
diff --git a/meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch b/meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch
new file mode 100644
index 00000000..0f5fc088
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch
@@ -0,0 +1,84 @@
1From bc19f980cced50fc35f94905f2a99070871b9e93 Mon Sep 17 00:00:00 2001
2From: Saifuddin Kaijar <54270703+saifuddin-xilinx@users.noreply.github.com>
3Date: Mon, 29 Aug 2022 10:25:06 +0530
4Subject: [PATCH] Fixed ZOCL dtbo path len issue (#6966)
5
6---
7 src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h | 3 ++-
8 src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c | 7 ++++---
9 src/runtime_src/core/edge/include/zynq_ioctl.h | 1 +
10 src/runtime_src/core/edge/user/shim.cpp | 1 +
11 4 files changed, 8 insertions(+), 4 deletions(-)
12
13diff --git a/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h b/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h
14index c9c9b4f9e..0335551bc 100644
15--- a/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h
16+++ b/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h
17@@ -39,6 +39,7 @@ int zocl_xclbin_load_pdi(struct drm_zocl_dev *zdev, void *data,
18 struct drm_zocl_slot *slot);
19 int zocl_xclbin_load_pskernel(struct drm_zocl_dev *zdev, void *data);
20 bool zocl_xclbin_accel_adapter(int kds_mask);
21-int zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path);
22+int zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path,
23+ uint32_t len);
24
25 #endif /* _ZOCL_XCLBIN_H_ */
26diff --git a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c
27index 7de733e38..fdedb70d5 100644
28--- a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c
29+++ b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c
30@@ -1475,7 +1475,8 @@ zocl_xclbin_read_axlf(struct drm_zocl_dev *zdev, struct drm_zocl_axlf *axlf_obj,
31 */
32 slot->slot_xclbin->zx_refcnt = 0;
33 if(ZOCL_PLATFORM_ARM64)
34- zocl_xclbin_set_dtbo_path(slot, axlf_obj->za_dtbo_path);
35+ zocl_xclbin_set_dtbo_path(slot, axlf_obj->za_dtbo_path,
36+ axlf_obj->za_dtbo_path_len);
37 zocl_xclbin_set_uuid(slot, &axlf_head.m_header.uuid);
38
39 /*
40@@ -1725,7 +1726,8 @@ zocl_xclbin_fini(struct drm_zocl_dev *zdev, struct drm_zocl_slot *slot)
41 * @return 0 on success Error code on failure.
42 */
43 int
44-zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path)
45+zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path,
46+ uint32_t len)
47 {
48 char *path = slot->slot_xclbin->zx_dtbo_path;
49
50@@ -1735,7 +1737,6 @@ zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path)
51 }
52
53 if(dtbo_path) {
54- uint32_t len = strlen(dtbo_path);
55 path = vmalloc(len + 1);
56 if (!path)
57 return -ENOMEM;
58diff --git a/src/runtime_src/core/edge/include/zynq_ioctl.h b/src/runtime_src/core/edge/include/zynq_ioctl.h
59index a45113550..ad9ec86ab 100644
60--- a/src/runtime_src/core/edge/include/zynq_ioctl.h
61+++ b/src/runtime_src/core/edge/include/zynq_ioctl.h
62@@ -429,6 +429,7 @@ struct drm_zocl_axlf {
63 char *za_kernels;
64 uint32_t za_slot_id;
65 char *za_dtbo_path;
66+ uint32_t za_dtbo_path_len;
67 uint8_t hw_gen;
68 struct drm_zocl_kds kds_cfg;
69 };
70diff --git a/src/runtime_src/core/edge/user/shim.cpp b/src/runtime_src/core/edge/user/shim.cpp
71index 11a8d86c9..058503187 100644
72--- a/src/runtime_src/core/edge/user/shim.cpp
73+++ b/src/runtime_src/core/edge/user/shim.cpp
74@@ -732,6 +732,7 @@ xclLoadAxlf(const axlf *buffer)
75 .za_kernels = NULL,
76 .za_slot_id = 0, // TODO Cleanup: Once uuid interface id available we need to remove this
77 .za_dtbo_path = const_cast<char *>(dtbo_path.c_str()),
78+ .za_dtbo_path_len = dtbo_path.length(),
79 .hw_gen = hw_gen,
80 };
81
82--
832.17.1
84
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb
new file mode 100644
index 00000000..7063178a
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx Runtime(XRT) driver module"
2DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
3
4
5require recipes-xrt/xrt/xrt-${PV}.inc
6
7LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
8LICENSE = "GPLv2 & Apache-2.0"
9
10# Temporary fix
11# Patch is applied as -p 4 to the src/runtime_src/core/edge directory
12SRC_URI += "file://0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch;striplevel=5;patchdir=./../../"
13
14S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
15
16inherit module
17
18pkg_postinst_ontarget:${PN}() {
19 #!/bin/sh
20 echo "Unloading old XRT Linux kernel modules"
21 ( rmmod zocl || true ) > /dev/null 2>&1
22 echo "Loading new XRT Linux kernel modules"
23 modprobe zocl
24}
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb
new file mode 100644
index 00000000..39e9f9fb
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb
@@ -0,0 +1,21 @@
1SUMMARY = "Xilinx Runtime(XRT) driver module"
2DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
3
4COMPATIBLE_MACHINE:microblaze = "none"
5
6require recipes-xrt/xrt/xrt-${PV}.inc
7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
9LICENSE = "GPL-2.0-or-later & Apache-2.0"
10
11S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
12
13inherit module
14
15pkg_postinst_ontarget:${PN}() {
16 #!/bin/sh
17 echo "Unloading old XRT Linux kernel modules"
18 ( rmmod zocl || true ) > /dev/null 2>&1
19 echo "Loading new XRT Linux kernel modules"
20 modprobe zocl
21}
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
index 6bd579f4..24f69aec 100644
--- a/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Xilinx Runtime driver module provides memory management and compu
3 3
4COMPATIBLE_MACHINE:microblaze = "none" 4COMPATIBLE_MACHINE:microblaze = "none"
5 5
6require recipes-xrt/xrt/xrt.inc 6require recipes-xrt/xrt/xrt-${PV}.inc
7 7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
9LICENSE = "GPL-2.0-or-later & Apache-2.0" 9LICENSE = "GPL-2.0-or-later & Apache-2.0"
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
new file mode 100644
index 00000000..24f69aec
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Xilinx Runtime(XRT) driver module"
2DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
3
4COMPATIBLE_MACHINE:microblaze = "none"
5
6require recipes-xrt/xrt/xrt-${PV}.inc
7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
9LICENSE = "GPL-2.0-or-later & Apache-2.0"
10
11COMPATIBLE_MACHINE ?= "^$"
12COMPATIBLE_MACHINE:zynqmp = ".*"
13COMPATIBLE_MACHINE:versal = ".*"
14
15S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
16
17inherit module
18
19pkg_postinst_ontarget:${PN}() {
20 #!/bin/sh
21 echo "Unloading old XRT Linux kernel modules"
22 ( rmmod zocl || true ) > /dev/null 2>&1
23 echo "Loading new XRT Linux kernel modules"
24 modprobe zocl
25}