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/classes/image-types-xilinx-qemu.bbclass6
-rw-r--r--meta-xilinx-core/conf/layer.conf34
-rw-r--r--meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc10
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-tune-include.inc8
-rw-r--r--meta-xilinx-core/conf/machine/microblaze-generic.conf9
-rw-r--r--meta-xilinx-core/conf/machine/versal-generic.conf17
-rw-r--r--meta-xilinx-core/conf/machine/versal-net-generic.conf12
-rw-r--r--meta-xilinx-core/conf/machine/zynq-generic.conf13
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-generic.conf14
-rw-r--r--meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch79
-rw-r--r--meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc46
-rw-r--r--meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend1
-rw-r--r--meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend1
-rw-r--r--meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb28
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb47
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc11
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb33
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb31
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb78
-rw-r--r--meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb23
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb21
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb21
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb21
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h10
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic.cfg81
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc17
-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_2022.1.bb4
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb4
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb4
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend5
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend4
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend5
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc33
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb6
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb6
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc3
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc3
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch38
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc50
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc4
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb9
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb9
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb26
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb26
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb26
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb26
-rw-r--r--meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend19
-rw-r--r--meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch76
-rw-r--r--meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch94
-rw-r--r--meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend2
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.bb54
-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
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2024.1.bb (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb)7
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch28
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend2
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch23
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch29
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/weston.inc (renamed from meta-xilinx-core/recipes-graphics/wayland/weston_%.bbappend)2
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend (renamed from meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend)6
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend3
-rw-r--r--meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend2
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch47
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb9
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb9
-rw-r--r--meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch55
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch52
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb39
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb39
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb51
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb50
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb46
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb46
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb40
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb40
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb10
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb10
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb10
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch27
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch54
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb4
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb4
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb1
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb1
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb5
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb5
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb5
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch32
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb2
112 files changed, 1922 insertions, 527 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/classes/image-types-xilinx-qemu.bbclass b/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass
index 1ed1cd77..b4de5ee1 100644
--- a/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass
+++ b/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass
@@ -7,9 +7,9 @@
7 7
8CONVERSIONTYPES:append = " qemu-sd qemu-sd-fatimg" 8CONVERSIONTYPES:append = " qemu-sd qemu-sd-fatimg"
9CONVERSION_CMD:qemu-sd () { 9CONVERSION_CMD:qemu-sd () {
10 cp ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd 10 cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type} ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd
11 # Get the wic.qemu-sd file size 11 # Get the wic.qemu-sd file size
12 file_size=`stat -c '%s' ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd` 12 file_size=`stat -c '%s' ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd`
13 powerof2=1 13 powerof2=1
14 file_size=${file_size%.*} 14 file_size=${file_size%.*}
15 # Get the next power of 2 value for the image size value 15 # Get the next power of 2 value for the image size value
@@ -17,7 +17,7 @@ CONVERSION_CMD:qemu-sd () {
17 powerof2=$(expr $powerof2 \* 2) 17 powerof2=$(expr $powerof2 \* 2)
18 done 18 done
19 # Resize the image using qemu-img 19 # Resize the image using qemu-img
20 qemu-img resize -f raw ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd ${powerof2} 20 qemu-img resize -f raw ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd ${powerof2}
21} 21}
22 22
23BOOT_VOLUME_ID ?= "BOOT" 23BOOT_VOLUME_ID ?= "BOOT"
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf
index 9bc6c4a1..51e05cab 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 = "langdale" 28LAYERSERIES_COMPAT_xilinx = "scarthgap"
29 29
30SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ 30SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
31 *->xrt \ 31 *->xrt \
@@ -46,23 +46,26 @@ XILINX_RELEASE_VERSION ??= "v2024.1"
46 46
47BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" 47BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION"
48 48
49# Workaround for a bbappend bug in meta-virtualization (fixed in scarthgap)
50BBMASK += "/meta-virtualization/recipes-devtools/qemu/"
51
52XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%"
53XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%"
54XILINX_QEMU_VERSION[v2024.1] = "v8.1.0-xilinx-v2024.1%" 49XILINX_QEMU_VERSION[v2024.1] = "v8.1.0-xilinx-v2024.1%"
55PREFERRED_VERSION_qemu ?= "${@ '7.1%' if not (d.getVar('XILINX_RELEASE_VERSION') or 'undefined').startswith('v2024') else '8.1%'}" 50PREFERRED_VERSION_qemu ?= "${@ '8.1%' if not (d.getVar('XILINX_RELEASE_VERSION') or 'undefined').startswith('v2024') else '8.1%'}"
56PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 51PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'v8.1%'}"
57PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 52PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'v8.1%'}"
58PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 53PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'v8.1%'}"
59PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" 54PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-v2024.1%"
60 55
56DEFAULT_XILINX_QEMU = "qemu-xilinx"
57DEFAULT_XILINX_QEMU:arm = "qemu"
58PREFERRED_PROVIDER_qemu ?= "${DEFAULT_XILINX_QEMU}"
59
60XILINX_ATF_VERSION[v2022.1] = "2.6-xilinx-v2022.1%"
61XILINX_ATF_VERSION[v2022.2] = "2.6-xilinx-v2022.2%"
61XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" 62XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%"
62XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" 63XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%"
63XILINX_ATF_VERSION[v2024.1] = "2.10-xilinx-v2024.1%" 64XILINX_ATF_VERSION[v2024.1] = "2.10-xilinx-v2024.1%"
64PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 65PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
65 66
67XILINX_UBOOT_VERSION[v2022.1] = "v2021.01-xilinx-v2022.1%"
68XILINX_UBOOT_VERSION[v2022.2] = "v2022.01-xilinx-v2022.2%"
66XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" 69XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%"
67XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%" 70XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%"
68XILINX_UBOOT_VERSION[v2024.1] = "v2024.01-xilinx-v2024.1%" 71XILINX_UBOOT_VERSION[v2024.1] = "v2024.01-xilinx-v2024.1%"
@@ -70,11 +73,16 @@ XILINX_UBOOT_VERSION[v2024.1] = "v2024.01-xilinx-v2024.1%"
70PREFERRED_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'}"
71PREFERRED_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'}"
72 75
73XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" 76XILINX_LINUX_VERSION[v2022.1] = "5.15.19-xilinx-v2022.1%"
77XILINX_LINUX_VERSION[v2022.2] = "5.15.36-xilinx-v2022.2%"
78XILINX_LINUX_VERSION[v2023.1] = "6.1.30-xilinx-v2023.1%"
74XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%" 79XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%"
75XILINX_LINUX_VERSION[v2024.1] = "6.6.10-xilinx-v2024.1%" 80XILINX_LINUX_VERSION[v2024.1] = "6.6.10-xilinx-v2024.1%"
76PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 81PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
77 82
83# Mali needs to match the kernel version
84PREFERRED_VERSION_kernel-module-mali = "r9p0-01rel0-${XILINX_RELEASE_VERSION}"
85
78# Add support to eSDK for gen-machine-conf if it exists 86# Add support to eSDK for gen-machine-conf if it exists
79PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" 87PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts"
80BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" 88BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH"
diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc
index 1c651816..c450b542 100644
--- a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc
+++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc
@@ -13,3 +13,13 @@ EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sys
13 13
14# Use the xilinx specific version for these users 14# Use the xilinx specific version for these users
15IMAGE_CLASSES += "qemuboot-xilinx" 15IMAGE_CLASSES += "qemuboot-xilinx"
16
17# As of Yocto Project nanbield, if a -serial is pass in QB_OPT_APPEND the
18# runqemu may add additional null entries or simply skip further setup.
19#
20# To help us be able to adjust for this behavior add a special
21# QB_XILINX_SERIAL that will allow us to define serial ports for qemu
22# emulated boards that may not match the standard Linux behavior.
23#
24QB_XILINX_SERIAL ?= ""
25QB_OPT_APPEND += "${QB_XILINX_SERIAL}"
diff --git a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc
index 25c68f53..b3216426 100644
--- a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc
+++ b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc
@@ -2,10 +2,10 @@ DEFAULTTUNE ??= "armv8a"
2 2
3# Unfortunately various tunefiles don't include each other, so create 3# Unfortunately various tunefiles don't include each other, so create
4# a list of things to require based on the DEFAULTTUNE setting. 4# a list of things to require based on the DEFAULTTUNE setting.
5TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5hf.inc" 5TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc"
6TUNEFILE[cortexr5hf] = "conf/machine/include/arm/armv7r/tune-cortexr5hf.inc" 6TUNEFILE[cortexr5hf] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc"
7TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52hf.inc" 7TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc"
8TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52hf.inc" 8TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc"
9TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" 9TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc"
10TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" 10TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc"
11TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" 11TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc"
diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf
index 5bf87344..8fb40070 100644
--- a/meta-xilinx-core/conf/machine/microblaze-generic.conf
+++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf
@@ -91,9 +91,16 @@ IMAGE_FSTYPES += "cpio.gz"
91# Microblaze QEMU Configurations 91# Microblaze QEMU Configurations
92QB_MEM = "-m 2G" 92QB_MEM = "-m 2G"
93QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw" 93QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw"
94QB_OPT_APPEND = ""
95QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" 94QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
96 95
96# This will work with the default runqemu, as the first serial port is the
97# correct console
98#
99# One total serial port defined in this model (according to the generated dts)
100#
101# hw serial0 axi_uartlite_0 (40600000) - linux serial0 (ttyUL0)
102QB_XILINX_SERIAL = ""
103
97#### No additional settings should be after the Postamble 104#### No additional settings should be after the Postamble
98#### Postamble 105#### Postamble
99PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" 106PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}"
diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf
index f87dc140..2f35ba24 100644
--- a/meta-xilinx-core/conf/machine/versal-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-generic.conf
@@ -63,8 +63,8 @@ EXTRA_IMAGEDEPENDS += " \
63 virtual/psm-firmware \ 63 virtual/psm-firmware \
64 virtual/plm \ 64 virtual/plm \
65 u-boot-xlnx-scr \ 65 u-boot-xlnx-scr \
66 qemu-devicetrees \ 66 qemu-devicetrees:do_deploy \
67 virtual/cdo \ 67 virtual/cdo:do_deploy \
68 " 68 "
69 69
70IMAGE_BOOT_FILES += " \ 70IMAGE_BOOT_FILES += " \
@@ -86,12 +86,17 @@ QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"
86QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" 86QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb"
87QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-vc-p-a2197-00.dtb" 87QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-vc-p-a2197-00.dtb"
88 88
89QEMU_HW_DTB_PS_vp1202-versal = "${QEMU_HW_DTB_PATH}/board-versal-vp1202-ps-virt.dtb" 89# Four total serial ports defined in this model (according to the dts)
90QEMU_HW_DTB_PMC_vp1202-versal = "${QEMU_HW_DTB_PATH}/board-versal-vp1202-pmc-virt.dtb" 90#
91# hw serial0 xps-uartlite (f0110000) -
92# hw serial1 ddrmc/xps-uartlite (f0310000) -
93# hw serial2 pl011 (ff000000) - linux serial0 (ttyAMA0)
94# hw serial3 pl011 (ff010000) - linux serial1 (ttyAMA1) (disabled)
95# ? dcc ? - linux serial2 (????)
96QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null"
91 97
92QB_OPT_APPEND = " \ 98QB_OPT_APPEND += " \
93 -hw-dtb ${QEMU_HW_DTB_PS} \ 99 -hw-dtb ${QEMU_HW_DTB_PS} \
94 -serial null -serial null \
95 ${@qemu_add_extra_args(d)} \ 100 ${@qemu_add_extra_args(d)} \
96 " 101 "
97 102
diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf
index 4b368e83..eb450bbf 100644
--- a/meta-xilinx-core/conf/machine/versal-net-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf
@@ -17,6 +17,10 @@ YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}"
17YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" 17YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0"
18YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" 18YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0"
19 19
20# Versal Serial Console
21SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
22YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
23
20require conf/machine/versal-generic.conf 24require conf/machine/versal-generic.conf
21 25
22SOC_VARIANT = "net" 26SOC_VARIANT = "net"
@@ -29,6 +33,14 @@ HDF_MACHINE = "versal-net-generic"
29QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" 33QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb"
30QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" 34QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb"
31 35
36# Four total serial ports defined in this model (according to the dts)
37#
38# hw serial0 xps-uartlite (0xf0110000) -
39# hw serial1 xps-uartlite (0xf0310000) -
40# hw serial2 pl011 (0xf1920000) - linux serial0 (ttyAMA0)
41# hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1)
42QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null"
43
32#### No additional settings should be after the Postamble 44#### No additional settings should be after the Postamble
33#### Postamble 45#### Postamble
34PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}" 46PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}"
diff --git a/meta-xilinx-core/conf/machine/zynq-generic.conf b/meta-xilinx-core/conf/machine/zynq-generic.conf
index e97be2ff..3dea2012 100644
--- a/meta-xilinx-core/conf/machine/zynq-generic.conf
+++ b/meta-xilinx-core/conf/machine/zynq-generic.conf
@@ -75,10 +75,17 @@ QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
75 75
76QB_KERNEL_ROOT = "/dev/mmcblk0p2" 76QB_KERNEL_ROOT = "/dev/mmcblk0p2"
77 77
78# Side effect of not-enabled serial port is we have to lock
79# the second (console) to mon:stdio.
80#
81# Two total serial ports defined in this model (according to the generated dts)
82#
83# hw uart0 xuartps (e0000000) -
84# hw uart1 xuartps (e0001000) - linux serial0 (ttyPS0)
85QB_XILINX_SERIAL = "-serial null -serial mon:stdio"
86
78# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) 87# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
79QB_OPT_APPEND = " \ 88QB_OPT_APPEND += " \
80 -serial null \
81 -gdb tcp::9000 \
82 -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ 89 -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
83 -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ 90 -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
84 -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ 91 -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf
index b60014df..055c7e5b 100644
--- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf
+++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf
@@ -43,7 +43,7 @@ UBOOT_ENTRYPOINT ?= "0x200000"
43UBOOT_LOADADDRESS ?= "0x200000" 43UBOOT_LOADADDRESS ?= "0x200000"
44 44
45# ZynqMP Serial Console 45# ZynqMP Serial Console
46SERIAL_CONSOLES ?= "115200;ttyPS0" 46SERIAL_CONSOLES ?= "115200;ttyPS0 115200;ttyPS1"
47YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" 47YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
48 48
49require conf/machine/include/soc-zynqmp.inc 49require conf/machine/include/soc-zynqmp.inc
@@ -75,7 +75,7 @@ EXTRA_IMAGEDEPENDS += " \
75 arm-trusted-firmware \ 75 arm-trusted-firmware \
76 virtual/boot-bin \ 76 virtual/boot-bin \
77 virtual/bootloader \ 77 virtual/bootloader \
78 qemu-devicetrees \ 78 qemu-devicetrees:do_deploy \
79 u-boot-xlnx-uenv \ 79 u-boot-xlnx-uenv \
80 u-boot-xlnx-scr \ 80 u-boot-xlnx-scr \
81 " 81 "
@@ -99,6 +99,14 @@ QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"
99QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" 99QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb"
100QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" 100QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb"
101 101
102# Two total serial ports defined in this model (according to the dts)
103#
104# hw ps7_uart_0 (0xFF000000) - linux serial1 (ttyPS1)
105# hw ps7_uart_1 (0xFF010000) - linux serial0 (ttyPS0)
106#
107# Default configuration will evaluate to:
108#QB_XILINX_SERIAL = "-serial mon:stdio -serial null"
109
102# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) 110# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
103# 111#
104# In an actual device the FSBL will run first, load ATF and setup the 112# In an actual device the FSBL will run first, load ATF and setup the
@@ -124,7 +132,7 @@ QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb"
124# 00000000fffc0000: 0x584e4c58 0x00000001 0x08000000 0x00000000 132# 00000000fffc0000: 0x584e4c58 0x00000001 0x08000000 0x00000000
125# 00000000fffc0010: 0x00000010 0x00000000 133# 00000000fffc0010: 0x00000010 0x00000000
126# 134#
127QB_OPT_APPEND = " \ 135QB_OPT_APPEND += " \
128 -hw-dtb ${QEMU_HW_DTB_PS} \ 136 -hw-dtb ${QEMU_HW_DTB_PS} \
129 ${@qemu_zynqmp_unhalt(d, True)} \ 137 ${@qemu_zynqmp_unhalt(d, True)} \
130 -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 \ 138 -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 \
diff --git a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch
index 5b4ffaaf..83e5b58a 100644
--- a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch
+++ b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch
@@ -19,11 +19,11 @@ Signed-off-by: Mark Hatle <mark.hatle@amd.com>
19 create mode 100644 src/native-state-fbdev.cpp 19 create mode 100644 src/native-state-fbdev.cpp
20 create mode 100644 src/native-state-fbdev.h 20 create mode 100644 src/native-state-fbdev.h
21 21
22diff --git a/src/gl-state-egl.cpp b/src/gl-state-egl.cpp 22Index: git/src/gl-state-egl.cpp
23index 5a6843c..14c7dac 100644 23===================================================================
24--- a/src/gl-state-egl.cpp 24--- git.orig/src/gl-state-egl.cpp
25+++ b/src/gl-state-egl.cpp 25+++ git/src/gl-state-egl.cpp
26@@ -510,6 +510,7 @@ GLStateEGL::gotValidDisplay() 26@@ -508,6 +508,7 @@ GLStateEGL::gotValidDisplay()
27 return false; 27 return false;
28 } 28 }
29 29
@@ -31,7 +31,7 @@ index 5a6843c..14c7dac 100644
31 char const * __restrict const supported_extensions = 31 char const * __restrict const supported_extensions =
32 egl_query_string(EGL_NO_DISPLAY, EGL_EXTENSIONS); 32 egl_query_string(EGL_NO_DISPLAY, EGL_EXTENSIONS);
33 33
34@@ -543,6 +544,9 @@ GLStateEGL::gotValidDisplay() 34@@ -541,6 +542,9 @@ GLStateEGL::gotValidDisplay()
35 Log::debug("Falling back to eglGetDisplay()\n"); 35 Log::debug("Falling back to eglGetDisplay()\n");
36 egl_display_ = egl_get_display(native_display_); 36 egl_display_ = egl_get_display(native_display_);
37 } 37 }
@@ -41,11 +41,11 @@ index 5a6843c..14c7dac 100644
41 41
42 if (!egl_display_) { 42 if (!egl_display_) {
43 Log::error("eglGetDisplay() failed with error: 0x%x\n", egl_get_error()); 43 Log::error("eglGetDisplay() failed with error: 0x%x\n", egl_get_error());
44diff --git a/src/main.cpp b/src/main.cpp 44Index: git/src/main.cpp
45index ce8b094..7c9f501 100644 45===================================================================
46--- a/src/main.cpp 46--- git.orig/src/main.cpp
47+++ b/src/main.cpp 47+++ git/src/main.cpp
48@@ -36,6 +36,8 @@ 48@@ -37,6 +37,8 @@
49 49
50 #if GLMARK2_USE_X11 50 #if GLMARK2_USE_X11
51 #include "native-state-x11.h" 51 #include "native-state-x11.h"
@@ -53,21 +53,20 @@ index ce8b094..7c9f501 100644
53+#include "native-state-fbdev.h" 53+#include "native-state-fbdev.h"
54 #elif GLMARK2_USE_DRM 54 #elif GLMARK2_USE_DRM
55 #include "native-state-drm.h" 55 #include "native-state-drm.h"
56 #elif GLMARK2_USE_MIR 56 #elif GLMARK2_USE_GBM
57@@ -172,6 +174,8 @@ main(int argc, char *argv[]) 57@@ -160,6 +162,8 @@ main(int argc, char *argv[])
58 // Create the canvas 58 {
59 #if GLMARK2_USE_X11 59 #if GLMARK2_USE_X11
60 NativeStateX11 native_state; 60 NativeStateX11 native_state;
61+#elif GLMARK2_USE_FBDEV 61+#elif GLMARK2_USE_FBDEV
62+ NativeStateFbdev native_state; 62+ NativeStateFbdev native_state;
63 #elif GLMARK2_USE_DRM 63 #elif GLMARK2_USE_DRM
64 NativeStateDRM native_state; 64 NativeStateDRM native_state;
65 #elif GLMARK2_USE_MIR 65 #elif GLMARK2_USE_GBM
66diff --git a/src/native-state-fbdev.cpp b/src/native-state-fbdev.cpp 66Index: git/src/native-state-fbdev.cpp
67new file mode 100644 67===================================================================
68index 0000000..0c82a25
69--- /dev/null 68--- /dev/null
70+++ b/src/native-state-fbdev.cpp 69+++ git/src/native-state-fbdev.cpp
71@@ -0,0 +1,172 @@ 70@@ -0,0 +1,172 @@
72+ 71+
73+/* 72+/*
@@ -241,11 +240,10 @@ index 0000000..0c82a25
241+ 240+
242+ return fd; 241+ return fd;
243+} 242+}
244diff --git a/src/native-state-fbdev.h b/src/native-state-fbdev.h 243Index: git/src/native-state-fbdev.h
245new file mode 100644 244===================================================================
246index 0000000..0162ee0
247--- /dev/null 245--- /dev/null
248+++ b/src/native-state-fbdev.h 246+++ git/src/native-state-fbdev.h
249@@ -0,0 +1,59 @@ 247@@ -0,0 +1,59 @@
250+/* 248+/*
251+ * Copyright © 2018 Xilinx Inc 249+ * Copyright © 2018 Xilinx Inc
@@ -306,11 +304,11 @@ index 0000000..0162ee0
306+}; 304+};
307+ 305+
308+#endif /* GLMARK2_NATIVE_STATE_FBDEV_H_ */ 306+#endif /* GLMARK2_NATIVE_STATE_FBDEV_H_ */
309diff --git a/src/wscript_build b/src/wscript_build 307Index: git/src/wscript_build
310index a01c8a8..c179342 100644 308===================================================================
311--- a/src/wscript_build 309--- git.orig/src/wscript_build
312+++ b/src/wscript_build 310+++ git/src/wscript_build
313@@ -90,6 +90,7 @@ flavor_sources = { 311@@ -88,6 +88,7 @@ flavor_sources = {
314 'win32-glesv2': common_flavor_sources + ['native-state-win32.cpp', 'gl-state-egl.cpp'], 312 'win32-glesv2': common_flavor_sources + ['native-state-win32.cpp', 'gl-state-egl.cpp'],
315 'x11-gl' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-glx.cpp'], 313 'x11-gl' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-glx.cpp'],
316 'x11-glesv2' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-egl.cpp'], 314 'x11-glesv2' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-egl.cpp'],
@@ -318,7 +316,7 @@ index a01c8a8..c179342 100644
318 } 316 }
319 flavor_uselibs = { 317 flavor_uselibs = {
320 'dispmanx-glesv2' : ['glad-egl-dispmanx', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2', 'dispmanx'], 318 'dispmanx-glesv2' : ['glad-egl-dispmanx', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2', 'dispmanx'],
321@@ -103,6 +104,7 @@ flavor_uselibs = { 319@@ -99,6 +100,7 @@ flavor_uselibs = {
322 'win32-glesv2': ['glad-egl-win32', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], 320 'win32-glesv2': ['glad-egl-win32', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'],
323 'x11-gl' : ['x11', 'glad-gl', 'glad-glx', 'matrix-gl', 'common-gl'], 321 'x11-gl' : ['x11', 'glad-gl', 'glad-glx', 'matrix-gl', 'common-gl'],
324 'x11-glesv2' : ['x11', 'glad-egl-x11', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], 322 'x11-glesv2' : ['x11', 'glad-egl-x11', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'],
@@ -326,7 +324,7 @@ index a01c8a8..c179342 100644
326 } 324 }
327 325
328 flavor_defines = { 326 flavor_defines = {
329@@ -117,6 +119,7 @@ flavor_defines = { 327@@ -111,6 +113,7 @@ flavor_defines = {
330 'win32-glesv2': ['GLMARK2_USE_WIN32', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], 328 'win32-glesv2': ['GLMARK2_USE_WIN32', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'],
331 'x11-gl' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GL', 'GLMARK2_USE_GLX'], 329 'x11-gl' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GL', 'GLMARK2_USE_GLX'],
332 'x11-glesv2' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], 330 'x11-glesv2' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'],
@@ -334,7 +332,7 @@ index a01c8a8..c179342 100644
334 } 332 }
335 flavor_libs = { 333 flavor_libs = {
336 'dispmanx-glesv2' : [], 334 'dispmanx-glesv2' : [],
337@@ -156,6 +159,7 @@ flavor_sources_gen = { 335@@ -144,6 +147,7 @@ flavor_sources_gen = {
338 'win32-glesv2' : [], 336 'win32-glesv2' : [],
339 'x11-gl' : [], 337 'x11-gl' : [],
340 'x11-glesv2' : [], 338 'x11-glesv2' : [],
@@ -342,7 +340,7 @@ index a01c8a8..c179342 100644
342 } 340 }
343 egl_platform_defines = { 341 egl_platform_defines = {
344 'dispmanx' : ['MESA_EGL_NO_X11_HEADERS'], 342 'dispmanx' : ['MESA_EGL_NO_X11_HEADERS'],
345@@ -164,6 +168,7 @@ egl_platform_defines = { 343@@ -151,6 +155,7 @@ egl_platform_defines = {
346 'wayland' : ['WL_EGL_PLATFORM'], 344 'wayland' : ['WL_EGL_PLATFORM'],
347 'win32' : [], 345 'win32' : [],
348 'x11' : [], 346 'x11' : [],
@@ -350,11 +348,11 @@ index a01c8a8..c179342 100644
350 } 348 }
351 349
352 includes = ['.', 'scene-ideas', 'scene-terrain'] + platform_includes 350 includes = ['.', 'scene-ideas', 'scene-terrain'] + platform_includes
353diff --git a/wscript b/wscript 351Index: git/wscript
354index cecc3d9..4ae50d8 100644 352===================================================================
355--- a/wscript 353--- git.orig/wscript
356+++ b/wscript 354+++ git/wscript
357@@ -19,6 +19,7 @@ FLAVORS = { 355@@ -17,6 +17,7 @@ FLAVORS = {
358 'win32-glesv2': 'glmark2-es2', 356 'win32-glesv2': 'glmark2-es2',
359 'x11-gl' : 'glmark2', 357 'x11-gl' : 'glmark2',
360 'x11-glesv2' : 'glmark2-es2', 358 'x11-glesv2' : 'glmark2-es2',
@@ -362,14 +360,11 @@ index cecc3d9..4ae50d8 100644
362 } 360 }
363 FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32'])) 361 FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32']))
364 362
365@@ -213,6 +214,7 @@ def configure_linux(ctx): 363@@ -210,6 +211,7 @@ def configure_linux(ctx):
364 ('libdrm','drm', None, list_contains(ctx.options.flavors, 'drm')),
366 ('gbm','gbm', None, list_contains(ctx.options.flavors, 'drm')), 365 ('gbm','gbm', None, list_contains(ctx.options.flavors, 'drm')),
367 ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'drm')), 366 ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'drm')),
368 ('mirclient','mirclient', '0.13', list_contains(ctx.options.flavors, 'mir')),
369+ ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'fbdev')), 367+ ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'fbdev')),
370 ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')), 368 ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')),
371 ('wayland-cursor','wayland-cursor', None, list_contains(ctx.options.flavors, 'wayland')), 369 ('wayland-cursor','wayland-cursor', None, list_contains(ctx.options.flavors, 'wayland')),
372 ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))] 370 ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))]
373--
3742.17.1
375
diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc
deleted file mode 100644
index d07090bd..00000000
--- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc
+++ /dev/null
@@ -1,46 +0,0 @@
1PACKAGES:prepend:class-target = "${PN}-x86_64 \
2 ${PN}-aarch64 \
3 ${PN}-arm \
4 ${PN}-i386 \
5 ${PN}-system-i386 \
6 ${PN}-microblaze \
7 ${PN}-support \
8 ${PN}-keymaps \
9 ${PN}-firmware \
10 "
11
12FILES:${PN}-x86_64:class-target = "${bindir}/qemu-system-x86_64 ${bindir}/qemu-x86_64"
13RDEPENDS:${PN}-x86_64:append:class-target = " ${PN}"
14INSANE_SKIP:${PN}-x86_64:class-target = "file-rdeps"
15
16FILES:${PN}-i386:class-target = "${bindir}/qemu-i386"
17RDEPENDS:${PN}-i386:append:class-target = " ${PN}"
18INSANE_SKIP:${PN}-i386:class-target = "file-rdeps"
19
20FILES:${PN}-system-i386:class-target = "${bindir}/qemu-system-i386"
21RDEPENDS:${PN}-system-i386:append:class-target = " ${PN}"
22INSANE_SKIP:${PN}-system-i386:class-target = "file-rdeps"
23
24FILES:${PN}-aarch64:class-target = "${bindir}/qemu-system-aarch64 ${bindir}/qemu-aarch64"
25RDEPENDS:${PN}-aarch64:append:class-target = " ${PN}"
26INSANE_SKIP:${PN}-aarch64:class-target = "file-rdeps"
27
28FILES:${PN}-arm:class-target = "${bindir}/qemu-system-arm ${bindir}/qemu-arm"
29RDEPENDS:${PN}-arm:append:class-target = " ${PN}"
30INSANE_SKIP:${PN}-arm:class-target = "file-rdeps"
31
32FILES:${PN}-microblaze:class-target = "${bindir}/qemu-system-microblaze* ${bindir}/qemu-microblaze*"
33RDEPENDS:${PN}-microblaze:append:class-target = " ${PN}"
34INSANE_SKIP:${PN}-arm:class-target = "file-rdeps"
35
36FILES:${PN}-support:class-target = "${bindir}/* ${libexecdir}/*"
37RDEPENDS:${PN}-support:class-target = "${PN} bash"
38
39FILES:${PN}-firmware:class-target = "${datadir}/${PN}/*.bin ${datadir}/${PN}/*.rom ${datadir}/${PN}/*.img ${datadir}/${PN}/openbios* ${datadir}/${PN}/*.dtb ${datadir}/${PN}/u-boot*"
40RDEPENDS:${PN}-firmware:class-target = "${PN}"
41INSANE_SKIP:${PN}-firmware:class-target = "arch"
42
43FILES:${PN}-keymaps:class-target = "${datadir}/${PN}/keymaps/*"
44RDEPENDS:${PN}-keymaps:class-target = "${PN}"
45
46PACKAGECONFIG:append:class-target = " virtfs"
diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend
deleted file mode 100644
index c9f04327..00000000
--- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-xilinx-package-split-7.1.inc', '', d)}
diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend
deleted file mode 100644
index c9f04327..00000000
--- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-xilinx-package-split-7.1.inc', '', d)}
diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb
new file mode 100644
index 00000000..8a707df4
--- /dev/null
+++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.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 = "xlnx_rel_v2023.2"
10SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https"
11SRCREV = "4f0b7b1b20933ddc454124fc3472f1b8894ddf08"
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
new file mode 100644
index 00000000..6a4fd880
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
@@ -0,0 +1,47 @@
1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3
4require aie-rt.inc
5
6SECTION = "libs"
7
8AIEDIR ?= "${S}/driver"
9S = "${WORKDIR}/git"
10I = "${AIEDIR}/include"
11
12COMPATIBLE_MACHINE = "^$"
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
15PV = "3.3"
16
17IOBACKENDS ?= "Linux"
18
19DEPENDS = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}"
20RDEPENDS:${PN} = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}"
21
22PROVIDES = "libxaiengine"
23RPROVIDES:${PN} = "libxaiengine"
24
25# The makefile isn't ready for parallel execution at the moment
26PARALLEL_MAKE = "-j 1"
27
28CFLAGS += "-Wall -Wextra -fno-thread-jumps -fno-tree-pre"
29CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'Linux', ' -D__AIELINUX__', '', d)}"
30CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'metal', ' -D__AIEMETAL__', '', d)}"
31EXTRA_OEMAKE = "-C ${AIEDIR}/src -f Makefile.Linux CFLAGS='${CFLAGS}'"
32
33
34do_compile(){
35 oe_runmake
36}
37
38do_install(){
39 install -d ${D}${includedir}
40 install ${I}/*.h ${D}${includedir}/
41 install -d ${D}${includedir}/xaiengine
42 install ${I}/xaiengine/*.h ${D}${includedir}/xaiengine/
43 install -d ${D}${libdir}
44 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir}
45}
46
47PACKAGE_ARCH:versal-ai-core = "${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 e364462b..f86c5985 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
@@ -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
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc
new file mode 100644
index 00000000..85121654
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc
@@ -0,0 +1,11 @@
1SECTION = "libs"
2
3REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https"
4
5BRANCH ?= "xlnx_rel_v2022.2"
6SRCREV ?= "ae24c8ede049906323510693f37e6167a963fd0e"
7
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM ?= "file://license.txt;md5=b81abf1f508952331dd7d2ab36408f5b"
10
11SRC_URI = "${REPO};branch=${BRANCH}"
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
new file mode 100644
index 00000000..641c39a9
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3
4require aie-rt.inc
5
6SECTION = "devel"
7
8XAIEFAL_DIR ?= "fal"
9S = "${WORKDIR}/git"
10
11COMPATIBLE_MACHINE = "^$"
12COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
13COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
14
15IOBACKENDS ?= "Linux"
16
17PROVIDES = "aiefal"
18ALLOW_EMPTY:${PN} = "1"
19
20inherit pkgconfig cmake
21
22DEPENDS = "libxaiengine"
23
24OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}"
25
26EXTRA_OECMAKE = "-DWITH_TESTS=OFF "
27EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}"
28
29FILES:${PN}-demos = " \
30 ${bindir}/* \
31"
32
33PACKAGE_ARCH:versal-ai-core = "${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 6ac86a1b..2c6c9cd1 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
@@ -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/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb
new file mode 100644
index 00000000..f02bb879
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb
@@ -0,0 +1,8 @@
1ATF_VERSION = "2.6"
2SRCREV = "67ca59c67f542322554d78820bf9ddaa736d6a84"
3BRANCH = "xlnx_rebase_v2.6"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5
6
7include arm-trusted-firmware.inc
8
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb
new file mode 100644
index 00000000..5ef2e6ac
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb
@@ -0,0 +1,8 @@
1ATF_VERSION = "2.6"
2SRCREV = "0897efd45ccad29a3dbab610578c70e3a52b2caa"
3BRANCH = "xlnx_rebase_v2.6"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5
6
7include arm-trusted-firmware.inc
8
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
index 454fbe86..2bcbe7d4 100644
--- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
@@ -1,5 +1,5 @@
1ATF_VERSION = "2.8" 1ATF_VERSION = "2.8"
2SRCREV = "6fcc6b179dc14de0f6ba19a1829e597b60f7aee5" 2SRCREV = "c9b71dc96f3f18ca94cad590612aae3224c8c84d"
3BRANCH = "xlnx_rebase_v2.8" 3BRANCH = "xlnx_rebase_v2.8"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" 4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5 5
diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb
new file mode 100644
index 00000000..fdf28f41
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb
@@ -0,0 +1,31 @@
1SUMMARY = "Building and installing bootgen"
2DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images"
3
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1"
6
7S = "${WORKDIR}/git"
8
9DEPENDS += "openssl"
10RDEPENDS:${PN} += "openssl"
11
12REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https"
13BRANCH ?= "xlnx_rel_v2022.2"
14SRCREV = "cf4ba93b99644dc4429ef633471a639e1382f0e7"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}'
20CXXFLAGS:append = " -std=c++0x"
21
22TARGET_CC_ARCH += "${LDFLAGS}"
23
24do_install() {
25 install -d ${D}${bindir}
26 install -Dm 0755 ${S}/bootgen ${D}${bindir}
27}
28
29FILES:${PN} = "${bindir}/bootgen"
30
31BBCLASSEXTEND = "native nativesdk"
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
new file mode 100644
index 00000000..b4de4fe6
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb
@@ -0,0 +1,78 @@
1SUMMARY = "Xilinx dfx-mgr libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and Binaries"
3
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d67bcef754e935bf77b6d7051bd62b5e"
6
7REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https"
8BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
9SRC_URI = "${REPO};${BRANCHARG}"
10
11BRANCH = "xlnx_rel_v2022.2"
12SRCREV = "bc06691eb35d7f0acb7c2508b6d050d77b0264a0"
13SOMAJOR = "1"
14SOMINOR = "0"
15SOVERSION = "${SOMAJOR}.${SOMINOR}"
16
17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal"
20
21S = "${WORKDIR}/git"
22
23inherit cmake update-rc.d systemd
24
25DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm"
26RDEPENDS:${PN} += " fru-print"
27EXTRA_OECMAKE += " \
28 -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \
29 "
30
31# Workaround for: the comparison will always evaluate as 'true' for the address of 'defaul_accel_name' will never be NULL [-Werror=address]
32CFLAGS += "-Wno-address"
33
34# Workaround for: '__builtin_strncpy' specified bound depends on the length of the source argument [-Werror=stringop-truncation]
35CFLAGS += "-Wno-stringop-truncation"
36
37INITSCRIPT_NAME = "dfx-mgr.sh"
38INITSCRIPT_PARAMS = "start 99 S ."
39
40SYSTEMD_PACKAGES="${PN}"
41SYSTEMD_SERVICE:${PN}="dfx-mgr.service"
42SYSTEMD_AUTO_ENABLE:${PN}="enable"
43
44
45do_install(){
46 install -d ${D}${bindir}
47 install -d ${D}${libdir}
48 install -d ${D}${includedir}
49 install -d ${D}${base_libdir}/firmware/xilinx
50 install -d ${D}${sysconfdir}/dfx-mgrd
51
52 cp ${B}/example/sys/linux/dfx-mgrd-static ${D}${bindir}/dfx-mgrd
53 cp ${B}/example/sys/linux/dfx-mgr-client-static ${D}${bindir}/dfx-mgr-client
54 chrpath -d ${D}${bindir}/dfx-mgrd
55 chrpath -d ${D}${bindir}/dfx-mgr-client
56 install -m 0644 ${S}/src/dfxmgr_client.h ${D}${includedir}
57
58 oe_soinstall ${B}/src/libdfx-mgr.so.${SOVERSION} ${D}${libdir}
59
60 install -m 0755 ${S}/src/daemon.conf ${D}${sysconfdir}/dfx-mgrd/
61
62 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
63 install -d ${D}${sysconfdir}/init.d/
64 install -m 0755 ${S}/src/dfx-mgr.sh ${D}${sysconfdir}/init.d/
65 fi
66
67 install -m 0755 ${S}/src/dfx-mgr.sh ${D}${bindir}
68 install -m 0755 ${S}/src/scripts/xlnx-firmware-detect ${D}${bindir}
69
70 install -d ${D}${systemd_system_unitdir}
71 install -m 0644 ${S}/src/dfx-mgr.service ${D}${systemd_system_unitdir}
72}
73
74PACKAGES =+ "libdfx-mgr"
75
76FILES:${PN} += "${base_libdir}/firmware/xilinx"
77FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${sysconfdir}/init.d/dfx-mgr.sh', '', d)} ${systemd_system_unitdir}"
78FILES:libdfx-mgr = "${libdir}/libdfx-mgr.so.${SOVERSION} ${libdir}/libdfx-mgr.so.${SOMAJOR}"
diff --git a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb
index af786e7e..2114eafd 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"
18do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete" 18do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete"
19do_install[cleandirs] = "${D}" 19do_install[cleandirs] = "${D}"
20do_install() { 20do_install() {
21 if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ]; then 21 if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ]; then
22 install -d ${D}/boot/ 22 install -d ${D}/boot/
23 install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ${D}/boot/. 23 install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ${D}/boot/.
24 else 24 else
25 bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" 25 bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot"
26 fi 26 fi
27} 27}
28 28
29PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}" 29PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}"
30 30
31RPROVIDES:${PN} = "initramdisk" 31RPROVIDES:${PN} = "initramdisk"
32FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" 32FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot"
33 33
34python() { 34python() {
35 if not d.getVar('INITRAMFS_IMAGE'): 35 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
new file mode 100644
index 00000000..2c180561
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Xilinx libdfx library"
2DESCRIPTION = "Xilinx libdfx Library and headers"
3
4LICENSE = "MIT & GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7"
6
7BRANCH ?= "xlnx_rel_v2022.2"
8REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https"
9BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
10SRC_URI = "${REPO};${BRANCHARG}"
11SRCREV = "f2b7bbca9d6936141024becfb92266600eeefc2b"
12
13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal"
16
17S = "${WORKDIR}/git"
18
19inherit cmake
20
21# Due to an update where the soname/version was defined, we need to use an RREPLACES
22# so updates will work properly.
23RREPLACES:${PN} = "libdfx"
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
new file mode 100644
index 00000000..eaf8d4ce
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb
@@ -0,0 +1,21 @@
1require u-boot-tools-xlnx.inc
2require u-boot-xlnx-2022.1.inc
3
4# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct
5# bmp_logo.h
6SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"'
7
8# Default do_compile fails with:
9# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates.
10# The regular workaround of calling 'git diff' seems to be problematic.
11do_compile () {
12 oe_runmake -C ${S} tools-only_defconfig O=${B}
13
14 # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
15 # generating it requires bin2header tool, which for target build
16 # is built with target tools and thus cannot be executed on host.
17 sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
18
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20}
21
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
new file mode 100644
index 00000000..44636872
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb
@@ -0,0 +1,21 @@
1require u-boot-tools-xlnx.inc
2require u-boot-xlnx-2022.2.inc
3
4# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct
5# bmp_logo.h
6SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"'
7
8# Default do_compile fails with:
9# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates.
10# The regular workaround of calling 'git diff' seems to be problematic.
11do_compile () {
12 oe_runmake -C ${S} tools-only_defconfig O=${B}
13
14 # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
15 # generating it requires bin2header tool, which for target build
16 # is built with target tools and thus cannot be executed on host.
17 sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
18
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20}
21
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb
new file mode 100644
index 00000000..fe5ecf79
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb
@@ -0,0 +1,21 @@
1require u-boot-tools-xlnx.inc
2require u-boot-xlnx-2023.1.inc
3
4# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct
5# bmp_logo.h
6SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"'
7
8# Default do_compile fails with:
9# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates.
10# The regular workaround of calling 'git diff' seems to be problematic.
11do_compile () {
12 oe_runmake -C ${S} tools-only_defconfig O=${B}
13
14 # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
15 # generating it requires bin2header tool, which for target build
16 # is built with target tools and thus cannot be executed on host.
17 sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
18
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20}
21
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h
new file mode 100644
index 00000000..08c1c16c
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.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-v2021.01/microblaze-generic.cfg b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic.cfg
new file mode 100644
index 00000000..0f784f73
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.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.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc
new file mode 100644
index 00000000..a0c0b50d
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc
@@ -0,0 +1,17 @@
1UBOOT_VERSION = "v2021.01"
2
3UBRANCH ?= "xlnx_rebase_v2022.01_2022.1_update"
4
5SRCREV = "91ad7924e7f59584d597353e1bb86794341e0a7e"
6
7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
9
10# u-boot-xlnx has support for these
11HAS_PLATFORM_INIT ?= " \
12 xilinx_zynqmp_virt_config \
13 xilinx_zynq_virt_defconfig \
14 xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
15 "
16
17DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
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
new file mode 100644
index 00000000..6415861d
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc
@@ -0,0 +1,17 @@
1UBOOT_VERSION = "v2021.01"
2
3UBRANCH ?= "xlnx_rebase_v2022.01"
4
5SRCREV = "b31476685debf5512ed0d4e8000fa5167a22f530"
6
7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
9
10# u-boot-xlnx has support for these
11HAS_PLATFORM_INIT ?= " \
12 xilinx_zynqmp_virt_config \
13 xilinx_zynq_virt_defconfig \
14 xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
15 "
16
17DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
new file mode 100644
index 00000000..72f43f71
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
@@ -0,0 +1,17 @@
1UBOOT_VERSION = "v2023.01"
2
3UBRANCH = "xlnx_rebase_v2023.01_update"
4
5SRCREV = "1689570b68dd3827e527a520805aa0bb7f58ee09"
6
7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
9
10# u-boot-xlnx has support for these
11HAS_PLATFORM_INIT ?= " \
12 xilinx_zynqmp_virt_config \
13 xilinx_zynq_virt_defconfig \
14 xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
15 "
16
17DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
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 2e761ebe..33b302e9 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 = "2b54ad6f1d278c419b927d10db2edf323d844578" 5SRCREV = "4da834fc7644b4124f7417e0e2789c7afcb40352"
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_2022.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb
new file mode 100644
index 00000000..c1c45e56
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb
@@ -0,0 +1,4 @@
1
2require u-boot-xlnx.inc
3require u-boot-spl-zynq-init.inc
4require u-boot-xlnx-2022.1.inc
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb
new file mode 100644
index 00000000..b10f321b
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb
@@ -0,0 +1,4 @@
1
2require u-boot-xlnx.inc
3require u-boot-spl-zynq-init.inc
4require u-boot-xlnx-2022.2.inc
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb
new file mode 100644
index 00000000..fd76bc51
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb
@@ -0,0 +1,4 @@
1
2require u-boot-xlnx.inc
3require u-boot-spl-zynq-init.inc
4require u-boot-xlnx-2023.1.inc
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
new file mode 100644
index 00000000..fd3a3c11
--- /dev/null
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend
@@ -0,0 +1,5 @@
1# Minimum board memory required for each type
2QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G"
5QB_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 423663fa..e748c9e4 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
@@ -10,6 +10,6 @@ PTESTS_PROBLEMS:append:zynq = " qemu-ptest"
10 10
11# Microblaze has some limitations 11# Microblaze has some limitations
12# graphics is the primary one, bluez5 requires graphics support by default 12# graphics is the primary one, bluez5 requires graphics support by default
13PTESTS_FAST:remove:microblaze = "pango-ptest wayland-ptest qemu-ptest bluez5-ptest" 13PTESTS_FAST:remove:microblaze = "pango-ptest wayland-ptest qemu-ptest bluez5-ptest python3-bcrypt qemu"
14PTESTS_PROBLEMS:append:microblaze = " pango-ptest wayland-ptest qemu-ptest bluez5-ptest" 14PTESTS_PROBLEMS:append:microblaze = " pango-ptest wayland-ptest qemu-ptest bluez5-ptest python3-bcrypt qemu"
15 15
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
new file mode 100644
index 00000000..fd3a3c11
--- /dev/null
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
@@ -0,0 +1,5 @@
1# Minimum board memory required for each type
2QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc
index 7e88713c..c18a5326 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc
@@ -17,4 +17,37 @@ python () {
17 if (d.getVar('BPN') != 'qemu'): 17 if (d.getVar('BPN') != 'qemu'):
18 for pkg in d.getVar('PACKAGES').split(): 18 for pkg in d.getVar('PACKAGES').split():
19 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) 19 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
20
21 for pkg in d.getVar('PACKAGES_DYNAMIC').split():
22 d.appendVar('PACKAGES_DYNAMIC', ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
20} 23}
24
25# From Poky qemu.inc
26# Modified to add compatibility RPROVIDES
27python split_qemu_packages () {
28 archdir = d.expand('${bindir}/')
29 syspackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True)
30 if syspackages:
31 d.setVar('RDEPENDS:' + d.getVar('PN') + '-system-all', ' '.join(syspackages))
32
33 if (d.getVar('BPN') != 'qemu'):
34 for pkg in syspackages:
35 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
36
37 userpackages = do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True)
38 if userpackages:
39 d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages))
40
41 if (d.getVar('BPN') != 'qemu'):
42 for pkg in userpackages:
43 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
44
45 mipspackage = d.getVar('PN') + "-user-mips"
46 if mipspackage in ' '.join(userpackages):
47 d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash')
48
49 if (d.getVar('BPN') != 'qemu'):
50 for pkg in mipspackage:
51 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
52}
53
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
deleted file mode 100644
index 91e787bd..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1
2require qemu-devicetrees.inc
3
4BRANCH ?= "xlnx_rel_v2023.1"
5SRCREV ?= "1c45adcde1fc06432c01be250bf668c6477d8459"
6
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb
deleted file mode 100644
index d41743c1..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1
2require qemu-devicetrees.inc
3
4BRANCH ?= "xlnx_rel_v2023.2"
5SRCREV ?= "d1013382d9a5ef816cd020e7840813b7a2d65c51"
6
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
deleted file mode 100644
index 06ac05a1..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
+++ /dev/null
@@ -1,3 +0,0 @@
1XILINX_QEMU_VERSION = "v7.1.0"
2BRANCH = "xlnx_rel_v2023.1"
3SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc
deleted file mode 100644
index db6e1528..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc
+++ /dev/null
@@ -1,3 +0,0 @@
1XILINX_QEMU_VERSION = "v7.1.0"
2BRANCH = "xlnx_rel_v2023.2"
3SRCREV = "23b643ba1683a47ef49447a45643fe2172d6f8ca"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch
deleted file mode 100644
index ca2ad361..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From 76c3fc4c87231bed32974ebbbdb5079cff45a6b7 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 5 Jan 2021 23:00:14 +0000
4Subject: [PATCH 12/12] qemu: Upgrade 5.1.0->5.2.0
5
6We need to be able to trigger configure's cross code but we don't want
7to set cross_prefix as it does other things we don't want. Patch things
8so we can do what we need in the target config case.
9
10Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?]
11Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
12
13---
14 configure | 4 ----
15 1 file changed, 4 deletions(-)
16
17Index: qemu-7.1.0/configure
18===================================================================
19--- qemu-7.1.0.orig/configure
20+++ qemu-7.1.0/configure
21@@ -2710,7 +2710,6 @@ if test "$skip_meson" = no; then
22 echo "strip = [$(meson_quote $strip)]" >> $cross
23 echo "widl = [$(meson_quote $widl)]" >> $cross
24 echo "windres = [$(meson_quote $windres)]" >> $cross
25- if test "$cross_compile" = "yes"; then
26 cross_arg="--cross-file config-meson.cross"
27 echo "[host_machine]" >> $cross
28 echo "system = '$targetos'" >> $cross
29@@ -2728,9 +2727,6 @@ if test "$skip_meson" = no; then
30 else
31 echo "endian = 'little'" >> $cross
32 fi
33- else
34- cross_arg="--native-file config-meson.cross"
35- fi
36 mv $cross config-meson.cross
37
38 rm -rf meson-private meson-info meson-logs
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc
deleted file mode 100644
index b65a1682..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc
+++ /dev/null
@@ -1,50 +0,0 @@
1SUMMARY = "Xilinx's fork of a fast open source processor emulator"
2HOMEPAGE = "https://github.com/xilinx/qemu/"
3
4# x86_64 is needed to build nativesdks
5QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64"
6
7LIC_FILES_CHKSUM = " \
8 file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
9 file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \
10 "
11DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native"
12
13FILESEXTRAPATHS:prepend := "${THISDIR}/qemu-xilinx-7.1.0:"
14
15PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
16REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = "${REPO};${BRANCHARG}"
20
21FILESEXTRAPATHS:append := ":${COREBASE}/meta/recipes-devtools/qemu/qemu"
22
23SRC_URI += "\
24 file://powerpc_rom.bin \
25 file://run-ptest \
26 file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
27 file://0002-chardev-connect-socket-to-a-spawned-command.patch \
28 file://0003-apic-fixup-fallthrough-to-PIC.patch \
29 file://0004-configure-Add-pkg-config-handling-for-libgcrypt.patch \
30 file://0005-qemu-Do-not-include-file-if-not-exists.patch \
31 file://0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch \
32 file://0007-qemu-Determinism-fixes.patch \
33 file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \
34 file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
35 file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
36 file://0001-net-tulip-Restrict-DMA-engine-to-memories.patch \
37 file://arm-cpreg-fix.patch \
38 file://CVE-2022-3165.patch \
39 "
40
41S = "${WORKDIR}/git"
42
43PACKAGECONFIG ??= " \
44 fdt sdl kvm gcrypt pie slirp \
45 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
46 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
47"
48PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm gcrypt pie slirp"
49
50DISABLE_STATIC:pn-${PN} = ""
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc
deleted file mode 100644
index e664a580..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc
+++ /dev/null
@@ -1,4 +0,0 @@
1require recipes-devtools/qemu/qemu-native.inc
2require qemu-xilinx-7.1.inc
3
4DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
deleted file mode 100644
index 06711fd9..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require qemu-xilinx-2023.1.inc
2require qemu-xilinx-native-7.1.inc
3require qemu-native-alt.inc
4
5BPN = "qemu-xilinx"
6
7EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
8
9PACKAGECONFIG ??= "pie"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb
deleted file mode 100644
index ccfa9956..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require qemu-xilinx-2023.2.inc
2require qemu-xilinx-native-7.1.inc
3require qemu-native-alt.inc
4
5BPN = "qemu-xilinx"
6
7EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
8
9PACKAGECONFIG ??= "pie"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
deleted file mode 100644
index 1e738530..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1require qemu-system-native-alt.inc
2require qemu-xilinx-2023.1.inc
3require qemu-xilinx-native-7.1.inc
4
5PROVIDES = "qemu-system-native"
6
7EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
8
9PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp"
10
11PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
12
13DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native"
14DEPENDS += "qemu-xilinx-multiarch-helper-native"
15
16do_install:append() {
17 # The following is also installed by qemu-native
18 rm -f ${D}${datadir}/qemu/trace-events-all
19 rm -rf ${D}${datadir}/qemu/keymaps
20 rm -rf ${D}${datadir}/icons
21 rm -rf ${D}${includedir}/qemu-plugin.h
22
23 # Install qmp.py to be used with testimage
24 install -d ${D}${libdir}/qemu-python/qmp/
25 install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/
26}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb
deleted file mode 100644
index 21208f72..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1require qemu-system-native-alt.inc
2require qemu-xilinx-2023.2.inc
3require qemu-xilinx-native-7.1.inc
4
5PROVIDES = "qemu-system-native"
6
7EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
8
9PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp"
10
11PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
12
13DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native"
14DEPENDS += "qemu-xilinx-multiarch-helper-native"
15
16do_install:append() {
17 # The following is also installed by qemu-native
18 rm -f ${D}${datadir}/qemu/trace-events-all
19 rm -rf ${D}${datadir}/qemu/keymaps
20 rm -rf ${D}${datadir}/icons
21 rm -rf ${D}${includedir}/qemu-plugin.h
22
23 # Install qmp.py to be used with testimage
24 install -d ${D}${libdir}/qemu-python/qmp/
25 install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/
26}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
deleted file mode 100644
index 3b12d161..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1require qemu-xilinx-2023.1.inc
2require recipes-devtools/qemu/qemu.inc
3require qemu-xilinx-7.1.inc
4require qemu-alt.inc
5
6# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
7DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
8MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
9MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
10PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
11PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
12
13BBCLASSEXTEND = "nativesdk"
14
15RDEPENDS:${PN}:class-target += "bash"
16
17PROVIDES:class-nativesdk = "nativesdk-qemu"
18RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu"
19
20EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
21EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
22EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
23
24do_install:append:class-nativesdk() {
25 ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
26}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb
deleted file mode 100644
index e79df9d7..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1require qemu-xilinx-2023.2.inc
2require recipes-devtools/qemu/qemu.inc
3require qemu-xilinx-7.1.inc
4require qemu-alt.inc
5
6# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
7DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
8MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
9MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
10PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
11PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
12
13BBCLASSEXTEND = "nativesdk"
14
15RDEPENDS:${PN}:class-target += "bash"
16
17PROVIDES:class-nativesdk = "nativesdk-qemu"
18RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu"
19
20EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
21EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
22EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
23
24do_install:append:class-nativesdk() {
25 ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
26}
diff --git a/meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend b/meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend
deleted file mode 100644
index 61b4d1da..00000000
--- a/meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend
+++ /dev/null
@@ -1,19 +0,0 @@
1# OpenGL comes from libmali on ev/eg, when egl is enabled
2# Adjust the configuration if we're using libmali for this distro
3DEFAULT_PACKAGECONFIG := "${PACKAGECONFIG}"
4
5PACKAGECONFIG_LIBMALI = " \
6 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
7 egl glesv2 \
8 trace \
9"
10
11PACKAGECONFIG = "${@'${PACKAGECONFIG_LIBMALI}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGECONFIG}'}"
12
13# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
14DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
15MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
16MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
17PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
18PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
19
diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch b/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch
index 02916658..77a457ce 100644
--- a/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch
+++ b/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] headers: Sync with HDR from v5.15
5 5
6Sync drm_mode.h with linux-xlnx/include/uapi/drm/drm_mode.h for HDR 6Sync drm_mode.h with linux-xlnx/include/uapi/drm/drm_mode.h for HDR
7 7
8Upstream-Status: Pending
9
8Signed-off-by: Rohit Visavalia <rohit.visavalia@xilinx.com> 10Signed-off-by: Rohit Visavalia <rohit.visavalia@xilinx.com>
9--- 11---
10 include/drm/drm_mode.h | 129 +++++++++++++++++++++++++++++++++++++++-- 12 include/drm/drm_mode.h | 129 +++++++++++++++++++++++++++++++++++++++--
diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch b/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch
index 6e546fb0..c517221a 100644
--- a/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch
+++ b/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] modetest: Add YUV444 and X403 format support for modetest
6Add YUV44 8-bit and X403 10-bit formats support to modetest 6Add YUV44 8-bit and X403 10-bit formats support to modetest
7for generating color bar pattern. 7for generating color bar pattern.
8 8
9Upstream-Status: Pending
10
9Signed-off-by: Anil Kumar Mamidala <anil.mamidala@xilinx.com> 11Signed-off-by: Anil Kumar Mamidala <anil.mamidala@xilinx.com>
10--- 12---
11 include/drm/drm_fourcc.h | 7 + 13 include/drm/drm_fourcc.h | 7 +
@@ -14,11 +16,11 @@ Signed-off-by: Anil Kumar Mamidala <anil.mamidala@xilinx.com>
14 tests/util/pattern.c | 270 +++++++++++++++++++++++++++++++++++++++ 16 tests/util/pattern.c | 270 +++++++++++++++++++++++++++++++++++++++
15 4 files changed, 313 insertions(+) 17 4 files changed, 313 insertions(+)
16 18
17diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h 19Index: libdrm-2.4.118/include/drm/drm_fourcc.h
18index 32966bd..b93778c 100644 20===================================================================
19--- a/include/drm/drm_fourcc.h 21--- libdrm-2.4.118.orig/include/drm/drm_fourcc.h
20+++ b/include/drm/drm_fourcc.h 22+++ libdrm-2.4.118/include/drm/drm_fourcc.h
21@@ -352,6 +352,13 @@ extern "C" { 23@@ -405,6 +405,13 @@ extern "C" {
22 #define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */ 24 #define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */
23 #define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */ 25 #define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */
24 26
@@ -32,25 +34,27 @@ index 32966bd..b93778c 100644
32 34
33 /* 35 /*
34 * Format Modifiers: 36 * Format Modifiers:
35diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c 37Index: libdrm-2.4.118/tests/modetest/buffers.c
36index 4c15ec8..0529978 100644 38===================================================================
37--- a/tests/modetest/buffers.c 39--- libdrm-2.4.118.orig/tests/modetest/buffers.c
38+++ b/tests/modetest/buffers.c 40+++ libdrm-2.4.118/tests/modetest/buffers.c
39@@ -142,11 +142,13 @@ bo_create(int fd, unsigned int format, 41@@ -145,6 +145,7 @@ bo_create(int fd, unsigned int format,
40 case DRM_FORMAT_NV61: 42 case DRM_FORMAT_NV42:
41 case DRM_FORMAT_YUV420: 43 case DRM_FORMAT_YUV420:
42 case DRM_FORMAT_YVU420: 44 case DRM_FORMAT_YVU420:
43+ case DRM_FORMAT_YUV444: 45+ case DRM_FORMAT_YUV444:
44 bpp = 8; 46 bpp = 8;
45 break; 47 break;
46 48
49@@ -156,6 +157,7 @@ bo_create(int fd, unsigned int format,
50
47 case DRM_FORMAT_XV15: 51 case DRM_FORMAT_XV15:
48 case DRM_FORMAT_XV20: 52 case DRM_FORMAT_XV20:
49+ case DRM_FORMAT_X403: 53+ case DRM_FORMAT_X403:
50 bpp = 10; 54 bpp = 10;
51 break; 55 break;
52 56
53@@ -230,12 +232,24 @@ bo_create(int fd, unsigned int format, 57@@ -242,6 +244,11 @@ bo_create(int fd, unsigned int format,
54 virtual_height = height * 2; 58 virtual_height = height * 2;
55 break; 59 break;
56 60
@@ -59,10 +63,10 @@ index 4c15ec8..0529978 100644
59+ virtual_height = height * 3; 63+ virtual_height = height * 3;
60+ break; 64+ break;
61+ 65+
62+
63 case DRM_FORMAT_NV16: 66 case DRM_FORMAT_NV16:
64 case DRM_FORMAT_NV61: 67 case DRM_FORMAT_NV61:
65 virtual_width = width; 68 case DRM_FORMAT_NV20:
69@@ -249,6 +256,11 @@ bo_create(int fd, unsigned int format,
66 virtual_height = height * 2; 70 virtual_height = height * 2;
67 break; 71 break;
68 72
@@ -71,11 +75,10 @@ index 4c15ec8..0529978 100644
71+ virtual_height = height * 3; 75+ virtual_height = height * 3;
72+ break; 76+ break;
73+ 77+
74+ 78 case DRM_FORMAT_NV24:
75 default: 79 case DRM_FORMAT_NV42:
76 virtual_width = width; 80 case DRM_FORMAT_NV30:
77 virtual_height = height; 81@@ -322,6 +334,24 @@ bo_create(int fd, unsigned int format,
78@@ -286,6 +300,24 @@ bo_create(int fd, unsigned int format,
79 planes[1] = virtual + offsets[1]; 82 planes[1] = virtual + offsets[1];
80 break; 83 break;
81 84
@@ -100,11 +103,11 @@ index 4c15ec8..0529978 100644
100 case DRM_FORMAT_YUV420: 103 case DRM_FORMAT_YUV420:
101 case DRM_FORMAT_YVU420: 104 case DRM_FORMAT_YVU420:
102 offsets[0] = 0; 105 offsets[0] = 0;
103diff --git a/tests/util/format.c b/tests/util/format.c 106Index: libdrm-2.4.118/tests/util/format.c
104index e4b612b..ba7267f 100644 107===================================================================
105--- a/tests/util/format.c 108--- libdrm-2.4.118.orig/tests/util/format.c
106+++ b/tests/util/format.c 109+++ libdrm-2.4.118/tests/util/format.c
107@@ -57,6 +57,10 @@ static const struct util_format_info format_info[] = { 110@@ -64,6 +64,10 @@ static const struct util_format_info for
108 /* YUV planar */ 111 /* YUV planar */
109 { DRM_FORMAT_YUV420, "YU12", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 1) }, 112 { DRM_FORMAT_YUV420, "YU12", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 1) },
110 { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) }, 113 { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) },
@@ -115,11 +118,11 @@ index e4b612b..ba7267f 100644
115 /* RGB16 */ 118 /* RGB16 */
116 { DRM_FORMAT_ARGB4444, "AR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 4, 12) }, 119 { DRM_FORMAT_ARGB4444, "AR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 4, 12) },
117 { DRM_FORMAT_XRGB4444, "XR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 0, 0) }, 120 { DRM_FORMAT_XRGB4444, "XR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 0, 0) },
118diff --git a/tests/util/pattern.c b/tests/util/pattern.c 121Index: libdrm-2.4.118/tests/util/pattern.c
119index 0fe2e5f..83049eb 100644 122===================================================================
120--- a/tests/util/pattern.c 123--- libdrm-2.4.118.orig/tests/util/pattern.c
121+++ b/tests/util/pattern.c 124+++ libdrm-2.4.118/tests/util/pattern.c
122@@ -426,6 +426,175 @@ static void fill_smpte_yuv_semiplanar_10b( 125@@ -596,6 +596,175 @@ static void fill_smpte_yuv_semiplanar_10
123 } 126 }
124 } 127 }
125 128
@@ -295,7 +298,7 @@ index 0fe2e5f..83049eb 100644
295 static void fill_smpte_yuv_planar_10b( 298 static void fill_smpte_yuv_planar_10b(
296 const struct util_yuv_info *yuv, 299 const struct util_yuv_info *yuv,
297 unsigned char *y_mem, unsigned char *u_mem, 300 unsigned char *y_mem, unsigned char *u_mem,
298@@ -686,6 +855,88 @@ static void fill_tiles_xv20( 301@@ -856,6 +1025,88 @@ static void fill_tiles_xv20(
299 } 302 }
300 } 303 }
301 304
@@ -384,9 +387,9 @@ index 0fe2e5f..83049eb 100644
384 static void fill_smpte_yuv_packed(const struct util_yuv_info *yuv, void *mem, 387 static void fill_smpte_yuv_packed(const struct util_yuv_info *yuv, void *mem,
385 unsigned int width, unsigned int height, 388 unsigned int width, unsigned int height,
386 unsigned int stride) 389 unsigned int stride)
387@@ -1135,10 +1386,19 @@ static void fill_smpte(const struct util_format_info *info, 390@@ -1660,10 +1911,19 @@ static void fill_smpte(const struct util
388 return fill_smpte_yuv_planar(&info->yuv, planes[0], u, v, 391 planes[1], width, height,
389 width, height, stride); 392 stride);
390 393
391+ case DRM_FORMAT_X403: 394+ case DRM_FORMAT_X403:
392+ return fill_smpte_yuv_planar_x403(&info->yuv, planes[0], planes[1], 395+ return fill_smpte_yuv_planar_x403(&info->yuv, planes[0], planes[1],
@@ -404,7 +407,7 @@ index 0fe2e5f..83049eb 100644
404 case DRM_FORMAT_YVU420: 407 case DRM_FORMAT_YVU420:
405 return fill_smpte_yuv_planar(&info->yuv, planes[0], planes[2], 408 return fill_smpte_yuv_planar(&info->yuv, planes[0], planes[2],
406 planes[1], width, height, stride); 409 planes[1], width, height, stride);
407@@ -1465,6 +1725,11 @@ static void fill_tiles(const struct util_format_info *info, 410@@ -2082,6 +2342,11 @@ static void fill_tiles(const struct util
408 return fill_tiles_yuv_planar(info, planes[0], planes[1], 411 return fill_tiles_yuv_planar(info, planes[0], planes[1],
409 planes[2], width, height, stride); 412 planes[2], width, height, stride);
410 413
@@ -416,7 +419,7 @@ index 0fe2e5f..83049eb 100644
416 case DRM_FORMAT_YVU420: 419 case DRM_FORMAT_YVU420:
417 return fill_tiles_yuv_planar(info, planes[0], planes[2], 420 return fill_tiles_yuv_planar(info, planes[0], planes[2],
418 planes[1], width, height, stride); 421 planes[1], width, height, stride);
419@@ -1473,6 +1738,11 @@ static void fill_tiles(const struct util_format_info *info, 422@@ -2090,6 +2355,11 @@ static void fill_tiles(const struct util
420 return fill_tiles_xv20(info, planes[0], planes[1], 423 return fill_tiles_xv20(info, planes[0], planes[1],
421 planes[1], width, height, stride); 424 planes[1], width, height, stride);
422 425
@@ -428,6 +431,3 @@ index 0fe2e5f..83049eb 100644
428 case DRM_FORMAT_XV15: 431 case DRM_FORMAT_XV15:
429 return fill_tiles_xv15(info, planes[0], planes[1], 432 return fill_tiles_xv15(info, planes[0], planes[1],
430 planes[2], width, height, stride); 433 planes[2], width, height, stride);
431--
4322.17.1
433
diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch b/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch
index 815962e0..6fd5faab 100644
--- a/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch
+++ b/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch
@@ -7,6 +7,8 @@ Subject: [PATCH 3/5] modetest: Add semiplanar 10bit pattern support for
7Add XV15 and XV20 10 bit semiplanar formats support for 7Add XV15 and XV20 10 bit semiplanar formats support for
8generating color bar pattern while running modetest command. 8generating color bar pattern while running modetest command.
9 9
10Upstream-Status: Pending
11
10Signed-off-by: Anil Kumar M <amamidal@xilinx.com> 12Signed-off-by: Anil Kumar M <amamidal@xilinx.com>
11--- 13---
12 tests/modetest/buffers.c | 24 ++- 14 tests/modetest/buffers.c | 24 ++-
@@ -14,11 +16,11 @@ Signed-off-by: Anil Kumar M <amamidal@xilinx.com>
14 tests/util/pattern.c | 455 ++++++++++++++++++++++++++++++++++++++++++++++- 16 tests/util/pattern.c | 455 ++++++++++++++++++++++++++++++++++++++++++++++-
15 3 files changed, 473 insertions(+), 9 deletions(-) 17 3 files changed, 473 insertions(+), 9 deletions(-)
16 18
17diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c 19Index: libdrm-2.4.118/tests/modetest/buffers.c
18index 8a8d9e0..4c15ec8 100644 20===================================================================
19--- a/tests/modetest/buffers.c 21--- libdrm-2.4.118.orig/tests/modetest/buffers.c
20+++ b/tests/modetest/buffers.c 22+++ libdrm-2.4.118/tests/modetest/buffers.c
21@@ -127,7 +127,7 @@ bo_create(int fd, unsigned int format, 23@@ -116,7 +116,7 @@ bo_create(int fd, unsigned int format,
22 unsigned int handles[4], unsigned int pitches[4], 24 unsigned int handles[4], unsigned int pitches[4],
23 unsigned int offsets[4], enum util_fill_pattern pattern) 25 unsigned int offsets[4], enum util_fill_pattern pattern)
24 { 26 {
@@ -27,8 +29,8 @@ index 8a8d9e0..4c15ec8 100644
27 struct bo *bo; 29 struct bo *bo;
28 unsigned int bpp; 30 unsigned int bpp;
29 void *planes[3] = { 0, }; 31 void *planes[3] = { 0, };
30@@ -145,6 +145,11 @@ bo_create(int fd, unsigned int format, 32@@ -154,6 +154,11 @@ bo_create(int fd, unsigned int format,
31 bpp = 8; 33 bpp = 10;
32 break; 34 break;
33 35
34+ case DRM_FORMAT_XV15: 36+ case DRM_FORMAT_XV15:
@@ -39,19 +41,19 @@ index 8a8d9e0..4c15ec8 100644
39 case DRM_FORMAT_ARGB4444: 41 case DRM_FORMAT_ARGB4444:
40 case DRM_FORMAT_XRGB4444: 42 case DRM_FORMAT_XRGB4444:
41 case DRM_FORMAT_ABGR4444: 43 case DRM_FORMAT_ABGR4444:
42@@ -211,20 +216,33 @@ bo_create(int fd, unsigned int format, 44@@ -223,27 +228,41 @@ bo_create(int fd, unsigned int format,
43 case DRM_FORMAT_NV21: 45 case DRM_FORMAT_NV15:
44 case DRM_FORMAT_YUV420: 46 case DRM_FORMAT_YUV420:
45 case DRM_FORMAT_YVU420: 47 case DRM_FORMAT_YVU420:
46+ virtual_width = width; 48+ virtual_width = width;
47+ virtual_height = height * 3 / 2;
48+ break;
49+
50+ case DRM_FORMAT_XV15:
51+ virtual_width = (width * 32) / 30;
52 virtual_height = height * 3 / 2; 49 virtual_height = height * 3 / 2;
53 break; 50 break;
54 51
52+ case DRM_FORMAT_XV15:
53+ virtual_width = (width * 32) / 30;
54+ virtual_height = height * 3 / 2;
55+ break;
56+
55+ case DRM_FORMAT_XV20: 57+ case DRM_FORMAT_XV20:
56+ virtual_width = (width * 32) / 30; 58+ virtual_width = (width * 32) / 30;
57+ virtual_height = height * 2; 59+ virtual_height = height * 2;
@@ -59,10 +61,18 @@ index 8a8d9e0..4c15ec8 100644
59+ 61+
60 case DRM_FORMAT_NV16: 62 case DRM_FORMAT_NV16:
61 case DRM_FORMAT_NV61: 63 case DRM_FORMAT_NV61:
64 case DRM_FORMAT_NV20:
62+ virtual_width = width; 65+ virtual_width = width;
63 virtual_height = height * 2; 66 virtual_height = height * 2;
64 break; 67 break;
65 68
69 case DRM_FORMAT_NV24:
70 case DRM_FORMAT_NV42:
71 case DRM_FORMAT_NV30:
72+ virtual_width = width;
73 virtual_height = height * 3;
74 break;
75
66 default: 76 default:
67+ virtual_width = width; 77+ virtual_width = width;
68 virtual_height = height; 78 virtual_height = height;
@@ -74,34 +84,20 @@ index 8a8d9e0..4c15ec8 100644
74 if (!bo) 84 if (!bo)
75 return NULL; 85 return NULL;
76 86
77@@ -255,6 +273,8 @@ bo_create(int fd, unsigned int format, 87@@ -276,6 +295,8 @@ bo_create(int fd, unsigned int format,
78 case DRM_FORMAT_NV21:
79 case DRM_FORMAT_NV16:
80 case DRM_FORMAT_NV61: 88 case DRM_FORMAT_NV61:
89 case DRM_FORMAT_NV15:
90 case DRM_FORMAT_NV20:
81+ case DRM_FORMAT_XV15: 91+ case DRM_FORMAT_XV15:
82+ case DRM_FORMAT_XV20: 92+ case DRM_FORMAT_XV20:
83 offsets[0] = 0; 93 offsets[0] = 0;
84 handles[0] = bo->handle; 94 handles[0] = bo->handle;
85 pitches[0] = bo->pitch; 95 pitches[0] = bo->pitch;
86diff --git a/tests/util/format.c b/tests/util/format.c 96Index: libdrm-2.4.118/tests/util/pattern.c
87index 1ca1b82..e4b612b 100644 97===================================================================
88--- a/tests/util/format.c 98--- libdrm-2.4.118.orig/tests/util/pattern.c
89+++ b/tests/util/format.c 99+++ libdrm-2.4.118/tests/util/pattern.c
90@@ -51,6 +51,9 @@ static const struct util_format_info format_info[] = { 100@@ -430,6 +430,432 @@ static void fill_smpte_yuv_planar_10bpp(
91 { DRM_FORMAT_NV21, "NV21", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 2) },
92 { DRM_FORMAT_NV16, "NV16", MAKE_YUV_INFO(YUV_YCbCr, 2, 1, 2) },
93 { DRM_FORMAT_NV61, "NV61", MAKE_YUV_INFO(YUV_YCrCb, 2, 1, 2) },
94+ { DRM_FORMAT_XV15, "XV15", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 2) },
95+ { DRM_FORMAT_XV20, "XV20", MAKE_YUV_INFO(YUV_YCbCr, 2, 1, 2) },
96+
97 /* YUV planar */
98 { DRM_FORMAT_YUV420, "YU12", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 1) },
99 { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) },
100diff --git a/tests/util/pattern.c b/tests/util/pattern.c
101index 158c0b1..e29d160 100644
102--- a/tests/util/pattern.c
103+++ b/tests/util/pattern.c
104@@ -260,6 +260,432 @@ static void fill_smpte_yuv_planar(const struct util_yuv_info *yuv,
105 } 101 }
106 } 102 }
107 103
@@ -534,8 +530,8 @@ index 158c0b1..e29d160 100644
534 static void fill_smpte_yuv_packed(const struct util_yuv_info *yuv, void *mem, 530 static void fill_smpte_yuv_packed(const struct util_yuv_info *yuv, void *mem,
535 unsigned int width, unsigned int height, 531 unsigned int width, unsigned int height,
536 unsigned int stride) 532 unsigned int stride)
537@@ -678,9 +1104,10 @@ void util_smpte_c8_gamma(unsigned size, struct drm_color_lut *lut) 533@@ -1188,9 +1614,10 @@ void util_smpte_fill_lut(unsigned int nc
538 #undef FILL_COLOR 534 memcpy(lut, smpte_color_lut, sizeof(smpte_color_lut));
539 } 535 }
540 536
541-static void fill_smpte(const struct util_format_info *info, void *planes[3], 537-static void fill_smpte(const struct util_format_info *info, void *planes[3],
@@ -548,7 +544,7 @@ index 158c0b1..e29d160 100644
548 { 544 {
549 unsigned char *u, *v; 545 unsigned char *u, *v;
550 546
551@@ -693,7 +1120,12 @@ static void fill_smpte(const struct util_format_info *info, void *planes[3], 547@@ -1209,7 +1636,12 @@ static void fill_smpte(const struct util
552 case DRM_FORMAT_YVYU: 548 case DRM_FORMAT_YVYU:
553 return fill_smpte_yuv_packed(&info->yuv, planes[0], width, 549 return fill_smpte_yuv_packed(&info->yuv, planes[0], width,
554 height, stride); 550 height, stride);
@@ -562,7 +558,7 @@ index 158c0b1..e29d160 100644
562 case DRM_FORMAT_NV12: 558 case DRM_FORMAT_NV12:
563 case DRM_FORMAT_NV21: 559 case DRM_FORMAT_NV21:
564 case DRM_FORMAT_NV16: 560 case DRM_FORMAT_NV16:
565@@ -1005,9 +1437,10 @@ static void fill_tiles_rgb16fp(const struct util_format_info *info, void *mem, 561@@ -1614,9 +2046,10 @@ static void fill_tiles_rgb16fp(const str
566 } 562 }
567 } 563 }
568 564
@@ -576,7 +572,7 @@ index 158c0b1..e29d160 100644
576 { 572 {
577 unsigned char *u, *v; 573 unsigned char *u, *v;
578 574
579@@ -1036,6 +1469,14 @@ static void fill_tiles(const struct util_format_info *info, void *planes[3], 575@@ -1653,6 +2086,14 @@ static void fill_tiles(const struct util
580 return fill_tiles_yuv_planar(info, planes[0], planes[2], 576 return fill_tiles_yuv_planar(info, planes[0], planes[2],
581 planes[1], width, height, stride); 577 planes[1], width, height, stride);
582 578
@@ -591,6 +587,16 @@ index 158c0b1..e29d160 100644
591 case DRM_FORMAT_ARGB4444: 587 case DRM_FORMAT_ARGB4444:
592 case DRM_FORMAT_XRGB4444: 588 case DRM_FORMAT_XRGB4444:
593 case DRM_FORMAT_ABGR4444: 589 case DRM_FORMAT_ABGR4444:
594-- 590Index: libdrm-2.4.118/tests/util/format.c
5952.7.4 591===================================================================
596 592--- libdrm-2.4.118.orig/tests/util/format.c
593+++ libdrm-2.4.118/tests/util/format.c
594@@ -59,6 +59,8 @@ static const struct util_format_info for
595 { DRM_FORMAT_NV15, "NV15", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 2) },
596 { DRM_FORMAT_NV20, "NV20", MAKE_YUV_INFO(YUV_YCbCr, 2, 1, 2) },
597 { DRM_FORMAT_NV30, "NV30", MAKE_YUV_INFO(YUV_YCbCr, 1, 1, 2) },
598+ { DRM_FORMAT_XV15, "XV15", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 2) },
599+ { DRM_FORMAT_XV20, "XV20", MAKE_YUV_INFO(YUV_YCbCr, 2, 1, 2) },
600 /* YUV planar */
601 { DRM_FORMAT_YUV420, "YU12", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 1) },
602 { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) },
diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch b/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch
index 3868c212..b385bbac 100644
--- a/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch
+++ b/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch
@@ -6,6 +6,8 @@ Subject: [PATCH 4/5] modetest: fix smpte colour pattern issue for XV20 and
6 6
7Fix smpte colour issue for XV15 and XV20 formats. 7Fix smpte colour issue for XV15 and XV20 formats.
8 8
9Upstream-Status: Pending
10
9Signed-off-by: Anil Kumar M <amamidal@xilinx.com> 11Signed-off-by: Anil Kumar M <amamidal@xilinx.com>
10--- 12---
11 tests/util/pattern.c | 8 ++++---- 13 tests/util/pattern.c | 8 ++++----
diff --git a/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend b/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend
index 4dd49264..c2f6c8d2 100644
--- a/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend
+++ b/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend
@@ -3,9 +3,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
3 3
4SRC_URI:append = " \ 4SRC_URI:append = " \
5 file://0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch \ 5 file://0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch \
6 file://0002-modetest-call-drmModeCrtcSetGamma-only-if-add_proper.patch \
7 file://0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch \ 6 file://0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch \
8 file://0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch \ 7 file://0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch \
9 file://0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch \ 8 file://0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch \
10 file://0001-headers-Sync-with-HDR-from-v5.15.patch \
11" 9"
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.bb
new file mode 100644
index 00000000..e8e46543
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2022.1.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_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-graphics/mali/kernel-module-mali.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2024.1.bb
index 3fffb310..72bd7759 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_2024.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 \
@@ -44,7 +45,7 @@ inherit features_check module
44 45
45PARALLEL_MAKE = "-j 1" 46PARALLEL_MAKE = "-j 1"
46 47
47S = "${WORKDIR}/DX910-SW-99002-${PV}/driver/src/devicedrv/mali" 48S = "${WORKDIR}/DX910-SW-99002-${MALI_VERSION}/driver/src/devicedrv/mali"
48 49
49REQUIRED_MACHINE_FEATURES = "mali400" 50REQUIRED_MACHINE_FEATURES = "mali400"
50 51
diff --git a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch b/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
index 97f51f03..f77f1939 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
@@ -2,26 +2,30 @@ DRI: Add xlnx dri
2 2
3Add the Xilinx dri target 3Add the Xilinx dri target
4 4
5Upstream-Status: Pending
6
5Signed-off-by: Mark Hatle <mark.hatle@amd.com> 7Signed-off-by: Mark Hatle <mark.hatle@amd.com>
6 8
7diff -ur mesa-22.2.0.orig/src/gallium/targets/dri/meson.build mesa-22.2.0/src/gallium/targets/dri/meson.build 9Index: mesa-24.0.1/src/gallium/targets/dri/meson.build
8--- mesa-22.2.0.orig/src/gallium/targets/dri/meson.build 2022-10-24 20:17:33.977241901 -0700 10===================================================================
9+++ mesa-22.2.0/src/gallium/targets/dri/meson.build 2022-10-24 20:19:03.217237410 -0700 11--- mesa-24.0.1.orig/src/gallium/targets/dri/meson.build
10@@ -92,6 +92,7 @@ 12+++ mesa-24.0.1/src/gallium/targets/dri/meson.build
11 'st7735r_dri.so', 13@@ -101,6 +101,7 @@ foreach d : [[with_gallium_kmsro, [
12 'stm_dri.so', 14 'stm_dri.so',
13 'sun4i-drm_dri.so', 15 'sun4i-drm_dri.so',
14+ 'xlnx_dri.so', 16 'udl_dri.so',
17+ 'xlnx_dri.so',
15 ]], 18 ]],
16 [with_gallium_radeonsi, 'radeonsi_dri.so'], 19 [with_gallium_radeonsi, 'radeonsi_dri.so'],
17 [with_gallium_nouveau, 'nouveau_dri.so'], 20 [with_gallium_nouveau, 'nouveau_dri.so'],
18diff -ur mesa-22.2.0.orig/src/gallium/targets/dri/target.c mesa-22.2.0/src/gallium/targets/dri/target.c 21Index: mesa-24.0.1/src/gallium/targets/dri/target.c
19--- mesa-22.2.0.orig/src/gallium/targets/dri/target.c 2022-10-24 20:17:33.977241901 -0700 22===================================================================
20+++ mesa-22.2.0/src/gallium/targets/dri/target.c 2022-10-24 20:19:59.833234561 -0700 23--- mesa-24.0.1.orig/src/gallium/targets/dri/target.c
21@@ -118,6 +118,7 @@ 24+++ mesa-24.0.1/src/gallium/targets/dri/target.c
22 DEFINE_LOADER_DRM_ENTRYPOINT(st7735r) 25@@ -129,6 +129,7 @@ DEFINE_LOADER_DRM_ENTRYPOINT(sti)
23 DEFINE_LOADER_DRM_ENTRYPOINT(stm) 26 DEFINE_LOADER_DRM_ENTRYPOINT(stm)
24 DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm) 27 DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm)
28 DEFINE_LOADER_DRM_ENTRYPOINT(udl)
25+DEFINE_LOADER_DRM_ENTRYPOINT(xlnx) 29+DEFINE_LOADER_DRM_ENTRYPOINT(xlnx)
26 #endif 30 #endif
27 31
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
index fc2108e1..fdb30564 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
@@ -8,7 +8,7 @@ Although the macro definitions are consistent, using the macros name
8defined under khronos makes it backward compatible with older eglext.h 8defined under khronos makes it backward compatible with older eglext.h
9 9
10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> 10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
11upstream-status: Inappropriate [Xilinx specific] 11Upstream-Status: Inappropriate [Xilinx specific]
12Signed-off-by: Mark Hatle <mark.hatle@amd.com> 12Signed-off-by: Mark Hatle <mark.hatle@amd.com>
13--- 13---
14 src/egl/opengl/eglinfo.c | 6 +++--- 14 src/egl/opengl/eglinfo.c | 6 +++---
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-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
index 4453b63e..7212ef27 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
@@ -8,7 +8,7 @@ Compiling against the other EGL provider like mali fails, as they dont
8support this macro as one of thier supported platforms 8support this macro as one of thier supported platforms
9 9
10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> 10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
11upstream-status: Inappropritate [Xilinx specific] 11Upstream-Status: Inappropriate [Xilinx specific]
12Signed-off-by: Mark Hatle <mark.hatle@amd.com> 12Signed-off-by: Mark Hatle <mark.hatle@amd.com>
13--- 13---
14 src/egl/opengl/eglinfo.c | 4 ++++ 14 src/egl/opengl/eglinfo.c | 4 ++++
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
index 19248bb3..6cfecb38 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
@@ -1,3 +1,5 @@
1Upstream-Status: Inappropriate [libmali specific]
2
1Index: mesa-demos-8.5.0/src/egl/opengl/eglinfo.c 3Index: mesa-demos-8.5.0/src/egl/opengl/eglinfo.c
2=================================================================== 4===================================================================
3--- mesa-demos-8.5.0.orig/src/egl/opengl/eglinfo.c 5--- mesa-demos-8.5.0.orig/src/egl/opengl/eglinfo.c
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend
index d148e679..86183f54 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,5 +1,5 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 1FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
2SRC_URI += "file://0001-DRI_Add_xlnx_dri.patch" 2SRC_URI:append:class-target = " file://0001-DRI_Add_xlnx_dri.patch"
3 3
4# This is not compatible with the mali400 driver, use mesa-gl instead 4# This is not compatible with the mali400 driver, use mesa-gl instead
5CONFLICT_DISTRO_FEATURES:class-target = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', bb.utils.contains('DISTRO_FEATURES', 'libmali', 'libmali', '', d), '', d)}" 5CONFLICT_DISTRO_FEATURES:class-target = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', bb.utils.contains('DISTRO_FEATURES', 'libmali', 'libmali', '', d), '', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
index 33d33b0f..de1f3719 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
+++ b/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
@@ -7,23 +7,24 @@ Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same
7as opaque substitute. 7as opaque substitute.
8 8
9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> 9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
10Upstream-Status : Inappropriate [Xilinx specific] 10Upstream-Status: Inappropriate [Xilinx specific]
11
12Reworked the patch for the newer weston
13
14Signed-off-by: Mark Hatle <mark.hatle@amd.com>
11--- 15---
12 libweston/pixel-formats.c | 1 - 16 libweston/pixel-formats.c | 1 -
13 1 file changed, 1 deletion(-) 17 1 file changed, 1 deletion(-)
14 18
15diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c 19Index: weston-13.0.0/libweston/pixel-formats.c
16index 79dc709..ec2d3b7 100644 20===================================================================
17--- a/libweston/pixel-formats.c 21--- weston-13.0.0.orig/libweston/pixel-formats.c
18+++ b/libweston/pixel-formats.c 22+++ weston-13.0.0/libweston/pixel-formats.c
19@@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = { 23@@ -251,7 +251,6 @@ static const struct pixel_format_info pi
20 { 24 {
21 DRM_FORMAT(ARGB8888), 25 DRM_FORMAT(ARGB8888),
22 BITS_RGBA_FIXED(8, 8, 8, 8), 26 BITS_RGBA_FIXED(8, 8, 8, 8),
23- .opaque_substitute = DRM_FORMAT_XRGB8888, 27- .opaque_substitute = DRM_FORMAT_XRGB8888,
24 .depth = 32, 28 .addfb_legacy_depth = 32,
25 .bpp = 32, 29 .bpp = 32,
26 GL_FORMAT(GL_BGRA_EXT), 30 GL_INTERNALFORMAT(GL_RGBA8),
27--
282.17.1
29
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
new file mode 100644
index 00000000..6b5f53b0
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
@@ -0,0 +1,29 @@
1From 3fbb596e53524e78703b76c4fdc33cd6ac62f777 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Fri, 11 Dec 2020 16:21:38 -0800
4Subject: [PATCH] libweston: Remove substitute format for ARGB8888
5
6Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same
7as opaque substitute.
8
9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
10Upstream-Status: Inappropriate [Xilinx specific]
11---
12 libweston/pixel-formats.c | 1 -
13 1 file changed, 1 deletion(-)
14
15diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c
16index 79dc709..ec2d3b7 100644
17--- a/libweston/pixel-formats.c
18+++ b/libweston/pixel-formats.c
19@@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = {
20 {
21 DRM_FORMAT(ARGB8888),
22 BITS_RGBA_FIXED(8, 8, 8, 8),
23- .opaque_substitute = DRM_FORMAT_XRGB8888,
24 .depth = 32,
25 .bpp = 32,
26 GL_FORMAT(GL_BGRA_EXT),
27--
282.17.1
29
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_%.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston.inc
index ca77f0d3..fadc9486 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston_%.bbappend
+++ b/meta-xilinx-core/recipes-graphics/wayland/weston.inc
@@ -1,5 +1,3 @@
1FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files:"
2
3SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch" 1SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch"
4 2
5# Due to the SRC_URI zynqmp specific change, this needs to be SOC_FAMILY_ARCH specific 3# Due to the SRC_URI zynqmp specific change, this needs to be SOC_FAMILY_ARCH specific
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend
index 18396c5e..3ee9cafa 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend
+++ b/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend
@@ -1,8 +1,12 @@
1FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files:"
2
3require weston.inc
4
1ZYNQMP_WARN_DEFAULT = "0" 5ZYNQMP_WARN_DEFAULT = "0"
2ZYNQMP_WARN_DEFAULT:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '0', d)}" 6ZYNQMP_WARN_DEFAULT:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '0', d)}"
3ZYNQMP_WARN = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', '${ZYNQMP_WARN_DEFAULT}', '0', d)}" 7ZYNQMP_WARN = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', '${ZYNQMP_WARN_DEFAULT}', '0', d)}"
4 8
5python() { 9python() {
6 if d.getVar('ZYNQMP_WARN') == "1": 10 if d.getVar('ZYNQMP_WARN') == "1":
7 raise bb.parse.SkipRecipe("Weston 10.0.0.2 requires GLES 3 interfaces which are not available when libmali enabled. Use Weston 9.0.0.0 instead.") 11 raise bb.parse.SkipRecipe("Weston %s requires GLES 3 interfaces which are not available when libmali enabled. Use Weston 9.0.0.0 instead." % (d.getVar('PV')))
8} 12}
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend
new file mode 100644
index 00000000..80512ac3
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend
@@ -0,0 +1,3 @@
1FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files/9.0.0:${THISDIR}/files:"
2
3require weston.inc
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 7486200d..460ff581 100644
--- a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -17,7 +17,7 @@ do_install:append() {
17 install -m 0755 ${WORKDIR}/monitor-hotplug.sh ${D}${bindir} 17 install -m 0755 ${WORKDIR}/monitor-hotplug.sh ${D}${bindir}
18 18
19 install -d ${D}${sysconfdir}/udev/rules.d 19 install -d ${D}${sysconfdir}/udev/rules.d
20 install -m 0644 ${WORKDIR}/99-monitor-hotplug.rules ${D}${sysconfdir}/udev/rules.d/local.rules 20 install -m 0644 ${WORKDIR}/99-monitor-hotplug.rules ${D}${sysconfdir}/udev/rules.d/99-monitor-hotplug.rules
21} 21}
22 22
23FILES:${PN} += "${sysconfdir}/udev/rules.d/*" 23FILES:${PN} += "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb
new file mode 100644
index 00000000..dda6ec31
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.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.2"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "c57b2ce95ee6c86f35caecbc7007644ff8f6d337"
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.2.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb
new file mode 100644
index 00000000..c1f66013
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.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.19"
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.2"
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/mb-no-tree-loop-distribute-patterns.patch b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch
new file mode 100644
index 00000000..5a4d203d
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch
@@ -0,0 +1,47 @@
1Disable tree-loop-distribute-patterns CFLAG
2
3Issue: CR-1086247
4
5GCC 10.2.0 added -ftree-loop-distribute-patterns by default with -O2. This
6is causing a condition where the kernel will no longer boot.
7
8This is a temporary workaround until we can identify the true cause of
9the boot failure.
10
11Symtoms:
12
13earlycon: uartlite_a0 at MMIO 0x40600000 (options '115200n8')
14printk: bootconsole [uartlite_a0] enabled
15cma: Reserved 16 MiB at 0xaec00000
16Linux version 5.10.0-xilinx-v2020.2 (oe-user@oe-host) (microblazeel-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.20200730) #1 Mon Mar 1 12:58:36 UTC 2021
17setup_memory: max_mapnr: 0x40000
18setup_memory: min_low_pfn: 0x80000
19setup_memory: max_low_pfn: 0xb0000
20setup_memory: max_pfn: 0xc0000
21Zone ranges:
22 DMA [mem 0x0000000080000000-0x00000000afffffff]
23 Normal empty
24 HighMem [mem 0x00000000b0000000-0x00000000bfffffff]
25Movable zone start for each node
26Early memory node ranges
27 node 0: [mem 0x0000000080000000-0x00000000bfffffff]
28Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
29<hang>
30
31Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
32
33diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile
34index bb980891816d..e368c35ad21c 100644
35--- a/arch/microblaze/Makefile
36+++ b/arch/microblaze/Makefile
37@@ -48,6 +48,10 @@ CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
38 # r31 holds current when in kernel mode
39 KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2)
40
41+# GCC 10.x now has -ftree-loop-distribute-patterns by default in -O2
42+# This causes a boot failure, so disable it
43+KBUILD_CFLAGS += -fno-tree-loop-distribute-patterns
44+
45 head-y := arch/microblaze/kernel/head.o
46 libs-y += arch/microblaze/lib/
47 core-y += arch/microblaze/kernel/
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb
new file mode 100644
index 00000000..41c1ffe2
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb
@@ -0,0 +1,9 @@
1LINUX_VERSION = "5.15.19"
2KBRANCH="xlnx_rebase_v5.15_LTS_2022.1_update"
3SRCREV = "75872fda9ad270b611ee6ae2433492da1e22b688"
4
5KCONF_AUDIT_LEVEL="0"
6
7include linux-xlnx.inc
8
9FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb
new file mode 100644
index 00000000..260224b8
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb
@@ -0,0 +1,9 @@
1LINUX_VERSION = "5.15.36"
2KBRANCH="xlnx_rebase_v5.15_LTS"
3SRCREV = "19984dd147fa7fbb7cb14b17400263ad0925c189"
4
5KCONF_AUDIT_LEVEL="0"
6
7include linux-xlnx.inc
8
9FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch
index 1a89c44c..c7777360 100644
--- a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch
+++ b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] default.pai.in: disable tsched (system-timer based model)
6With tsched enabled we see clicking noise on DisplayPort for initial 5 sec 6With tsched enabled we see clicking noise on DisplayPort for initial 5 sec
7every time audio is played. Disabling the same fixes the issue. 7every time audio is played. Disabling the same fixes the issue.
8 8
9Upstream-Status: Inappropriate [disable feature]
10
9Signed-off-by: Rohit Visavalia <rohit.visavalia@xilinx.com> 11Signed-off-by: Rohit Visavalia <rohit.visavalia@xilinx.com>
10--- 12---
11 src/daemon/default.pa.in | 2 +- 13 src/daemon/default.pa.in | 2 +-
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch
new file mode 100644
index 00000000..defe14dc
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch
@@ -0,0 +1,55 @@
1From 2316632e8f3eefc21bc4f9cb97be4603b4c14719 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 28 Sep 2023 12:24:04 -0600
4Subject: [PATCH] Current gcc requires cstdint for C types
5
6Add #include <cstdint> to resolve the issues similar to the following:
7
8 module/module_structs.h:259:3: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
9 module/module_structs.h:260:3: error: 'uint16_t' does not name a type
10
11Signed-off-by: Mark Hatle <mark.hatle@amd.com>
12---
13 exe_omx/encoder/EncCmdMngr.h | 1 +
14 module/module_structs.h | 1 +
15 utility/processor_fifo.h | 1 +
16 3 files changed, 3 insertions(+)
17
18diff --git a/exe_omx/encoder/EncCmdMngr.h b/exe_omx/encoder/EncCmdMngr.h
19index 6dacd68..cd3d0a6 100644
20--- a/exe_omx/encoder/EncCmdMngr.h
21+++ b/exe_omx/encoder/EncCmdMngr.h
22@@ -7,6 +7,7 @@
23 #include <iostream>
24 #include <string>
25 #include <vector>
26+#include <cstdint>
27
28 #include "ICommandsSender.h"
29
30diff --git a/module/module_structs.h b/module/module_structs.h
31index 7151b86..37ff8ac 100644
32--- a/module/module_structs.h
33+++ b/module/module_structs.h
34@@ -6,6 +6,7 @@
35 #include "module_enums.h"
36 #include <string>
37 #include <vector>
38+#include <cstdint>
39
40 template<typename T>
41 struct InputOutput
42diff --git a/utility/processor_fifo.h b/utility/processor_fifo.h
43index 1c62ba4..3c9cd86 100644
44--- a/utility/processor_fifo.h
45+++ b/utility/processor_fifo.h
46@@ -6,6 +6,7 @@
47 #include <utility/locked_queue.h>
48 #include <thread>
49 #include <functional>
50+#include <string>
51
52 #if defined __linux__
53 #include <sys/prctl.h>
54--
552.34.1
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch
new file mode 100644
index 00000000..788edd03
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch
@@ -0,0 +1,52 @@
1From b58c0a7dd0eeb16b2251edfad3b4763ce5653ea2 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 28 Sep 2023 12:04:34 -0600
4Subject: [PATCH] Support updated gcc, add cstdint where necessary
5
6With the latest gcc, cstdint is now needs to be explicitly included, otherwise
7errors similar to the following will occur:
8
9 include/lib_app/Parser.h:413:36: error: 'uint32_t' has not been declared
10 413 | static void resetFlag(T* bitfield, uint32_t uFlag)
11 | ^~~~~~~~
12 include/lib_app/Parser.h: In function 'void resetFlag(T*, int)':
13 include/lib_app/Parser.h:415:20: error: 'uint32_t' was not declared in this scope
14 415 | *bitfield = (T)((uint32_t)*bitfield & ~uFlag);
15 | ^~~~~~~~
16 include/lib_app/Parser.h:18:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
17 17 | #include <iomanip>
18 +++ |+#include <cstdint>
19 18 |
20
21Signed-off-by: Mark Hatle <mark.hatle@amd.com>
22---
23 exe_encoder/EncCmdMngr.h | 1 +
24 include/lib_app/Parser.h | 1 +
25 2 files changed, 2 insertions(+)
26
27diff --git a/exe_encoder/EncCmdMngr.h b/exe_encoder/EncCmdMngr.h
28index 6dacd68..cd3d0a6 100644
29--- a/exe_encoder/EncCmdMngr.h
30+++ b/exe_encoder/EncCmdMngr.h
31@@ -7,6 +7,7 @@
32 #include <iostream>
33 #include <string>
34 #include <vector>
35+#include <cstdint>
36
37 #include "ICommandsSender.h"
38
39diff --git a/include/lib_app/Parser.h b/include/lib_app/Parser.h
40index efb7f94..66d5164 100644
41--- a/include/lib_app/Parser.h
42+++ b/include/lib_app/Parser.h
43@@ -15,6 +15,7 @@
44 #include <sstream>
45 #include <vector>
46 #include <iomanip>
47+#include <cstdint>
48
49 std::deque<Token> toReversePolish(std::deque<Token>& tokens);
50 std::string parseString(std::deque<Token>& tokens);
51--
522.34.1
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb
new file mode 100644
index 00000000..7ef1d5fd
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VCU_VERSION = "1.0.0"
8PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
13
14BRANCH = "xlnx_rel_v2022.1"
15REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
16SRCREV = "9d2657550eccebccce08cacfcdd369367b9f6be4"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = " \
20 ${REPO};${BRANCHARG} \
21 file://99-vcu-enc-dec.rules \
22 "
23
24inherit module features_check
25
26REQUIRED_MACHINE_FEATURES = "vcu"
27
28EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
29
30RDEPENDS:${PN} = "vcu-firmware"
31
32KERNEL_MODULE_AUTOLOAD += "dmaproxy"
33
34do_install:append() {
35 install -d ${D}${sysconfdir}/udev/rules.d
36 install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
37}
38
39FILES:${PN} = "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb
new file mode 100644
index 00000000..b1c96d3c
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VCU_VERSION = "1.0.0"
8PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
13
14BRANCH = "xlnx_rel_v2022.2"
15REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
16SRCREV = "b131e220285e06658b6ab27f9e19b1c592a55f3a"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = " \
20 ${REPO};${BRANCHARG} \
21 file://99-vcu-enc-dec.rules \
22 "
23
24inherit module features_check
25
26REQUIRED_MACHINE_FEATURES = "vcu"
27
28EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
29
30RDEPENDS:${PN} = "vcu-firmware"
31
32KERNEL_MODULE_AUTOLOAD += "dmaproxy"
33
34do_install:append() {
35 install -d ${D}${sysconfdir}/udev/rules.d
36 install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
37}
38
39FILES:${PN} = "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb
new file mode 100644
index 00000000..47c521c4
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb
@@ -0,0 +1,51 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.1"
10REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
11SRCREV = "b3308c608be7ed9250b9c6732f6e0a02b1a2e985"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24DEPENDS = "libvcu-xlnx"
25RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx"
26
27EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
28
29EXTRA_OEMAKE = " \
30 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
31 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
32 "
33
34do_install() {
35 install -d ${D}${libdir}
36 install -d ${D}${includedir}/vcu-omx-il
37
38 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
39
40 install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder
41 install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder
42
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
44 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
45 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
46}
47
48# These libraries shouldn't get installed in world builds unless something
49# explicitly depends upon them.
50
51EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb
new file mode 100644
index 00000000..c5b956bc
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb
@@ -0,0 +1,50 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.2"
10REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
11SRCREV = "6752f5da88a8783f689ae762065295b89902d6d4"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_MACHINE = "^$"
19COMPATIBLE_MACHINE:zynqmp = "zynqmp"
20
21PACKAGE_ARCH = "${MACHINE_ARCH}"
22
23DEPENDS = "libvcu-xlnx"
24RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx"
25
26EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
27
28EXTRA_OEMAKE = " \
29 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
30 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
31 "
32
33do_install() {
34 install -d ${D}${libdir}
35 install -d ${D}${includedir}/vcu-omx-il
36
37 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
38
39 install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder
40 install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder
41
42 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
44 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
45}
46
47# These libraries shouldn't get installed in world builds unless something
48# explicitly depends upon them.
49
50EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
index 3c258008..75a05fed 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
@@ -13,6 +13,8 @@ SRCREV = "4773b372b72b88ccbabc122b023f042fb22a019e"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16SRC_URI += "file://0001-Current-gcc-requires-cstdint-for-C-types.patch"
17
16S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
17 19
18inherit features_check 20inherit features_check
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb
index 2c77e2b4..0c215605 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb
@@ -13,6 +13,8 @@ SRCREV = "3a04b5adc661a0eced626c1373dbbfe699ae6fe0"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16SRC_URI += "file://0001-Current-gcc-requires-cstdint-for-C-types.patch"
17
16S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
17 19
18inherit features_check 20inherit features_check
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb
new file mode 100644
index 00000000..71e6e572
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb
@@ -0,0 +1,46 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.1"
10REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
11SRCREV = "5bf158af204b181f00ac009c8745557642ecfe5f"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24RDEPENDS:${PN} = "kernel-module-vcu"
25
26EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
27
28do_install() {
29 install -d ${D}${libdir}
30 install -d ${D}${includedir}/vcu-ctrl-sw/include
31
32 install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder
33 install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder
34
35 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
36 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
37 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
38}
39
40# These libraries shouldn't get installed in world builds unless something
41# explicitly depends upon them.
42
43EXCLUDE_FROM_WORLD = "1"
44
45# Disable buildpaths QA check warnings.
46INSANE_SKIP:${PN} += "buildpaths"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb
new file mode 100644
index 00000000..130d79bc
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb
@@ -0,0 +1,46 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.2"
10REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
11SRCREV = "3c59dede1923a159a8db736ce0b4ab55633a2114"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24RDEPENDS:${PN} = "kernel-module-vcu"
25
26EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
27
28do_install() {
29 install -d ${D}${libdir}
30 install -d ${D}${includedir}/vcu-ctrl-sw/include
31
32 install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder
33 install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder
34
35 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
36 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
37 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
38}
39
40# These libraries shouldn't get installed in world builds unless something
41# explicitly depends upon them.
42
43EXCLUDE_FROM_WORLD = "1"
44
45# Disable buildpaths QA check warnings.
46INSANE_SKIP:${PN} += "buildpaths"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
index 7dc97d72..53a03f45 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
@@ -13,6 +13,8 @@ SRCREV = "83aabb84c26667f7d6aee632654c63e504838061"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16SRC_URI += "file://0001-Support-updated-gcc-add-cstdint-where-necessary.patch"
17
16S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
17 19
18inherit features_check 20inherit features_check
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb
index e6d38a4a..a2c7d98c 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb
@@ -13,6 +13,8 @@ SRCREV = "84b0856cad7844d69f57ac4d9447c20930875475"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16SRC_URI += "file://0001-Support-updated-gcc-add-cstdint-where-necessary.patch"
17
16S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
17 19
18inherit features_check 20inherit features_check
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb
new file mode 100644
index 00000000..c5c2b045
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb
@@ -0,0 +1,40 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11BRANCH ?= "xlnx_rel_v2022.1"
12REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
13SRCREV = "569f980527fd58f43baf16bd0b294bf8c7cdf963"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24do_install() {
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
27 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
28 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
29}
30
31# Inhibit warnings about files being stripped
32INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
33INHIBIT_PACKAGE_STRIP = "1"
34FILES:${PN} = "/lib/firmware/*"
35
36# These libraries shouldn't get installed in world builds unless something
37# explicitly depends upon them.
38EXCLUDE_FROM_WORLD = "1"
39
40INSANE_SKIP:${PN} = "ldflags"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb
new file mode 100644
index 00000000..594a94c3
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb
@@ -0,0 +1,40 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11BRANCH ?= "xlnx_rel_v2022.2"
12REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
13SRCREV = "3980c778d71fa51a15e89bf70fd8fb28d5cb12e0"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24do_install() {
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
27 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
28 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
29}
30
31# Inhibit warnings about files being stripped
32INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
33INHIBIT_PACKAGE_STRIP = "1"
34FILES:${PN} = "/lib/firmware/*"
35
36# These libraries shouldn't get installed in world builds unless something
37# explicitly depends upon them.
38EXCLUDE_FROM_WORLD = "1"
39
40INSANE_SKIP:${PN} = "ldflags"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
index 50e7926d..a90d307f 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
@@ -20,16 +20,16 @@ inherit features_check
20REQUIRED_MACHINE_FEATURES = "vcu" 20REQUIRED_MACHINE_FEATURES = "vcu"
21 21
22do_install() { 22do_install() {
23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw 23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw
24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw 24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw 25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw 26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw
27} 27}
28 28
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33 33
34# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb
index b4cb66df..73fc2201 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb
@@ -20,16 +20,16 @@ inherit features_check
20REQUIRED_MACHINE_FEATURES = "vcu" 20REQUIRED_MACHINE_FEATURES = "vcu"
21 21
22do_install() { 22do_install() {
23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw 23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw
24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw 24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw 25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw 26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw
27} 27}
28 28
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33 33
34# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb
index 69c4d7ef..3ec61a96 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb
@@ -20,16 +20,16 @@ inherit features_check
20REQUIRED_MACHINE_FEATURES = "vcu" 20REQUIRED_MACHINE_FEATURES = "vcu"
21 21
22do_install() { 22do_install() {
23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw 23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw
24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw 24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw 25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw 26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw
27} 27}
28 28
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33 33
34# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch
new file mode 100644
index 00000000..04d59c60
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch
@@ -0,0 +1,27 @@
1From 79eddc5c5474c9b61bf6b2e648eba8bca61469b9 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 25 Jan 2024 12:30:24 -0700
4Subject: [PATCH] include/libapp/Parser.h: Add cstdint
5
6Resolves usages of unit32_t being undefined
7
8Signed-off-by: Mark Hatle <mark.hatle@amd.com>
9---
10 include/lib_app/Parser.h | 1 +
11 1 file changed, 1 insertion(+)
12
13diff --git a/include/lib_app/Parser.h b/include/lib_app/Parser.h
14index 976a835..6fa63ce 100644
15--- a/include/lib_app/Parser.h
16+++ b/include/lib_app/Parser.h
17@@ -35,6 +35,7 @@
18 #include <sstream>
19 #include <vector>
20 #include <iomanip>
21+#include <cstdint>
22
23 std::deque<Token> toReversePolish(std::deque<Token>& tokens);
24 std::string parseString(std::deque<Token>& tokens);
25--
262.34.1
27
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch
new file mode 100644
index 00000000..db23ed00
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch
@@ -0,0 +1,54 @@
1From 7fc63cdd6642ea84b78db62fccafc460af0ff23e Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 25 Jan 2024 12:50:18 -0700
4Subject: [PATCH] Fix missing definitions
5
6Fix issues such as:
7| module/module_structs.h:370:3: error: 'uint8_t' does not name a type
8| 370 | uint8_t distributionMaxrgbPercentages[MAX_MAXRGB_PERCENTILES_ST2094_40];
9| | ^~~~~~~
10| module/module_structs.h:370:3: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
11| module/module_structs.h:371:3: error: 'uint32_t' does not name a type
12| 371 | uint32_t distributionMaxrgbPercentiles[MAX_MAXRGB_PERCENTILES_ST2094_40];
13| | ^~~~~~~~
14| module/module_structs.h:371:3: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
15
16and
17
18| ./utility/processor_fifo.h:80:15: error: field 'name_' has incomplete type 'std::string' {aka 'std::__cxx11::basic_string<char>'}
19| 80 | std::string name_;
20| | ^~~~~
21
22Signed-off-by: Mark Hatle <mark.hatle@amd.com>
23---
24 module/module_structs.h | 1 +
25 utility/processor_fifo.h | 1 +
26 2 files changed, 2 insertions(+)
27
28diff --git a/module/module_structs.h b/module/module_structs.h
29index 75bdff6..594076f 100644
30--- a/module/module_structs.h
31+++ b/module/module_structs.h
32@@ -27,6 +27,7 @@
33 #include "module_enums.h"
34 #include <string>
35 #include <vector>
36+#include <cstdint>
37
38 template<typename T>
39 struct InputOutput
40diff --git a/utility/processor_fifo.h b/utility/processor_fifo.h
41index e0dd47c..f047267 100644
42--- a/utility/processor_fifo.h
43+++ b/utility/processor_fifo.h
44@@ -27,6 +27,7 @@
45 #include <utility/locked_queue.h>
46 #include <thread>
47 #include <functional>
48+#include <string>
49
50 #if defined __linux__
51 #include <sys/prctl.h>
52--
532.34.1
54
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
index f42cf0ed..c553d99b 100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
@@ -16,7 +16,9 @@ REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https"
16SRCREV ?= "06fc18b303b40d4fee7549ad162c22ee1bc31582" 16SRCREV ?= "06fc18b303b40d4fee7549ad162c22ee1bc31582"
17 17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = "${REPO};${BRANCHARG}" 19SRC_URI = "${REPO};${BRANCHARG} \
20 file://0001-include-libapp-Parser.h-Add-cstdint.patch \
21 "
20 22
21S = "${WORKDIR}/git" 23S = "${WORKDIR}/git"
22 24
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb
index 4dd742ac..5c47a81e 100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb
@@ -16,7 +16,9 @@ REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https"
16SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f" 16SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f"
17 17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = "${REPO};${BRANCHARG}" 19SRC_URI = "${REPO};${BRANCHARG} \
20 file://0001-include-libapp-Parser.h-Add-cstdint.patch \
21 "
20 22
21S = "${WORKDIR}/git" 23S = "${WORKDIR}/git"
22 24
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
index 282f4797..f501212d 100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
@@ -13,6 +13,7 @@ SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015"
13 13
14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
15SRC_URI = "${REPO};${BRANCHARG} \ 15SRC_URI = "${REPO};${BRANCHARG} \
16 file://0001-libvdu-omxil-Fix-missing-definitions.patch \
16 " 17 "
17S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
18 19
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb
index 03dc7071..fe66c20c 100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb
@@ -13,6 +13,7 @@ SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015"
13 13
14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
15SRC_URI = "${REPO};${BRANCHARG} \ 15SRC_URI = "${REPO};${BRANCHARG} \
16 file://0001-libvdu-omxil-Fix-missing-definitions.patch \
16 " 17 "
17S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
18 19
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 2fbc7be2..bdb4a7be 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
@@ -21,7 +21,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '
21SRC_URI = "${REPO};${BRANCHARG}" 21SRC_URI = "${REPO};${BRANCHARG}"
22 22
23PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" 23PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
24EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" 24EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware"
25 25
26do_compile[noexec] = "1" 26do_compile[noexec] = "1"
27do_install[dirs] = "${S}" 27do_install[dirs] = "${S}"
@@ -29,8 +29,7 @@ do_install[dirs] = "${S}"
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33
34 33
35# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
36# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb
index 08fb713a..b60b66c2 100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb
@@ -21,7 +21,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '
21SRC_URI = "${REPO};${BRANCHARG}" 21SRC_URI = "${REPO};${BRANCHARG}"
22 22
23PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" 23PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
24EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" 24EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware"
25 25
26do_compile[noexec] = "1" 26do_compile[noexec] = "1"
27do_install[dirs] = "${S}" 27do_install[dirs] = "${S}"
@@ -29,8 +29,7 @@ do_install[dirs] = "${S}"
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33
34 33
35# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
36# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb
index 147a80b6..378a23df 100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb
@@ -21,7 +21,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '
21SRC_URI = "${REPO};${BRANCHARG}" 21SRC_URI = "${REPO};${BRANCHARG}"
22 22
23PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" 23PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
24EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" 24EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware"
25 25
26do_compile[noexec] = "1" 26do_compile[noexec] = "1"
27do_install[dirs] = "${S}" 27do_install[dirs] = "${S}"
@@ -29,8 +29,7 @@ do_install[dirs] = "${S}"
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33
34 33
35# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
36# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch
new file mode 100644
index 00000000..b83c5ef7
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch
@@ -0,0 +1,32 @@
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
8Index: src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
9===================================================================
10--- a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
11+++ b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
12@@ -18,6 +18,7 @@
13
14 #include <string>
15 #include <vector>
16+#include <cstdint>
17
18 namespace adf
19 {
20Index: src/runtime_src/core/edge/user/zynq_dev.h
21===================================================================
22--- a/src/runtime_src/core/edge/user/zynq_dev.h
23+++ b/src/runtime_src/core/edge/user/zynq_dev.h
24@@ -19,6 +19,7 @@
25 #include <fstream>
26 #include <string>
27 #include <vector>
28+#include <cstdint>
29
30 class zynq_device {
31 public:
32
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb
index 48454538..5a617a5c 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb
@@ -3,6 +3,8 @@ DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3 3
4require xrt.inc 4require xrt.inc
5 5
6SRC_URI += "file://xrt-cstdint.patch;striplevel=2"
7
6LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" 8LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT"
7LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ 9LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \
8 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ 10 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \