summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2024-06-04 16:51:04 -0600
committerMark Hatle <mark.hatle@amd.com>2024-11-21 10:43:44 -0600
commit60f140e6b95aed0b459c9b35f5197dee5357eed5 (patch)
treeb21e58133cef5f4f6892674f4826b5661b16e4ce
parentb04309510fbe23af1ffa1f084b4b5866a4f177f2 (diff)
downloadmeta-xilinx-60f140e6b95aed0b459c9b35f5197dee5357eed5.tar.gz
various: Remove SOC_VARIANT, split versal and versal-net, add machine_features
SOC_VARIANT has been remove, we are now only using the YP standard SOC_FAMILY configuration. The defined families are: zynq, zynqmp, versal and versal-net. Our decision of breaking up versal-net from versal, is based on the SoC CPU changes from cortexa72/r5 to cortexa78/r52, thus we're treating it as a different SoC family. In order to capture the individual capabilities that we used to handle via SOC_VARIANT, we have defined the following features (some may have been previously defined): - mali400 (zynqmp eg and ev) - vcu (zynqmp ev) - rfsoc (zynqmp dr RF capabiltiies) - aie - (versal ai & premium) - vdu - (versal ai) SOC_VARIANT_ARCH and SOC_FAMILY_ARCH are now obsolete and replaced by MACHINE_ARCH. This is based on the guideline that any recipes that use MACHINE_FEATURES should be MACHINE_ARCH specific. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
-rw-r--r--meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf4
-rw-r--r--meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass12
-rw-r--r--meta-xilinx-core/conf/layer.conf2
-rw-r--r--meta-xilinx-core/conf/machine/README2
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-versal-net.inc26
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-versal.inc20
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-zynq.inc8
-rw-r--r--meta-xilinx-core/conf/machine/include/soc-zynqmp.inc26
-rw-r--r--meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc10
-rw-r--r--meta-xilinx-core/conf/machine/versal-ai-core-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/versal-hbm-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/versal-net-generic.conf98
-rw-r--r--meta-xilinx-core/conf/machine/versal-premium-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/versal-prime-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf2
-rw-r--r--meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf2
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend3
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend20
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend3
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend3
-rw-r--r--meta-xilinx-core/lib/devtool/boot-jtag.py30
-rw-r--r--meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb3
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb10
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb12
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb12
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb10
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb12
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb12
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc4
-rw-r--r--meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc1
-rw-r--r--meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb18
-rw-r--r--meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb1
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb14
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc2
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend1
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend5
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend1
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend1
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb1
-rw-r--r--meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb1
-rw-r--r--meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb1
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc3
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb1
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb1
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb1
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston.inc15
-rw-r--r--meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass27
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc1
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc1
64 files changed, 279 insertions, 190 deletions
diff --git a/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
index c3518577..a9dbe800 100644
--- a/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
@@ -3,9 +3,7 @@
3#@DESCRIPTION: Machine support for ZC1254 Evaluation Board. 3#@DESCRIPTION: Machine support for ZC1254 Evaluation Board.
4# 4#
5 5
6SOC_VARIANT = "dr" 6require conf/machine/zynqmp-dr-generic.conf
7
8require conf/machine/zynqmp-generic.conf
9 7
10# Add board compatibility override 8# Add board compatibility override
11MACHINEOVERRIDES .= ":zc1254" 9MACHINEOVERRIDES .= ":zc1254"
diff --git a/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass b/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass
index 5dc21efa..c021ea93 100644
--- a/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass
+++ b/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass
@@ -55,7 +55,7 @@ def qemu_add_extra_args(data):
55 # Add kernel image and boot.scr to qemu boot command when initramfs_image supplied 55 # Add kernel image and boot.scr to qemu boot command when initramfs_image supplied
56 kernel_name = '' 56 kernel_name = ''
57 bootscr_image = '%s/boot.scr' % deploy_dir 57 bootscr_image = '%s/boot.scr' % deploy_dir
58 if soc_family in ('zynqmp', 'versal'): 58 if soc_family in ('zynqmp', 'versal', 'versal-net'):
59 kernel_name = 'Image' 59 kernel_name = 'Image'
60 bootscr_loadaddr = '0x20000000' 60 bootscr_loadaddr = '0x20000000'
61 if initramfs_image: 61 if initramfs_image:
@@ -66,10 +66,10 @@ def qemu_add_extra_args(data):
66 if kernel_name: 66 if kernel_name:
67 qb_extra_args = ' -device loader,file=%s,addr=%s,force-raw=on' % (kernel_image, kernel_loadaddr) 67 qb_extra_args = ' -device loader,file=%s,addr=%s,force-raw=on' % (kernel_image, kernel_loadaddr)
68 qb_extra_args += ' -device loader,file=%s,addr=%s,force-raw=on' % (bootscr_image, bootscr_loadaddr) 68 qb_extra_args += ' -device loader,file=%s,addr=%s,force-raw=on' % (bootscr_image, bootscr_loadaddr)
69 if soc_family == 'versal': 69 if soc_family in ('versal', 'versal-net'):
70 qb_extra_args += ' %s' % boot_mode 70 qb_extra_args += ' %s' % boot_mode
71 else: 71 else:
72 if soc_family in ('zynqmp', 'versal'): 72 if soc_family in ('zynqmp', 'versal', 'versal-net'):
73 qb_extra_args = ' %s' % boot_mode 73 qb_extra_args = ' %s' % boot_mode
74 return qb_extra_args 74 return qb_extra_args
75 75
@@ -80,7 +80,6 @@ def qemu_rootfs_params(data, param):
80 tune_features = (data.getVar('TUNE_FEATURES') or []).split() 80 tune_features = (data.getVar('TUNE_FEATURES') or []).split()
81 if 'microblaze' in tune_features: 81 if 'microblaze' in tune_features:
82 soc_family = 'microblaze' 82 soc_family = 'microblaze'
83 soc_variant = data.getVar('SOC_VARIANT') or ""
84 83
85 if param == 'rootfs': 84 if param == 'rootfs':
86 return 'none' if bundle_image == "1" else '' 85 return 'none' if bundle_image == "1" else ''
@@ -90,7 +89,8 @@ def qemu_rootfs_params(data, param):
90 "microblaze": "cpio.gz", 89 "microblaze": "cpio.gz",
91 "zynq": "cpio.gz", 90 "zynq": "cpio.gz",
92 "zynqmp": "cpio.gz.u-boot", 91 "zynqmp": "cpio.gz.u-boot",
93 "versal": "cpio.gz.u-boot.qemu-sd-fatimg" 92 "versal": "cpio.gz.u-boot.qemu-sd-fatimg",
93 "versal-net": "cpio.gz.u-boot.qemu-sd-fatimg"
94 } 94 }
95 if not initramfs_image: 95 if not initramfs_image:
96 image_fs = data.getVar('IMAGE_FSTYPES') 96 image_fs = data.getVar('IMAGE_FSTYPES')
@@ -104,7 +104,7 @@ def qemu_rootfs_params(data, param):
104 sd_index = "1" 104 sd_index = "1"
105 if soc_family == 'zynq': 105 if soc_family == 'zynq':
106 sd_index = "0" 106 sd_index = "0"
107 if soc_family == 'versal' and soc_variant == 'net': 107 if soc_family == 'versal-net':
108 sd_index = "0" 108 sd_index = "0"
109 109
110 # Device is using a disk 110 # Device is using a disk
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf
index 349463bf..2aa0a1a1 100644
--- a/meta-xilinx-core/conf/layer.conf
+++ b/meta-xilinx-core/conf/layer.conf
@@ -44,7 +44,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
44 44
45XILINX_RELEASE_VERSION ??= "v2024.1" 45XILINX_RELEASE_VERSION ??= "v2024.1"
46 46
47BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" 47BUILDCFG_VARS:append = " XILINX_RELEASE_VERSION"
48 48
49DEFAULT_XILINX_QEMU = "qemu-xilinx" 49DEFAULT_XILINX_QEMU = "qemu-xilinx"
50DEFAULT_XILINX_QEMU:arm = "qemu" 50DEFAULT_XILINX_QEMU:arm = "qemu"
diff --git a/meta-xilinx-core/conf/machine/README b/meta-xilinx-core/conf/machine/README
index de8cf58d..f664a2f0 100644
--- a/meta-xilinx-core/conf/machine/README
+++ b/meta-xilinx-core/conf/machine/README
@@ -132,8 +132,6 @@ easiy make a local change, if allowed by the machine .conf:
132 132
133UBOOT_MACHINE - The defconfig for u-boot. (Note, this may be an error TBD). 133UBOOT_MACHINE - The defconfig for u-boot. (Note, this may be an error TBD).
134 134
135SOC_VARIANT - See include/soc-*.inc (Note, most machines this is fixed).
136
137 135
138The following variables must be set AFTER the 'require' line, using '=' 136The following variables must be set AFTER the 'require' line, using '='
139or '+='/'=+' as required. Using ':append', ':prepend', or ':remove' will 137or '+='/'=+' as required. Using ':append', ':prepend', or ':remove' will
diff --git a/meta-xilinx-core/conf/machine/include/soc-versal-net.inc b/meta-xilinx-core/conf/machine/include/soc-versal-net.inc
new file mode 100644
index 00000000..b59bdacc
--- /dev/null
+++ b/meta-xilinx-core/conf/machine/include/soc-versal-net.inc
@@ -0,0 +1,26 @@
1DEFAULTTUNE ?= "cortexa72-cortexa53"
2SOC_FAMILY ?= "versal-net"
3
4require conf/machine/include/soc-family.inc
5require soc-tune-include.inc
6
7# Linux Configuration
8KERNEL_IMAGETYPE ?= "Image"
9
10WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware"
11
12UBOOT_ELF ?= "u-boot.elf"
13
14# Default, if multiconfig is off, call plm/psm-firmware directly, otherwise call the versal-fw multiconfig version
15# The Linux compatible plm/psm-firmware though requires meta-xilinx-tools
16PLM_DEPENDS ??= ""
17PLM_MCDEPENDS ??= ""
18PLM_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}"
19PLM_IMAGE_NAME ??= "plm-${MACHINE}"
20PLM_DEPLOY_DIR[vardepsexclude] += "TOPDIR"
21
22PSM_DEPENDS ??= ""
23PSM_MCDEPENDS ??= ""
24PSM_FIRMWARE_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}"
25PSM_FIRMWARE_IMAGE_NAME ??= "psm-firmware-${MACHINE}"
26PSM_DEPLOY_DIR[vardepsexclude] += "TOPDIR"
diff --git a/meta-xilinx-core/conf/machine/include/soc-versal.inc b/meta-xilinx-core/conf/machine/include/soc-versal.inc
index dcf3796e..daa129af 100644
--- a/meta-xilinx-core/conf/machine/include/soc-versal.inc
+++ b/meta-xilinx-core/conf/machine/include/soc-versal.inc
@@ -1,17 +1,15 @@
1DEFAULTTUNE ?= "cortexa72-cortexa53" 1DEFAULTTUNE ?= "cortexa72-cortexa53"
2SOC_FAMILY ?= "versal" 2SOC_FAMILY ?= "versal"
3 3
4# Available SOC_VARIANT's for versal: 4# Available MACHINE_FETURES for versal processors:
5# "prime" - Versal deafult Prime Devices 5# prime - (none)
6# "premium" - Versal Premium Devices 6# premium - aie
7# "hbm" - Versal HMB Devices 7# hbm - (none)
8# "ai-core" - Versal AI-core Devices 8# ai-core - aie, vdu
9# "ai-edge" - Versal AI-Edge Devices 9# ai-edge - aie, vdu
10# "net" - Versal Net Devices 10# net - none
11 11
12SOC_VARIANT ?= "prime" 12require conf/machine/include/soc-family.inc
13
14require xilinx-soc-family.inc
15require soc-tune-include.inc 13require soc-tune-include.inc
16 14
17# Linux Configuration 15# Linux Configuration
diff --git a/meta-xilinx-core/conf/machine/include/soc-zynq.inc b/meta-xilinx-core/conf/machine/include/soc-zynq.inc
index eea02a6c..e456a31f 100644
--- a/meta-xilinx-core/conf/machine/include/soc-zynq.inc
+++ b/meta-xilinx-core/conf/machine/include/soc-zynq.inc
@@ -1,13 +1,7 @@
1DEFAULTTUNE ?= "cortexa9thf-neon" 1DEFAULTTUNE ?= "cortexa9thf-neon"
2SOC_FAMILY ?= "zynq" 2SOC_FAMILY ?= "zynq"
3 3
4# Available SOC_VARIANT's for zynq: 4require conf/machine/include/soc-family.inc
5# 7zs - Zynq-7000 Single A9 Core
6# 7z - Zynq-7000 Dual A9 Core
7
8SOC_VARIANT ?= "7z"
9
10require xilinx-soc-family.inc
11require soc-tune-include.inc 5require soc-tune-include.inc
12 6
13# Linux Configuration 7# Linux Configuration
diff --git a/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc b/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc
index 95ac54e2..a9c3ad73 100644
--- a/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc
+++ b/meta-xilinx-core/conf/machine/include/soc-zynqmp.inc
@@ -1,27 +1,13 @@
1DEFAULTTUNE ?= "cortexa72-cortexa53" 1DEFAULTTUNE ?= "cortexa72-cortexa53"
2SOC_FAMILY ?= "zynqmp" 2SOC_FAMILY ?= "zynqmp"
3 3
4# Available SOC_VARIANT's for zynqmp: 4# Available MACHINE_FETURES for zynqmp processors:
5# "cg" - Zynq UltraScale+ CG Devices (default lowest common denominator) 5# zynqmp-cg - (none)
6# "eg" - Zynq UltraScale+ EG Devices 6# zynqmp-eg - mali400
7# "ev" - Zynq UltraScale+ EV Devices 7# zynqmp-ev - mali400, vcu
8# "dr" - Zynq UltraScale+ DR Devices 8# zynqmp-dr - rfsoc
9
10SOC_VARIANT ?= "cg"
11
12# Add VCU feature on "ev" devices
13VCU_MACHINE_FEATURE = ""
14VCU_MACHINE_FEATURE:zynqmp-ev = " vcu"
15MACHINE_FEATURES .= "${VCU_MACHINE_FEATURE}"
16
17# Add mali400 a.k.a Mali Utgard, "ev" and "eg" devices
18MALI_MACHINE_FEATURE = ""
19MALI_MACHINE_FEATURE:zynqmp-eg = " mali400"
20MALI_MACHINE_FEATURE:zynqmp-ev = " mali400"
21MACHINE_FEATURES .= "${MALI_MACHINE_FEATURE}"
22
23require xilinx-soc-family.inc
24 9
10require conf/machine/include/soc-family.inc
25require soc-tune-include.inc 11require soc-tune-include.inc
26 12
27# Linux Configuration 13# Linux Configuration
diff --git a/meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc b/meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc
deleted file mode 100644
index dd54f5c6..00000000
--- a/meta-xilinx-core/conf/machine/include/xilinx-soc-family.inc
+++ /dev/null
@@ -1,10 +0,0 @@
1SOC_VARIANT ??= ""
2MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}-${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}"
3
4require conf/machine/include/soc-family.inc
5
6SOC_FAMILY_ARCH ?= "${SOC_FAMILY}"
7SOC_VARIANT_ARCH ?= "${@['${SOC_FAMILY}-${SOC_VARIANT}','${SOC_FAMILY}'][d.getVar('SOC_VARIANT')=='']}"
8
9PACKAGE_EXTRA_ARCHS:append = " ${SOC_FAMILY_ARCH}"
10PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${SOC_VARIANT_ARCH}'][d.getVar('SOC_VARIANT_ARCH') != d.getVar('SOC_FAMILY_ARCH')]}"
diff --git a/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf b/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf
index 34f57691..3b7218c1 100644
--- a/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-ai-core-generic.conf
@@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'versal-ai-core-generic:']['versal-ai-core-generic'
4 4
5require conf/machine/versal-generic.conf 5require conf/machine/versal-generic.conf
6 6
7SOC_VARIANT = "ai-core" 7MACHINE_FEATURES += "aie vdu"
8 8
9#### No additional settings should be after the Postamble 9#### No additional settings should be after the Postamble
10#### Postamble 10#### Postamble
diff --git a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf
index 1028ac04..2b4f94d2 100644
--- a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf
@@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'versal-ai-edge-generic:']['versal-ai-edge-generic'
4 4
5require conf/machine/versal-generic.conf 5require conf/machine/versal-generic.conf
6 6
7SOC_VARIANT = "ai-edge" 7MACHINE_FEATURES += "aie vdu"
8 8
9# VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to 9# VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to
10# 8G, Hence we need set 12G in QB_MEM. 10# 8G, Hence we need set 12G in QB_MEM.
diff --git a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf
index 3e72da60..9fef78f3 100644
--- a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf
@@ -4,8 +4,6 @@ MACHINEOVERRIDES =. "${@['', 'versal-hbm-generic:']['versal-hbm-generic' != '${M
4 4
5require conf/machine/versal-generic.conf 5require conf/machine/versal-generic.conf
6 6
7SOC_VARIANT = "hbm"
8
9# VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G, 7# VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G,
10# Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM 8# Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM
11QB_MEM = "-m 32G" 9QB_MEM = "-m 32G"
diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf
index eb450bbf..d6524510 100644
--- a/meta-xilinx-core/conf/machine/versal-net-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf
@@ -6,30 +6,83 @@
6MACHINEOVERRIDES =. "${@['', 'versal-net-generic:']['versal-net-generic' != '${MACHINE}']}" 6MACHINEOVERRIDES =. "${@['', 'versal-net-generic:']['versal-net-generic' != '${MACHINE}']}"
7#### Regular settings follow 7#### Regular settings follow
8 8
9# Must be set first, or versal-generic will set it 9# Variables that changes based on hw design or board specific requirement must be
10UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" 10# defined before calling the required inclusion file else pre-expansion value
11# defined in local.conf without machine override will not be reflected.
11 12
12# Yocto Versal Net device-tree variables 13# Yocto Versal device-tree variables
13YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" 14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psx_wizard_0_psxl_0_psx_sbsauart_0"
15DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
16DTC_FLAGS:pn-device-tree = "-@"
14YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}" 17YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}"
15 18
16# Yocto Versal Net PLM variables 19# Yocto Versal u-boot-xlnx variables
20UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig"
21BOOTMODE ?= "generic.root"
22
23# Yocto Versal arm-trusted-firmware(TF-A) variables
24TFA_BL33_LOAD ?= "0x8000000"
25
26# Yocto Versal PLM variables
17YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" 27YAML_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" 28YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0"
19 29
30# Yocto Versal KERNEL Variables
31UBOOT_ENTRYPOINT ?= "0x200000"
32UBOOT_LOADADDRESS ?= "0x200000"
33
20# Versal Serial Console 34# Versal Serial Console
21SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" 35SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
22YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" 36YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
23 37
24require conf/machine/versal-generic.conf 38require conf/machine/include/soc-versal-net.inc
39require conf/machine/include/machine-xilinx-default.inc
40require conf/machine/include/machine-xilinx-qemu.inc
25 41
26SOC_VARIANT = "net" 42# versal-net-generic.conf uses a qemu only xsa as reference input.
27
28# versal-generic.conf uses vck190-versal xsa as reference input.
29# User can override with custom xsa using HDF_BASE and HDF_PATH variables from 43# User can override with custom xsa using HDF_BASE and HDF_PATH variables from
30# local.conf. 44# local.conf.
31HDF_MACHINE = "versal-net-generic" 45HDF_MACHINE = "versal-net-generic"
32 46
47MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost"
48
49MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "${PREFERRED_PROVIDER_virtual/dtb}"
50
51# Default SD image build onfiguration, use qemu-sd to pad
52IMAGE_CLASSES += "image-types-xilinx-qemu"
53# Add wic.qemu-sd only if initramfs_image not set due to circular dependecies
54IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz.u-boot.qemu-sd-fatimg'}"
55
56EXTRA_IMAGEDEPENDS += " \
57 libyaml-native \
58 python3-cython-native \
59 python3-pyyaml-native \
60 arm-trusted-firmware \
61 virtual/boot-bin \
62 virtual/bootloader \
63 virtual/psm-firmware \
64 virtual/plm \
65 u-boot-xlnx-scr \
66 qemu-devicetrees:do_deploy \
67 virtual/cdo:do_deploy \
68 "
69
70IMAGE_BOOT_FILES += " \
71 boot.bin \
72 ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
73 Image \
74 boot.scr \
75 "
76
77# Versal QEMU Configurations
78# This machine has a QEMU model, runqemu setup:
79QB_MEM = "-m 8G"
80QB_DEFAULT_KERNEL = "none"
81# Iteration appears to be eth0 then eth1
82QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@ -net nic"
83QB_KERNEL_CMDLINE_APPEND ?= ""
84
85QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"
33QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" 86QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb"
34QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" 87QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb"
35 88
@@ -41,7 +94,34 @@ QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb"
41# hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1) 94# hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1)
42QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" 95QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null"
43 96
97QB_OSPI_FILE ??= ""
98
99QB_OPT_APPEND += " \
100 -hw-dtb ${QEMU_HW_DTB_PS} \
101 ${@qemu_add_extra_args(d)} \
102 ${@'-bootbin ${QB_OSPI_FILE}' if d.getVar('QB_OSPI_FILE') != '' else ''} \
103 "
104
105# PLM instance args
106QB_PLM_OPT = " \
107 -M microblaze-fdt \
108 -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
109 -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
110 -device loader,addr=0xF1110624,data=0x0,data-len=4 \
111 -device loader,addr=0xF1110620,data=0x1,data-len=4 \
112 -hw-dtb ${QEMU_HW_DTB_PMC} \
113 -display none \
114 "
115
116QB_FW_FILES = " \
117 -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
118 -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
119 -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
120"
121QB_PLM_OPT += "${@'' if d.getVar('QB_OSPI_FILE') else d.getVar('QB_FW_FILES')}"
122
123QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'"
124
44#### No additional settings should be after the Postamble 125#### No additional settings should be after the Postamble
45#### Postamble 126#### Postamble
46PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}" 127PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}"
47
diff --git a/meta-xilinx-core/conf/machine/versal-premium-generic.conf b/meta-xilinx-core/conf/machine/versal-premium-generic.conf
index d785edff..357e852d 100644
--- a/meta-xilinx-core/conf/machine/versal-premium-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-premium-generic.conf
@@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'versal-premium-generic:']['versal-premium-generic'
4 4
5require conf/machine/versal-generic.conf 5require conf/machine/versal-generic.conf
6 6
7SOC_VARIANT = "premium" 7MACHINE_FEATURES += "aie"
8 8
9#### No additional settings should be after the Postamble 9#### No additional settings should be after the Postamble
10#### Postamble 10#### Postamble
diff --git a/meta-xilinx-core/conf/machine/versal-prime-generic.conf b/meta-xilinx-core/conf/machine/versal-prime-generic.conf
index 206f0e2a..edce3577 100644
--- a/meta-xilinx-core/conf/machine/versal-prime-generic.conf
+++ b/meta-xilinx-core/conf/machine/versal-prime-generic.conf
@@ -4,8 +4,6 @@ MACHINEOVERRIDES =. "${@['', 'versal-prime-generic:']['versal-prime-generic' !=
4 4
5require conf/machine/versal-generic.conf 5require conf/machine/versal-generic.conf
6 6
7SOC_VARIANT = "prime"
8
9QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vmk180.dtb" 7QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vmk180.dtb"
10 8
11#### No additional settings should be after the Postamble 9#### No additional settings should be after the Postamble
diff --git a/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf
index 38c9126f..44169186 100644
--- a/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf
+++ b/meta-xilinx-core/conf/machine/zynqmp-cg-generic.conf
@@ -4,8 +4,6 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-cg-generic:']['zynqmp-cg-generic' != '${MAC
4 4
5require conf/machine/zynqmp-generic.conf 5require conf/machine/zynqmp-generic.conf
6 6
7SOC_VARIANT = "cg"
8
9#### No additional settings should be after the Postamble 7#### No additional settings should be after the Postamble
10#### Postamble 8#### Postamble
11PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_cg_generic']['zynqmp-cg-generic' != "${MACHINE}"]}" 9PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynqmp_cg_generic']['zynqmp-cg-generic' != "${MACHINE}"]}"
diff --git a/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf
index fbe445aa..316175af 100644
--- a/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf
+++ b/meta-xilinx-core/conf/machine/zynqmp-dr-generic.conf
@@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-dr-generic:']['zynqmp-dr-generic' != '${MAC
4 4
5require conf/machine/zynqmp-generic.conf 5require conf/machine/zynqmp-generic.conf
6 6
7SOC_VARIANT = "dr" 7MACHINE_FEATURES += "rfsoc"
8 8
9#### No additional settings should be after the Postamble 9#### No additional settings should be after the Postamble
10#### Postamble 10#### Postamble
diff --git a/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf
index 33375b46..239ded34 100644
--- a/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf
+++ b/meta-xilinx-core/conf/machine/zynqmp-eg-generic.conf
@@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-eg-generic:']['zynqmp-eg-generic' != '${MAC
4 4
5require conf/machine/zynqmp-generic.conf 5require conf/machine/zynqmp-generic.conf
6 6
7SOC_VARIANT = "eg" 7MACHINE_FEATURES += "mali400"
8 8
9#### No additional settings should be after the Postamble 9#### No additional settings should be after the Postamble
10#### Postamble 10#### Postamble
diff --git a/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf
index f2ffe40f..31d94f63 100644
--- a/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf
+++ b/meta-xilinx-core/conf/machine/zynqmp-ev-generic.conf
@@ -4,7 +4,7 @@ MACHINEOVERRIDES =. "${@['', 'zynqmp-ev-generic:']['zynqmp-ev-generic' != '${MAC
4 4
5require conf/machine/zynqmp-generic.conf 5require conf/machine/zynqmp-generic.conf
6 6
7SOC_VARIANT = "ev" 7MACHINE_FEATURES += "mali400 vcu"
8 8
9#### No additional settings should be after the Postamble 9#### No additional settings should be after the Postamble
10#### Postamble 10#### Postamble
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend
new file mode 100644
index 00000000..33cd55c1
--- /dev/null
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend
@@ -0,0 +1,3 @@
1# Prevents parse failrues on zynq
2
3COMPATIBLE_MACHINE:zynq = "^$"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
index 4d21c98b..0e7f3693 100644
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
@@ -1,14 +1,8 @@
1# Use libmetal for systems with AIE 1# Use libmetal for systems with AIE
2# For vck190 kind of devices 2# For versal devices with the ai-engine
3PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" 3PACKAGE_ARCH_orig := "${PACKAGE_ARCH}"
4EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" 4PACKAGE_ARCH = "${@bb.utils.contains('MACHINE_FEATURES', 'aie', '${MACHINE_ARCH}', '${PACKAGE_ARCH_orig}', d)}"
5TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE -DFAL_LINUX=on" 5EXTRA_OECMAKE .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' -DXRT_AIE_BUILD=true', '', d)}"
6DEPENDS:append:versal-ai-core = " libxaiengine aiefal" 6TARGET_CXXFLAGS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' -DXRT_ENABLE_AIE -DFAL_LINUX=on', '', d)}"
7RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" 7DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libxaiengine aiefal', '', d)}"
8 8RDEPENDS:${PN} += "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libxaiengine aiefal', '', d)}"
9# For vek280 kind of devices
10PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}"
11EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true"
12TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE -DFAL_LINUX=on"
13DEPENDS:append:versal-ai-edge = " libxaiengine aiefal"
14RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend
index 89f1b4ad..362dc45a 100644
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202310.2.15.0.bbappend
@@ -1,3 +1,2 @@
1# Older xrt requires a manual dependency on libmetal 1# Older xrt requires a manual dependency on libmetal
2DEPENDS:append:versal-ai-core = " libmetal" 2DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libmetal', '', d)}"
3DEPENDS:append:versal-ai-edge = " libmetal"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend
index 89f1b4ad..362dc45a 100644
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_202320.2.16.0.bbappend
@@ -1,3 +1,2 @@
1# Older xrt requires a manual dependency on libmetal 1# Older xrt requires a manual dependency on libmetal
2DEPENDS:append:versal-ai-core = " libmetal" 2DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'aie', ' libmetal', '', d)}"
3DEPENDS:append:versal-ai-edge = " libmetal"
diff --git a/meta-xilinx-core/lib/devtool/boot-jtag.py b/meta-xilinx-core/lib/devtool/boot-jtag.py
index 53d70262..247851ec 100644
--- a/meta-xilinx-core/lib/devtool/boot-jtag.py
+++ b/meta-xilinx-core/lib/devtool/boot-jtag.py
@@ -32,7 +32,6 @@ def bootjtag(args, config, basepath, workspace):
32 machine = rd.getVar('MACHINE') 32 machine = rd.getVar('MACHINE')
33 arch = rd.getVar('TARGET_ARCH') 33 arch = rd.getVar('TARGET_ARCH')
34 soc = rd.getVar("SOC_FAMILY") 34 soc = rd.getVar("SOC_FAMILY")
35 soc_variant = rd.getVar("SOC_VARIANT")
36 ddr_base_addr = rd.getVar('DDR_BASEADDR') 35 ddr_base_addr = rd.getVar('DDR_BASEADDR')
37 kernel_img_name = rd.getVar('KERNEL_IMAGE') 36 kernel_img_name = rd.getVar('KERNEL_IMAGE')
38 kernel_load_addr = rd.getVar('KERNEL_LOAD_ADDRESS') 37 kernel_load_addr = rd.getVar('KERNEL_LOAD_ADDRESS')
@@ -59,7 +58,7 @@ def bootjtag(args, config, basepath, workspace):
59 # MB = (DDR base address + DDR Size) - 0xe00000 58 # MB = (DDR base address + DDR Size) - 0xe00000
60 # Zynq 7000 = DDR base address + 0x3000000 59 # Zynq 7000 = DDR base address + 0x3000000
61 # ZynqMP = DDR base address + 0x20000000 60 # ZynqMP = DDR base address + 0x20000000
62 # Versal = DDR base address + 0x20000000 61 # Versal & Versal-net = DDR base address + 0x20000000
63 if arch == 'microblazeel': 62 if arch == 'microblazeel':
64 # Assuming DDR size is 2GB 63 # Assuming DDR size is 2GB
65 bootscr_addr = hex(int(ddr_base_addr, 16) + 0x80000000 - 0xe00000) 64 bootscr_addr = hex(int(ddr_base_addr, 16) + 0x80000000 - 0xe00000)
@@ -93,7 +92,7 @@ def bootjtag(args, config, basepath, workspace):
93 data['atf'] = os.path.join(deploy_dir, 'arm-trusted-firmware.elf') 92 data['atf'] = os.path.join(deploy_dir, 'arm-trusted-firmware.elf')
94 data['pmufw'] = os.path.join(deploy_dir, 'pmu-firmware-' + machine + '.elf') 93 data['pmufw'] = os.path.join(deploy_dir, 'pmu-firmware-' + machine + '.elf')
95 94
96 if soc == 'versal': 95 if soc in ('versal', 'versal-net'):
97 data['bootbin'] = os.path.join(deploy_dir, 'boot.bin') 96 data['bootbin'] = os.path.join(deploy_dir, 'boot.bin')
98 97
99 data['bootscr'] = os.path.join(deploy_dir, 'boot.scr') 98 data['bootscr'] = os.path.join(deploy_dir, 'boot.scr')
@@ -165,12 +164,17 @@ def bootjtag(args, config, basepath, workspace):
165 lines.append('puts stderr "INFO: Downloading BOOT bin file: ' + data['bootbin'] + '"') 164 lines.append('puts stderr "INFO: Downloading BOOT bin file: ' + data['bootbin'] + '"')
166 lines.append('device program \"' + data['bootbin'] + '\"') 165 lines.append('device program \"' + data['bootbin'] + '\"')
167 lines.append('') 166 lines.append('')
168 167 lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}')
169 if soc_variant == 'net': 168 lines.append('stop')
170 lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') 169 lines.append('')
171 else: 170 lines.append('targets -set -nocase -filter {name =~ \"*Versal*\"}')
172 lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') 171 elif soc == 'versal-net':
173 172 # Download boot.bin to versal device
173 lines.append('targets -set -nocase -filter {name =~ \"*PMC*\"}')
174 lines.append('puts stderr "INFO: Downloading BOOT bin file: ' + data['bootbin'] + '"')
175 lines.append('device program \"' + data['bootbin'] + '\"')
176 lines.append('')
177 lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}')
174 lines.append('stop') 178 lines.append('stop')
175 lines.append('') 179 lines.append('')
176 lines.append('targets -set -nocase -filter {name =~ \"*Versal*\"}') 180 lines.append('targets -set -nocase -filter {name =~ \"*Versal*\"}')
@@ -235,10 +239,10 @@ def bootjtag(args, config, basepath, workspace):
235 239
236 # Select A72 Core 0 to load and run Versal images 240 # Select A72 Core 0 to load and run Versal images
237 if soc == 'versal': 241 if soc == 'versal':
238 if soc_variant == 'net': 242 lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}')
239 lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') 243
240 else: 244 if soc == 'versal-net':
241 lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') 245 lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}')
242 246
243 lines.append('con') 247 lines.append('con')
244 lines.append('exit\n') 248 lines.append('exit\n')
diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb
index 7080379f..df3b1188 100644
--- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb
+++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb
@@ -17,8 +17,9 @@ S = "${UNPACKDIR}/git"
17COMPATIBLE_MACHINE = "^$" 17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp" 18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal" 19COMPATIBLE_MACHINE:versal = "versal"
20COMPATIBLE_MACHINE:versal-net = "versal-net"
20 21
21PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" 22PACKAGE_ARCH:zynqmp = "${MACHINE_ARCH}"
22 23
23# Force the make system to use the flags we want! 24# Force the make system to use the flags we want!
24EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all' 25EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all'
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
index 0803887d..0b3effe2 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
@@ -9,9 +9,11 @@ AIEDIR ?= "${S}/driver"
9S = "${UNPACKDIR}/git" 9S = "${UNPACKDIR}/git"
10I = "${AIEDIR}/include" 10I = "${AIEDIR}/include"
11 11
12COMPATIBLE_MACHINE = "^$" 12inherit features_check
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 13
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 14REQUIRED_MACHINE_FEATURES = "aie"
15
16PACKAGE_ARCH = "${MACHINE_ARCH}"
15 17
16IOBACKENDS ?= "Linux" 18IOBACKENDS ?= "Linux"
17 19
@@ -42,5 +44,3 @@ do_install(){
42 install -d ${D}${libdir} 44 install -d ${D}${libdir}
43 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} 45 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir}
44} 46}
45
46PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb
index 8ee45d22..88d4995f 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb
@@ -9,9 +9,11 @@ AIEDIR ?= "${S}/driver"
9S = "${UNPACKDIR}/git" 9S = "${UNPACKDIR}/git"
10I = "${AIEDIR}/include" 10I = "${AIEDIR}/include"
11 11
12COMPATIBLE_MACHINE = "^$" 12inherit features_check
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 13
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 14REQUIRED_MACHINE_FEATURES = "aie"
15
16PACKAGE_ARCH = "${MACHINE_ARCH}"
15 17
16IOBACKENDS ?= "Linux" 18IOBACKENDS ?= "Linux"
17 19
@@ -42,7 +44,3 @@ do_install(){
42 install -d ${D}${libdir} 44 install -d ${D}${libdir}
43 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} 45 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir}
44} 46}
45
46PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
47PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}"
48
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 2ed7aece..0710a2bb 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb
@@ -9,9 +9,11 @@ AIEDIR ?= "${S}/driver"
9S = "${UNPACKDIR}/git" 9S = "${UNPACKDIR}/git"
10I = "${AIEDIR}/include" 10I = "${AIEDIR}/include"
11 11
12COMPATIBLE_MACHINE = "^$" 12inherit features_check
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 13
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 14REQUIRED_MACHINE_FEATURES = "aie"
15
16PACKAGE_ARCH = "${MACHINE_ARCH}"
15 17
16IOBACKENDS ?= "Linux" 18IOBACKENDS ?= "Linux"
17 19
@@ -42,7 +44,3 @@ do_install(){
42 install -d ${D}${libdir} 44 install -d ${D}${libdir}
43 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} 45 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir}
44} 46}
45
46PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
47PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}"
48
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
index f47c4eef..73cbfdd6 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
@@ -8,9 +8,11 @@ SECTION = "devel"
8XAIEFAL_DIR ?= "fal" 8XAIEFAL_DIR ?= "fal"
9S = "${UNPACKDIR}/git" 9S = "${UNPACKDIR}/git"
10 10
11COMPATIBLE_MACHINE = "^$" 11inherit features_check
12COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 12
13COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 13REQUIRED_MACHINE_FEATURES = "aie"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
14 16
15IOBACKENDS ?= "Linux" 17IOBACKENDS ?= "Linux"
16 18
@@ -29,5 +31,3 @@ EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') ==
29FILES:${PN}-demos = " \ 31FILES:${PN}-demos = " \
30 ${bindir}/* \ 32 ${bindir}/* \
31" 33"
32
33PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb
index 6c232a37..ab65f319 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb
@@ -8,9 +8,11 @@ SECTION = "devel"
8XAIEFAL_DIR ?= "fal" 8XAIEFAL_DIR ?= "fal"
9S = "${UNPACKDIR}/git" 9S = "${UNPACKDIR}/git"
10 10
11COMPATIBLE_MACHINE = "^$" 11inherit features_check
12COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 12
13COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 13REQUIRED_MACHINE_FEATURES = "aie"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
14 16
15IOBACKENDS ?= "Linux" 17IOBACKENDS ?= "Linux"
16 18
@@ -29,7 +31,3 @@ EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') ==
29FILES:${PN}-demos = " \ 31FILES:${PN}-demos = " \
30 ${bindir}/* \ 32 ${bindir}/* \
31" 33"
32
33PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
34PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}"
35
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 425ec5ca..11c88d34 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb
@@ -8,9 +8,11 @@ SECTION = "devel"
8XAIEFAL_DIR ?= "fal" 8XAIEFAL_DIR ?= "fal"
9S = "${UNPACKDIR}/git" 9S = "${UNPACKDIR}/git"
10 10
11COMPATIBLE_MACHINE = "^$" 11inherit features_check
12COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" 12
13COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" 13REQUIRED_MACHINE_FEATURES = "aie"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
14 16
15IOBACKENDS ?= "Linux" 17IOBACKENDS ?= "Linux"
16 18
@@ -29,7 +31,3 @@ EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') ==
29FILES:${PN}-demos = " \ 31FILES:${PN}-demos = " \
30 ${bindir}/* \ 32 ${bindir}/* \
31" 33"
32
33PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
34PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}"
35
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
index 1678c17b..9e9d8e8f 100644
--- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
@@ -28,6 +28,7 @@ ATF_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}${IMAGE_VERSION_SUFFIX}"
28COMPATIBLE_MACHINE ?= "^$" 28COMPATIBLE_MACHINE ?= "^$"
29COMPATIBLE_MACHINE:zynqmp = ".*" 29COMPATIBLE_MACHINE:zynqmp = ".*"
30COMPATIBLE_MACHINE:versal = ".*" 30COMPATIBLE_MACHINE:versal = ".*"
31COMPATIBLE_MACHINE:versal-net = ".*"
31 32
32PACKAGE_ARCH = "${MACHINE_ARCH}" 33PACKAGE_ARCH = "${MACHINE_ARCH}"
33 34
@@ -47,10 +48,12 @@ LD[unexport] = "1"
47ATF_CONSOLE_DEFAULT = "" 48ATF_CONSOLE_DEFAULT = ""
48ATF_CONSOLE_DEFAULT:zynqmp = "cadence" 49ATF_CONSOLE_DEFAULT:zynqmp = "cadence"
49ATF_CONSOLE_DEFAULT:versal = "pl011" 50ATF_CONSOLE_DEFAULT:versal = "pl011"
51ATF_CONSOLE_DEFAULT:versal-net = "pl011"
50ATF_CONSOLE ?= "${ATF_CONSOLE_DEFAULT}" 52ATF_CONSOLE ?= "${ATF_CONSOLE_DEFAULT}"
51 53
52DEBUG_ATF_DEFAULT = "" 54DEBUG_ATF_DEFAULT = ""
53DEBUG_ATF_DEFAULT:versal = "1" 55DEBUG_ATF_DEFAULT:versal = "1"
56DEBUG_ATF_DEFAULT:versal-net = "1"
54DEBUG_ATF ?= "${DEBUG_ATF_DEFAULT}" 57DEBUG_ATF ?= "${DEBUG_ATF_DEFAULT}"
55 58
56EXTRA_OEMAKE:append:zynqmp = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}" 59EXTRA_OEMAKE:append:zynqmp = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
@@ -125,3 +128,4 @@ FILES:${PN} += "/boot/*.elf /boot/*.bin /boot/*.ub"
125 128
126# Disable buildpaths QA check warnings for Versal. 129# Disable buildpaths QA check warnings for Versal.
127INSANE_SKIP:${PN}:append:versal = " buildpaths" 130INSANE_SKIP:${PN}:append:versal = " buildpaths"
131INSANE_SKIP:${PN}:append:versal-net = " buildpaths"
diff --git a/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb b/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb
index b74f07fe..ba4d2964 100644
--- a/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb
+++ b/meta-xilinx-core/recipes-bsp/base-pdi/base-pdi_1.0.bb
@@ -7,6 +7,7 @@ PROVIDES = "virtual/base-pdi"
7COMPATIBLE_MACHINE = "^$" 7COMPATIBLE_MACHINE = "^$"
8COMPATIBLE_MACHINE:microblaze = ".*" 8COMPATIBLE_MACHINE:microblaze = ".*"
9COMPATIBLE_MACHINE:versal = ".*" 9COMPATIBLE_MACHINE:versal = ".*"
10COMPATIBLE_MACHINE:versal-net = ".*"
10 11
11PACKAGE_ARCH ?= "${MACHINE_ARCH}" 12PACKAGE_ARCH ?= "${MACHINE_ARCH}"
12 13
diff --git a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc
new file mode 100644
index 00000000..46191720
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal-net.inc
@@ -0,0 +1 @@
require machine-xilinx-versal.inc
diff --git a/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb b/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb
index 38824238..4ee9b62e 100644
--- a/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb
+++ b/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb
@@ -14,6 +14,7 @@ COMPATIBLE_MACHINE ?= "^$"
14COMPATIBLE_MACHINE:zynq = ".*" 14COMPATIBLE_MACHINE:zynq = ".*"
15COMPATIBLE_MACHINE:zynqmp = ".*" 15COMPATIBLE_MACHINE:zynqmp = ".*"
16COMPATIBLE_MACHINE:versal = ".*" 16COMPATIBLE_MACHINE:versal = ".*"
17COMPATIBLE_MACHINE:versal-net = ".*"
17 18
18PROVIDES = "virtual/boot-bin" 19PROVIDES = "virtual/boot-bin"
19 20
@@ -36,8 +37,11 @@ SRC_URI += "${@('file://' + d.getVar("BIF_FILE_PATH")) if d.getVar("BIF_FILE_PAT
36# zynqmp : zynqmp 37# zynqmp : zynqmp
37# versal : versal 38# versal : versal
38# versal-net : versalnet 39# versal-net : versalnet
39BOOTGEN_ARCH_DEFAULT = "${SOC_FAMILY}" 40BOOTGEN_ARCH_DEFAULT = "undefined"
40BOOTGEN_ARCH_DEFAULT:versal-net = "${SOC_FAMILY}${SOC_VARIANT}" 41BOOTGEN_ARCH_DEFAULT:zynq = "zynq"
42BOOTGEN_ARCH_DEFAULT:zynqmp = "zynqmp"
43BOOTGEN_ARCH_DEFAULT:versal = "versal"
44BOOTGEN_ARCH_DEFAULT:versal-net = "versalnet"
41BOOTGEN_ARCH ?= "${BOOTGEN_ARCH_DEFAULT}" 45BOOTGEN_ARCH ?= "${BOOTGEN_ARCH_DEFAULT}"
42BOOTGEN_EXTRA_ARGS ?= "" 46BOOTGEN_EXTRA_ARGS ?= ""
43 47
@@ -135,7 +139,7 @@ python do_configure() {
135 attrflags = d.getVarFlags("BIF_COMMON_ATTR") or {} 139 attrflags = d.getVarFlags("BIF_COMMON_ATTR") or {}
136 if arch in ['zynq', 'zynqmp']: 140 if arch in ['zynq', 'zynqmp']:
137 create_zynq_bif(bifattr, attrflags,'','', 1, biffd, d) 141 create_zynq_bif(bifattr, attrflags,'','', 1, biffd, d)
138 elif arch in ['versal']: 142 elif arch in ['versal', 'versal-net']:
139 create_versal_bif(bifattr, attrflags,'','', 1, biffd, d) 143 create_versal_bif(bifattr, attrflags,'','', 1, biffd, d)
140 else: 144 else:
141 create_bif(bifattr, attrflags,'','', 1, biffd, d) 145 create_bif(bifattr, attrflags,'','', 1, biffd, d)
@@ -147,7 +151,7 @@ python do_configure() {
147 ids = d.getVarFlags("BIF_PARTITION_ID") or {} 151 ids = d.getVarFlags("BIF_PARTITION_ID") or {}
148 if arch in ['zynq', 'zynqmp']: 152 if arch in ['zynq', 'zynqmp']:
149 create_zynq_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d) 153 create_zynq_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d)
150 elif arch in ['versal']: 154 elif arch in ['versal', 'versal-net']:
151 create_versal_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d) 155 create_versal_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d)
152 else: 156 else:
153 create_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d) 157 create_bif(bifpartition, attrflags, attrimage, ids, 0, biffd, d)
@@ -197,6 +201,12 @@ do_deploy:append:versal () {
197 ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin 201 ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin
198} 202}
199 203
204do_deploy:append:versal-net () {
205
206 install -m 0644 ${B}/BOOT_bh.bin ${DEPLOYDIR}/${BOOTBIN_BASE_NAME}_bh.bin
207 ln -sf ${BOOTBIN_BASE_NAME}_bh.bin ${DEPLOYDIR}/BOOT-${MACHINE}_bh.bin
208}
209
200FILES:${PN} += "/boot/BOOT.bin" 210FILES:${PN} += "/boot/BOOT.bin"
201SYSROOT_DIRS += "/boot" 211SYSROOT_DIRS += "/boot"
202 212
diff --git a/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb b/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb
index 7238823d..04cbab69 100644
--- a/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb
+++ b/meta-xilinx-core/recipes-bsp/cdo/extract-cdo_1.0.bb
@@ -12,6 +12,7 @@ do_compile[depends] += "virtual/boot-bin:do_deploy"
12 12
13COMPATIBLE_MACHINE = "^$" 13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:versal = "versal" 14COMPATIBLE_MACHINE:versal = "versal"
15COMPATIBLE_MACHINE:versal-net = "versal-net"
15 16
16PACKAGE_ARCH ?= "${MACHINE_ARCH}" 17PACKAGE_ARCH ?= "${MACHINE_ARCH}"
17 18
diff --git a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb
index f62e9512..87dddfce 100644
--- a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb
+++ b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb
@@ -49,6 +49,7 @@ SRC_URI:append = " ${@" ".join(["file://%s" % f for f in (d.getVar('EXTRA_OVERLA
49COMPATIBLE_MACHINE:zynq = ".*" 49COMPATIBLE_MACHINE:zynq = ".*"
50COMPATIBLE_MACHINE:zynqmp = ".*" 50COMPATIBLE_MACHINE:zynqmp = ".*"
51COMPATIBLE_MACHINE:versal = ".*" 51COMPATIBLE_MACHINE:versal = ".*"
52COMPATIBLE_MACHINE:versal-net = ".*"
52 53
53DEPENDS += "python3-dtc-native" 54DEPENDS += "python3-dtc-native"
54 55
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb
index 9066a63d..9e0f07ac 100644
--- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb
@@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}"
17COMPATIBLE_MACHINE = "^$" 17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp" 18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal" 19COMPATIBLE_MACHINE:versal = "versal"
20COMPATIBLE_MACHINE:versal-net = "versal-net"
20 21
21S = "${UNPACKDIR}/git" 22S = "${UNPACKDIR}/git"
22 23
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb
index f341061f..2699a55d 100644
--- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb
@@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}"
17COMPATIBLE_MACHINE = "^$" 17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp" 18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal" 19COMPATIBLE_MACHINE:versal = "versal"
20COMPATIBLE_MACHINE:versal-net = "versal-net"
20 21
21S = "${UNPACKDIR}/git" 22S = "${UNPACKDIR}/git"
22 23
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb
index 0f31bb13..da2f3e26 100644
--- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb
@@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}"
17COMPATIBLE_MACHINE = "^$" 17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp" 18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal" 19COMPATIBLE_MACHINE:versal = "versal"
20COMPATIBLE_MACHINE:versal-net = "versal-net"
20 21
21S = "${UNPACKDIR}/git" 22S = "${UNPACKDIR}/git"
22 23
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb
index a8b9d62e..261156f9 100644
--- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb
@@ -17,6 +17,7 @@ SOVERSION = "${SOMAJOR}.${SOMINOR}"
17COMPATIBLE_MACHINE = "^$" 17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp" 18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal" 19COMPATIBLE_MACHINE:versal = "versal"
20COMPATIBLE_MACHINE:versal-net = "versal-net"
20 21
21S = "${UNPACKDIR}/git" 22S = "${UNPACKDIR}/git"
22 23
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb
index a10d3924..80063f85 100644
--- a/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb
+++ b/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb
@@ -9,6 +9,7 @@ INHIBIT_DEFAULT_DEPS = "1"
9 9
10COMPATIBLE_MACHINE = "^$" 10COMPATIBLE_MACHINE = "^$"
11COMPATIBLE_MACHINE:versal = ".*" 11COMPATIBLE_MACHINE:versal = ".*"
12COMPATIBLE_MACHINE:versal-net = ".*"
12 13
13# Since we're just copying, we can run any config 14# Since we're just copying, we can run any config
14COMPATIBLE_HOST = ".*" 15COMPATIBLE_HOST = ".*"
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb
index d47ab114..3fa6d98c 100644
--- a/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb
+++ b/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb
@@ -9,6 +9,7 @@ INHIBIT_DEFAULT_DEPS = "1"
9 9
10COMPATIBLE_MACHINE = "^$" 10COMPATIBLE_MACHINE = "^$"
11COMPATIBLE_MACHINE:versal = ".*" 11COMPATIBLE_MACHINE:versal = ".*"
12COMPATIBLE_MACHINE:versal-net = ".*"
12 13
13# Since we're just copying, we can run any config 14# Since we're just copying, we can run any config
14COMPATIBLE_HOST = ".*" 15COMPATIBLE_HOST = ".*"
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb
index 471de84d..7727b93d 100644
--- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb
@@ -13,6 +13,7 @@ SRCREV = "f2b7bbca9d6936141024becfb92266600eeefc2b"
13COMPATIBLE_MACHINE = "^$" 13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp" 14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal" 15COMPATIBLE_MACHINE:versal = "versal"
16COMPATIBLE_MACHINE:versal-net = "versal-net"
16 17
17S = "${UNPACKDIR}/git" 18S = "${UNPACKDIR}/git"
18 19
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb
index 3bfa7085..e64687f5 100644
--- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb
@@ -13,6 +13,7 @@ SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1"
13COMPATIBLE_MACHINE = "^$" 13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp" 14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal" 15COMPATIBLE_MACHINE:versal = "versal"
16COMPATIBLE_MACHINE:versal-net = "versal-net"
16 17
17S = "${UNPACKDIR}/git" 18S = "${UNPACKDIR}/git"
18 19
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb
index ce9c07b2..06d991df 100644
--- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb
@@ -13,6 +13,7 @@ SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1"
13COMPATIBLE_MACHINE = "^$" 13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp" 14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal" 15COMPATIBLE_MACHINE:versal = "versal"
16COMPATIBLE_MACHINE:versal-net = "versal-net"
16 17
17S = "${UNPACKDIR}/git" 18S = "${UNPACKDIR}/git"
18 19
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb
index 3450872e..9eea4fbe 100644
--- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb
@@ -13,6 +13,7 @@ SRCREV = "c8275891ead62b3dfce68c00cf466715f0ac75f1"
13COMPATIBLE_MACHINE = "^$" 13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp" 14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal" 15COMPATIBLE_MACHINE:versal = "versal"
16COMPATIBLE_MACHINE:versal-net = "versal-net"
16 17
17S = "${UNPACKDIR}/git" 18S = "${UNPACKDIR}/git"
18 19
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb
index 24fd46e5..f823e478 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb
@@ -14,6 +14,7 @@ COMPATIBLE_MACHINE ?= "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp" 14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:zynq = "zynq" 15COMPATIBLE_MACHINE:zynq = "zynq"
16COMPATIBLE_MACHINE:versal = "versal" 16COMPATIBLE_MACHINE:versal = "versal"
17COMPATIBLE_MACHINE:versal-net = "versal"
17COMPATIBLE_MACHINE:microblaze = "microblaze" 18COMPATIBLE_MACHINE:microblaze = "microblaze"
18 19
19KERNELDT = "${@os.path.basename(d.getVar('KERNEL_DEVICETREE').split(' ')[0]) if d.getVar('KERNEL_DEVICETREE') else ''}" 20KERNELDT = "${@os.path.basename(d.getVar('KERNEL_DEVICETREE').split(' ')[0]) if d.getVar('KERNEL_DEVICETREE') else ''}"
@@ -27,6 +28,7 @@ PXERAMDISK_IMAGE ?= "${@'${RAMDISK_IMAGE1}' if d.getVar('INITRAMFS_IMAGE') and d
27KERNEL_BOOTCMD:zynqmp ?= "booti" 28KERNEL_BOOTCMD:zynqmp ?= "booti"
28KERNEL_BOOTCMD:zynq ?= "bootm" 29KERNEL_BOOTCMD:zynq ?= "bootm"
29KERNEL_BOOTCMD:versal ?= "booti" 30KERNEL_BOOTCMD:versal ?= "booti"
31KERNEL_BOOTCMD:versal-net ?= "booti"
30KERNEL_BOOTCMD:microblaze ?= "bootm" 32KERNEL_BOOTCMD:microblaze ?= "bootm"
31 33
32BOOTMODE ??= "generic" 34BOOTMODE ??= "generic"
@@ -58,6 +60,7 @@ UENV_TEXTFILE ?= "uEnv.txt"
58UENV_MMC_OFFSET:zynqmp ??= "0x200000" 60UENV_MMC_OFFSET:zynqmp ??= "0x200000"
59UENV_MMC_OFFSET:zynq ??= "0x2080000" 61UENV_MMC_OFFSET:zynq ??= "0x2080000"
60UENV_MMC_OFFSET:versal ??= "0x200000" 62UENV_MMC_OFFSET:versal ??= "0x200000"
63UENV_MMC_OFFSET:versal-net ??= "0x200000"
61UENV_MMC_OFFSET:microblaze ??= "0x0" 64UENV_MMC_OFFSET:microblaze ??= "0x0"
62 65
63UENV_MMC_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('UENV_MMC_OFFSET'))}" 66UENV_MMC_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('UENV_MMC_OFFSET'))}"
@@ -73,11 +76,13 @@ DEVICETREE_OFFSET:microblaze ??= "0x1e00000"
73DEVICETREE_OFFSET:zynqmp ??= "0x100000" 76DEVICETREE_OFFSET:zynqmp ??= "0x100000"
74DEVICETREE_OFFSET:zynq ??= "0x100000" 77DEVICETREE_OFFSET:zynq ??= "0x100000"
75DEVICETREE_OFFSET:versal ??= "0x1000" 78DEVICETREE_OFFSET:versal ??= "0x1000"
79DEVICETREE_OFFSET:versal-net ??= "0x1000"
76 80
77DEVICETREE_OVERLAY_OFFSET:microblaze ??= "0x1e00000" 81DEVICETREE_OVERLAY_OFFSET:microblaze ??= "0x1e00000"
78DEVICETREE_OVERLAY_OFFSET:zynqmp ??= "0x100000" 82DEVICETREE_OVERLAY_OFFSET:zynqmp ??= "0x100000"
79DEVICETREE_OVERLAY_OFFSET:zynq ??= "0x100000" 83DEVICETREE_OVERLAY_OFFSET:zynq ??= "0x100000"
80DEVICETREE_OVERLAY_OFFSET:versal ??= "0x1000" 84DEVICETREE_OVERLAY_OFFSET:versal ??= "0x1000"
85DEVICETREE_OVERLAY_OFFSET:versal-net ??= "0x1000"
81DEVICETREE_OVERLAY_PADSIZE ??= "0xf00000" 86DEVICETREE_OVERLAY_PADSIZE ??= "0xf00000"
82 87
83DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(append_baseaddr(d,d.getVar('DEVICETREE_OVERLAY_OFFSET')),16) \ 88DEVICETREE_OVERLAY_ADDRESS ?= "${@hex(int(append_baseaddr(d,d.getVar('DEVICETREE_OVERLAY_OFFSET')),16) \
@@ -89,6 +94,7 @@ KERNEL_OFFSET:microblaze ??= "0x0"
89KERNEL_OFFSET:zynqmp ??= "0x200000" 94KERNEL_OFFSET:zynqmp ??= "0x200000"
90KERNEL_OFFSET:zynq ??= "0x200000" 95KERNEL_OFFSET:zynq ??= "0x200000"
91KERNEL_OFFSET:versal ??= "0x200000" 96KERNEL_OFFSET:versal ??= "0x200000"
97KERNEL_OFFSET:versal-net ??= "0x200000"
92 98
93KERNEL_IMAGE ?= "${KERNEL_IMAGETYPE}" 99KERNEL_IMAGE ?= "${KERNEL_IMAGETYPE}"
94 100
@@ -98,6 +104,7 @@ RAMDISK_OFFSET:microblaze ??= "0x2e00000"
98RAMDISK_OFFSET:zynq ??= "0x4000000" 104RAMDISK_OFFSET:zynq ??= "0x4000000"
99RAMDISK_OFFSET:zynqmp ??= "0x4000000" 105RAMDISK_OFFSET:zynqmp ??= "0x4000000"
100RAMDISK_OFFSET:versal ??= "0x4000000" 106RAMDISK_OFFSET:versal ??= "0x4000000"
107RAMDISK_OFFSET:versal-net ??= "0x4000000"
101 108
102FIT_IMAGE_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('FIT_IMAGE_OFFSET'))}" 109FIT_IMAGE_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('FIT_IMAGE_OFFSET'))}"
103FIT_IMAGE_OFFSET ??= "0x10000000" 110FIT_IMAGE_OFFSET ??= "0x10000000"
@@ -143,18 +150,25 @@ QSPI_RAMDISK_SIZE:zynqmpdr ??= "0x1D00000"
143## For versal 150## For versal
144## Load boot.scr at 0x7F80000 -> 127MB of QSPI/NAND Memory 151## Load boot.scr at 0x7F80000 -> 127MB of QSPI/NAND Memory
145QSPI_KERNEL_OFFSET:versal ??= "0xF00000" 152QSPI_KERNEL_OFFSET:versal ??= "0xF00000"
153QSPI_KERNEL_OFFSET:versal-net ??= "0xF00000"
146QSPI_RAMDISK_OFFSET:versal ??= "0x2E00000" 154QSPI_RAMDISK_OFFSET:versal ??= "0x2E00000"
155QSPI_RAMDISK_OFFSET:versal-net ??= "0x2E00000"
147 156
148NAND_KERNEL_OFFSET:versal ??= "0x4100000" 157NAND_KERNEL_OFFSET:versal ??= "0x4100000"
158NAND_KERNEL_OFFSET:versal-net ??= "0x4100000"
149NAND_RAMDISK_OFFSET:versal ??= "0x8200000" 159NAND_RAMDISK_OFFSET:versal ??= "0x8200000"
160NAND_RAMDISK_OFFSET:versal-net ??= "0x8200000"
150 161
151QSPI_KERNEL_SIZE:versal ??= "0x1D00000" 162QSPI_KERNEL_SIZE:versal ??= "0x1D00000"
163QSPI_KERNEL_SIZE:versal-net ??= "0x1D00000"
152QSPI_RAMDISK_SIZE:versal ??= "0x4000000" 164QSPI_RAMDISK_SIZE:versal ??= "0x4000000"
165QSPI_RAMDISK_SIZE:versal-net ??= "0x4000000"
153 166
154QSPI_KERNEL_IMAGE:microblaze ?= "image.ub" 167QSPI_KERNEL_IMAGE:microblaze ?= "image.ub"
155QSPI_KERNEL_IMAGE:zynq ?= "image.ub" 168QSPI_KERNEL_IMAGE:zynq ?= "image.ub"
156QSPI_KERNEL_IMAGE:zynqmp ?= "image.ub" 169QSPI_KERNEL_IMAGE:zynqmp ?= "image.ub"
157QSPI_KERNEL_IMAGE:versal ?= "image.ub" 170QSPI_KERNEL_IMAGE:versal ?= "image.ub"
171QSPI_KERNEL_IMAGE:versal-net ?= "image.ub"
158 172
159NAND_KERNEL_IMAGE ?= "image.ub" 173NAND_KERNEL_IMAGE ?= "image.ub"
160 174
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc
index bd9711f5..e2ee2c3f 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc
@@ -75,7 +75,7 @@ do_deploy:prepend() {
75 fi 75 fi
76 76
77 # In ZynqMP u-boot.dtb is generated by default but not for versal, Hence manually deploy. 77 # In ZynqMP u-boot.dtb is generated by default but not for versal, Hence manually deploy.
78 if [ "${SOC_FAMILY}" == "versal" ]; then 78 if [ "${SOC_FAMILY}" == "versal" -o "${SOC_FAMILY}" == "versal-net" ]; then
79 if [ -f ${B}/arch/arm/dts/${UBOOT_USER_SPECIFIED_DTS}.dtb ]; then 79 if [ -f ${B}/arch/arm/dts/${UBOOT_USER_SPECIFIED_DTS}.dtb ]; then
80 install -Dm 0644 ${B}/arch/arm/dts/${UBOOT_USER_SPECIFIED_DTS}.dtb ${DEPLOYDIR}/u-boot.dtb 80 install -Dm 0644 ${B}/arch/arm/dts/${UBOOT_USER_SPECIFIED_DTS}.dtb ${DEPLOYDIR}/u-boot.dtb
81 fi 81 fi
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend
index fd3a3c11..8901a611 100644
--- a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend
@@ -3,3 +3,4 @@ QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G" 3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G" 4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G" 5QB_MEM:versal = "-m 16G"
6QB_MEM:versal-net = "-m 16G"
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend
deleted file mode 100644
index fd3a3c11..00000000
--- a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend
+++ /dev/null
@@ -1,5 +0,0 @@
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 e748c9e4..e7133ca9 100644
--- a/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend
@@ -3,6 +3,7 @@ QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G" 3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G" 4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G" 5QB_MEM:versal = "-m 16G"
6QB_MEM:versal-net = "-m 16G"
6 7
7# Zynq can't build qemu-xilinx or it's ptests 8# Zynq can't build qemu-xilinx or it's ptests
8PTESTS_FAST:remove:zynq = "qemu-ptest" 9PTESTS_FAST:remove:zynq = "qemu-ptest"
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
index fd3a3c11..8901a611 100644
--- a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
@@ -3,3 +3,4 @@ QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G" 3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G" 4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G" 5QB_MEM:versal = "-m 16G"
6QB_MEM:versal-net = "-m 16G"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb
index 083604dd..23f31802 100644
--- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb
+++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_6.6.10.bb
@@ -23,3 +23,4 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
23COMPATIBLE_MACHINE = "^$" 23COMPATIBLE_MACHINE = "^$"
24COMPATIBLE_MACHINE:zynqmp = "zynqmp" 24COMPATIBLE_MACHINE:zynqmp = "zynqmp"
25COMPATIBLE_MACHINE:versal = "versal" 25COMPATIBLE_MACHINE:versal = "versal"
26COMPATIBLE_MACHINE:versal-net = "versal-net"
diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb
index 72bad7aa..da056896 100644
--- a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb
+++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_6.6.10.bb
@@ -23,3 +23,4 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
23COMPATIBLE_MACHINE = "^$" 23COMPATIBLE_MACHINE = "^$"
24COMPATIBLE_MACHINE:zynqmp = "zynqmp" 24COMPATIBLE_MACHINE:zynqmp = "zynqmp"
25COMPATIBLE_MACHINE:versal = "versal" 25COMPATIBLE_MACHINE:versal = "versal"
26COMPATIBLE_MACHINE:versal-net = "versal-net"
diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
index a2fc6765..8eb742c9 100644
--- a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
+++ b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
@@ -16,6 +16,7 @@ COMPATIBLE_MACHINE:zynq = ".*"
16COMPATIBLE_MACHINE:zynqmp = ".*" 16COMPATIBLE_MACHINE:zynqmp = ".*"
17COMPATIBLE_MACHINE:microblaze = ".*" 17COMPATIBLE_MACHINE:microblaze = ".*"
18COMPATIBLE_MACHINE:versal = ".*" 18COMPATIBLE_MACHINE:versal = ".*"
19COMPATIBLE_MACHINE:versal-net = ".*"
19 20
20do_configure[noexec] = '1' 21do_configure[noexec] = '1'
21do_compile[noexec] = '1' 22do_compile[noexec] = '1'
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc
index 27d79964..3133c485 100644
--- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc
@@ -46,6 +46,7 @@ COMPATIBLE_MACHINE:zynq = ".*"
46COMPATIBLE_MACHINE:zynqmp = ".*" 46COMPATIBLE_MACHINE:zynqmp = ".*"
47COMPATIBLE_MACHINE:microblaze = ".*" 47COMPATIBLE_MACHINE:microblaze = ".*"
48COMPATIBLE_MACHINE:versal = ".*" 48COMPATIBLE_MACHINE:versal = ".*"
49COMPATIBLE_MACHINE:versal-net = ".*"
49 50
50# Use DEFCONFIGs for configuring linux-xlnx kernels 51# Use DEFCONFIGs for configuring linux-xlnx kernels
51KCONFIG_MODE ?= "alldefconfig" 52KCONFIG_MODE ?= "alldefconfig"
@@ -53,11 +54,13 @@ KBUILD_DEFCONFIG:zynqmp ?= "xilinx_defconfig"
53KBUILD_DEFCONFIG:zynq ?= "xilinx_zynq_defconfig" 54KBUILD_DEFCONFIG:zynq ?= "xilinx_zynq_defconfig"
54KBUILD_DEFCONFIG:microblaze ?= "mmu_defconfig" 55KBUILD_DEFCONFIG:microblaze ?= "mmu_defconfig"
55KBUILD_DEFCONFIG:versal ?= "xilinx_defconfig" 56KBUILD_DEFCONFIG:versal ?= "xilinx_defconfig"
57KBUILD_DEFCONFIG:versal-net ?= "xilinx_defconfig"
56 58
57KERNEL_FEATURES:append:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)}" 59KERNEL_FEATURES:append:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)}"
58 60
59KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}" 61KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}"
60 62
61KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc" 63KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc"
64KERNEL_FEATURES:append:versal-net = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc"
62 65
63KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}" 66KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}"
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
index ee6edac4..998ff99c 100644
--- a/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
@@ -11,6 +11,7 @@ LICENSE = "GPL-2.0-or-later & Apache-2.0"
11COMPATIBLE_MACHINE ?= "^$" 11COMPATIBLE_MACHINE ?= "^$"
12COMPATIBLE_MACHINE:zynqmp = ".*" 12COMPATIBLE_MACHINE:zynqmp = ".*"
13COMPATIBLE_MACHINE:versal = ".*" 13COMPATIBLE_MACHINE:versal = ".*"
14COMPATIBLE_MACHINE:versal-net = ".*"
14 15
15S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl" 16S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl"
16 17
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb
index ee6edac4..998ff99c 100644
--- a/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb
@@ -11,6 +11,7 @@ LICENSE = "GPL-2.0-or-later & Apache-2.0"
11COMPATIBLE_MACHINE ?= "^$" 11COMPATIBLE_MACHINE ?= "^$"
12COMPATIBLE_MACHINE:zynqmp = ".*" 12COMPATIBLE_MACHINE:zynqmp = ".*"
13COMPATIBLE_MACHINE:versal = ".*" 13COMPATIBLE_MACHINE:versal = ".*"
14COMPATIBLE_MACHINE:versal-net = ".*"
14 15
15S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl" 16S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl"
16 17
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb
index ee6edac4..998ff99c 100644
--- a/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202410.2.17.0.bb
@@ -11,6 +11,7 @@ LICENSE = "GPL-2.0-or-later & Apache-2.0"
11COMPATIBLE_MACHINE ?= "^$" 11COMPATIBLE_MACHINE ?= "^$"
12COMPATIBLE_MACHINE:zynqmp = ".*" 12COMPATIBLE_MACHINE:zynqmp = ".*"
13COMPATIBLE_MACHINE:versal = ".*" 13COMPATIBLE_MACHINE:versal = ".*"
14COMPATIBLE_MACHINE:versal-net = ".*"
14 15
15S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl" 16S = "${UNPACKDIR}/git/src/runtime_src/core/edge/drm/zocl"
16 17
diff --git a/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc
index fadc9486..f18cae89 100644
--- a/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc
@@ -1,15 +1,4 @@
1SRC_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"
2 2
3# 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 MACHINE_ARCH specific
4SOC_FAMILY_ARCH ??= "${TUNE_PKGARCH}" 4PACKAGE_ARCH:zynqmp = "${MACHINE_ARCH}"
5DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
6DEFAULT_PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}"
7PACKAGE_ARCH = "${DEFAULT_PACKAGE_ARCH}"
8
9
10# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
11DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
12MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
13MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
14PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
15PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass b/meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass
index ba453a75..17d8b159 100644
--- a/meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass
+++ b/meta-xilinx-standalone-sdt/classes-recipe/esw.bbclass
@@ -36,19 +36,7 @@ do_configure[depends] += "device-tree:do_deploy"
36do_compile[depends] += "device-tree:do_deploy" 36do_compile[depends] += "device-tree:do_deploy"
37do_install[depends] += "device-tree:do_deploy" 37do_install[depends] += "device-tree:do_deploy"
38 38
39def get_xlnx_cmake_machine(fam, variant, d): 39def get_xlnx_cmake_processor(tune, machine, d):
40 cmake_machine = fam
41 if (fam == 'zynqmp'):
42 cmake_machine = 'ZynqMP'
43 elif (fam == 'versal'):
44 cmake_machine = 'Versal'
45 if (variant == 'net'):
46 cmake_machine = 'VersalNet'
47 elif (fam == 'zynq'):
48 cmake_machine = 'Zynq'
49 return cmake_machine
50
51def get_xlnx_cmake_processor(tune, machine, variant, d):
52 cmake_processor = tune 40 cmake_processor = tune
53 if tune.startswith('microblaze'): 41 if tune.startswith('microblaze'):
54 if (machine == 'psu_pmu_0'): 42 if (machine == 'psu_pmu_0'):
@@ -67,12 +55,17 @@ def get_xlnx_cmake_processor(tune, machine, variant, d):
67 cmake_processor = 'cortexa53' 55 cmake_processor = 'cortexa53'
68 elif tune == 'cortexa72': 56 elif tune == 'cortexa72':
69 cmake_processor = 'cortexa72' 57 cmake_processor = 'cortexa72'
70 if (variant == 'net'): 58 elif tune == 'cortexa78':
71 cmake_processor = 'cortexa78' 59 cmake_processor = 'cortexa78'
72 return cmake_processor 60 return cmake_processor
73 61
74XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d.getVar('SOC_VARIANT'), d)}" 62XLNX_CMAKE_MACHINE = "undefined"
75XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d.getVar('SOC_VARIANT'), d)}" 63XLNX_CMAKE_MACHINE:zynq = "Zynq"
64XLNX_CMAKE_MACHINE:zynqmp = "ZynqMP"
65XLNX_CMAKE_MACHINE:versal = "Versal"
66XLNX_CMAKE_MACHINE:versal-net = "VersalNet"
67
68XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d)}"
76XLNX_CMAKE_SYSTEM_NAME ?= "Generic" 69XLNX_CMAKE_SYSTEM_NAME ?= "Generic"
77XLNX_CMAKE_BSP_VARS ?= "" 70XLNX_CMAKE_BSP_VARS ?= ""
78 71
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
index c2735424..2a00afac 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
@@ -6,6 +6,7 @@ inherit xlnx-embeddedsw deploy
6COMPATIBLE_HOST = "microblaze.*-elf" 6COMPATIBLE_HOST = "microblaze.*-elf"
7COMPATIBLE_MACHINE = "none" 7COMPATIBLE_MACHINE = "none"
8COMPATIBLE_MACHINE:versal = ".*" 8COMPATIBLE_MACHINE:versal = ".*"
9COMPATIBLE_MACHINE:versal-net = ".*"
9 10
10PACKAGE_ARCH = "${MACHINE_ARCH}" 11PACKAGE_ARCH = "${MACHINE_ARCH}"
11 12
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
index e12aeb6f..2bdb17ed 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
@@ -6,6 +6,7 @@ inherit xlnx-embeddedsw deploy
6COMPATIBLE_HOST = "microblaze.*-elf" 6COMPATIBLE_HOST = "microblaze.*-elf"
7COMPATIBLE_MACHINE = "none" 7COMPATIBLE_MACHINE = "none"
8COMPATIBLE_MACHINE:versal = ".*" 8COMPATIBLE_MACHINE:versal = ".*"
9COMPATIBLE_MACHINE:versal-net = ".*"
9 10
10PACKAGE_ARCH = "${MACHINE_ARCH}" 11PACKAGE_ARCH = "${MACHINE_ARCH}"
11 12