aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp/conf
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-bsp/conf')
-rw-r--r--meta-xilinx-bsp/conf/bblayers.conf.sample34
-rw-r--r--meta-xilinx-bsp/conf/layer.conf17
-rw-r--r--meta-xilinx-bsp/conf/local.conf.sample233
-rw-r--r--meta-xilinx-bsp/conf/machine/aarch32-tc.conf220
-rw-r--r--meta-xilinx-bsp/conf/machine/aarch64-tc.conf29
-rw-r--r--meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf50
-rw-r--r--meta-xilinx-bsp/conf/machine/arm-rm-tc.conf264
-rw-r--r--meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf3
-rw-r--r--meta-xilinx-bsp/conf/machine/cortexa72-versal.conf3
-rw-r--r--meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf1
-rw-r--r--meta-xilinx-bsp/conf/machine/cortexr5-versal.conf3
-rw-r--r--meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf3
-rw-r--r--meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf7
-rw-r--r--meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc79
-rw-r--r--meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc53
-rw-r--r--meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc14
-rw-r--r--meta-xilinx-bsp/conf/machine/include/soc-versal.inc17
-rw-r--r--meta-xilinx-bsp/conf/machine/include/soc-zynq.inc24
-rw-r--r--meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc28
-rw-r--r--meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc21
-rw-r--r--meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc10
-rw-r--r--meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf68
-rw-r--r--meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf50
-rw-r--r--meta-xilinx-bsp/conf/machine/microblaze-plm.conf10
-rw-r--r--meta-xilinx-bsp/conf/machine/microblaze-pmu.conf10
-rw-r--r--meta-xilinx-bsp/conf/machine/microblaze-tc.conf541
-rw-r--r--meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf14
-rw-r--r--meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf14
-rw-r--r--meta-xilinx-bsp/conf/machine/microzed-zynq7.conf31
-rw-r--r--meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf27
-rw-r--r--meta-xilinx-bsp/conf/machine/picozed-zynq7.conf35
-rw-r--r--meta-xilinx-bsp/conf/machine/qemu-zynq7.conf40
-rw-r--r--meta-xilinx-bsp/conf/machine/qemu-zynqmp-cg.conf42
-rw-r--r--meta-xilinx-bsp/conf/machine/qemu-zynqmp-dr.conf42
-rw-r--r--meta-xilinx-bsp/conf/machine/qemu-zynqmp-eg.conf42
-rw-r--r--meta-xilinx-bsp/conf/machine/qemu-zynqmp-ev.conf42
-rw-r--r--meta-xilinx-bsp/conf/machine/qemu-zynqmp.conf45
-rw-r--r--meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf23
-rw-r--r--meta-xilinx-bsp/conf/machine/system-zcu102.conf61
-rw-r--r--meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf35
-rw-r--r--meta-xilinx-bsp/conf/machine/v350-versal.conf29
-rw-r--r--meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf71
-rw-r--r--meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf32
-rw-r--r--meta-xilinx-bsp/conf/machine/vck190-versal.conf100
-rw-r--r--meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf50
-rw-r--r--meta-xilinx-bsp/conf/machine/vek280-versal.conf55
-rw-r--r--meta-xilinx-bsp/conf/machine/versal-generic.conf81
-rw-r--r--meta-xilinx-bsp/conf/machine/versal-mb.conf10
-rw-r--r--meta-xilinx-bsp/conf/machine/vmk180-versal.conf58
-rw-r--r--meta-xilinx-bsp/conf/machine/vpk120-versal.conf48
-rw-r--r--meta-xilinx-bsp/conf/machine/vpk180-versal.conf48
-rw-r--r--meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf30
-rw-r--r--meta-xilinx-bsp/conf/machine/zc702-zynq7.conf92
-rw-r--r--meta-xilinx-bsp/conf/machine/zc706-zynq7.conf92
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf101
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf68
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf68
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf65
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf63
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf67
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf63
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf63
-rw-r--r--meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf34
-rw-r--r--meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf40
-rw-r--r--meta-xilinx-bsp/conf/machine/zybo-zynq7.conf35
-rw-r--r--meta-xilinx-bsp/conf/machine/zynq-generic.conf40
-rw-r--r--meta-xilinx-bsp/conf/machine/zynqmp-generic.conf82
-rw-r--r--meta-xilinx-bsp/conf/multiconfig/fsblmc.conf8
-rw-r--r--meta-xilinx-bsp/conf/multiconfig/pmumc.conf8
69 files changed, 1063 insertions, 2823 deletions
diff --git a/meta-xilinx-bsp/conf/bblayers.conf.sample b/meta-xilinx-bsp/conf/bblayers.conf.sample
deleted file mode 100644
index e960dbd8..00000000
--- a/meta-xilinx-bsp/conf/bblayers.conf.sample
+++ /dev/null
@@ -1,34 +0,0 @@
-LCONF_VERSION = "7"
-
-BBPATH = "${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \
- ##OEROOT##/meta \
- ##OEROOT##/meta-poky \
- ##OEROOT##/../meta-openembedded/meta-perl \
- ##OEROOT##/../meta-openembedded/meta-python \
- ##OEROOT##/../meta-openembedded/meta-filesystems \
- ##OEROOT##/../meta-openembedded/meta-gnome \
- ##OEROOT##/../meta-openembedded/meta-multimedia \
- ##OEROOT##/../meta-openembedded/meta-networking \
- ##OEROOT##/../meta-openembedded/meta-webserver \
- ##OEROOT##/../meta-openembedded/meta-xfce \
- ##OEROOT##/../meta-openembedded/meta-initramfs \
- ##OEROOT##/../meta-openembedded/meta-oe \
- ##OEROOT##/../meta-browser \
- ##OEROOT##/../meta-qt5 \
- ##OEROOT##/../meta-xilinx/meta-xilinx-bsp \
- ##OEROOT##/../meta-xilinx/meta-xilinx-pynq \
- ##OEROOT##/../meta-xilinx/meta-xilinx-standalone \
- ##OEROOT##/../meta-xilinx/meta-xilinx-contrib \
- ##OEROOT##/../meta-xilinx-tools \
- ##OEROOT##/../meta-petalinux \
- ##OEROOT##/../meta-virtualization \
- ##OEROOT##/../meta-openamp \
- ##OEROOT##/../meta-jupyter \
-"
-
-BBLAYERS_NON_REMOVABLE ?= " \
- ##OEROOT##/meta \
-"
diff --git a/meta-xilinx-bsp/conf/layer.conf b/meta-xilinx-bsp/conf/layer.conf
index e69e7d13..42990b73 100644
--- a/meta-xilinx-bsp/conf/layer.conf
+++ b/meta-xilinx-bsp/conf/layer.conf
@@ -5,14 +5,15 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"
-BBFILE_COLLECTIONS += "xilinx"
-BBFILE_PATTERN_xilinx = "^${LAYERDIR}/"
-BBFILE_PRIORITY_xilinx = "5"
+BBFILES_DYNAMIC += " \
+xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bb \
+xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bbappend \
+"
-LAYERDEPENDS_xilinx = "core"
+BBFILE_COLLECTIONS += "xilinx-bsp"
+BBFILE_PATTERN_xilinx-bsp = "^${LAYERDIR}/"
+BBFILE_PRIORITY_xilinx-bsp = "5"
-LAYERSERIES_COMPAT_xilinx = "dunfell gatesgarth"
+LAYERDEPENDS_xilinx-bsp = "xilinx"
-BB_DANGLINGAPPENDS_WARNONLY ?= "1"
-
-XILINX_RELEASE_VERSION = "v2020.1"
+LAYERSERIES_COMPAT_xilinx-bsp = "scarthgap"
diff --git a/meta-xilinx-bsp/conf/local.conf.sample b/meta-xilinx-bsp/conf/local.conf.sample
deleted file mode 100644
index 377a5191..00000000
--- a/meta-xilinx-bsp/conf/local.conf.sample
+++ /dev/null
@@ -1,233 +0,0 @@
-#
-# This file is your local configuration file and is where all local user settings
-# are placed. The comments in this file give some guide to the options a new user
-# to the system might want to change but pretty much any configuration option can
-# be set in this file. More adventurous users can look at local.conf.extended
-# which contains other examples of configuration which can be placed in this file
-# but new users likely won't need any of them initially.
-#
-# Lines starting with the '#' character are commented out and in some cases the
-# default values are provided as comments to show people example syntax. Enabling
-# the option is a question of removing the # character and making any change to the
-# variable as required.
-
-# BASE = "${COREBASE}/../.."
-
-#
-# Machine Selection
-#
-# You need to select a specific machine to target the build with. There are a selection
-# of emulated machines available which can boot and run in the QEMU emulator:
-#
-# This sets the default machine if no other machine is selected:
-MACHINE ??= "qemuzynq"
-
-#
-# Where to place downloads
-#
-# During a first build the system will download many different source code tarballs
-# from various upstream projects. This can take a while, particularly if your network
-# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
-# can preserve this directory to speed up this part of subsequent builds. This directory
-# is safe to share between multiple builds on the same machine too.
-#
-# The default is a downloads directory under TOPDIR which is the build directory.
-#
-# DL_DIR ?= "${BASE}/downloads"
-
-#
-# Where to place shared-state files
-#
-# BitBake has the capability to accelerate builds based on previously built output.
-# This is done using "shared state" files which can be thought of as cache objects
-# and this option determines where those files are placed.
-#
-# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
-# from these files if no changes were made to the configuration. If changes were made
-# to the configuration, only shared state files where the state was still valid would
-# be used (done using checksums).
-#
-# The default is a sstate-cache directory under TOPDIR.
-#
-# SSTATE_DIR ?= "${BASE}/sstate-cache"
-
-#
-# Where to place the build output
-#
-# This option specifies where the bulk of the building work should be done and
-# where BitBake should place its temporary files and output. Keep in mind that
-# this includes the extraction and compilation of many applications and the toolchain
-# which can use Gigabytes of hard disk space.
-#
-# The default is a tmp directory under TOPDIR.
-#
-#TMPDIR = "${TOPDIR}/tmp"
-#
-#TMPDIR_versal = "${TOPDIR}/tmp-versal"
-
-#
-# Default policy config
-#
-# The distribution setting controls which policy settings are used as defaults.
-# The default value is fine for general Yocto project use, at least initially.
-# Ultimately when creating custom policy, people will likely end up subclassing
-# these defaults.
-#
-DISTRO ?= "petalinux"
-
-#
-# Package Management configuration
-#
-# This variable lists which packaging formats to enable. Multiple package backends
-# can be enabled at once and the first item listed in the variable will be used
-# to generate the root filesystems.
-# Options are:
-# - 'package_deb' for debian style deb files
-# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
-# - 'package_rpm' for rpm style packages
-# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
-# We default to rpm:
-PACKAGE_CLASSES ?= "package_rpm"
-
-#
-# SDK/ADT target architecture
-#
-# This variable specifies the architecture to build SDK/ADT items for and means
-# you can build the SDK packages for architectures other than the machine you are
-# running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
-#SDKMACHINE ?= "i686"
-
-#
-# Extra image configuration defaults
-#
-# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
-# images. Some of these options are added to certain image types automatically. The
-# variable can contain the following options:
-# "dbg-pkgs" - add -dbg packages for all installed packages
-# (adds symbol information for debugging/profiling)
-# "dev-pkgs" - add -dev packages for all installed packages
-# (useful if you want to develop against libs in the image)
-# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
-# (useful if you want to run the package test suites)
-# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
-# "tools-debug" - add debugging tools (gdb, strace)
-# "eclipse-debug" - add Eclipse remote debugging support
-# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
-# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
-# "debug-tweaks" - make an image suitable for development
-# e.g. ssh root access has a blank password
-# There are other application targets that can be used here too, see
-# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
-# We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
-
-#
-# Additional image features
-#
-# The following is a list of additional classes to use when building images which
-# enable extra features. Some available options which can be included in this variable
-# are:
-# - 'buildstats' collect build statistics
-# - 'image-mklibs' to reduce shared library files size for an image
-# - 'image-prelink' in order to prelink the filesystem image
-# - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-mklibs"
-
-#
-# Runtime testing of images
-#
-# The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
-#
-# Interactive shell configuration
-#
-# Under certain circumstances the system may need input from you and to do this it
-# can launch an interactive shell. It needs to do this since the build is
-# multithreaded and needs to be able to handle the case where more than one parallel
-# process may require the user's attention. The default is iterate over the available
-# terminal types to find one that works.
-#
-# Examples of the occasions this may happen are when resolving patches which cannot
-# be applied, to use the devshell or the kernel menuconfig
-#
-# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
-# Note: currently, Konsole support only works for KDE 3.x due to the way
-# newer Konsole versions behave
-#OE_TERMINAL = "auto"
-# By default disable interactive patch resolution (tasks will just fail instead):
-PATCHRESOLVE = "noop"
-
-#
-# Disk Space Monitoring during the build
-#
-# Monitor the disk space during the build. If there is less that 1GB of space or less
-# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
-# of the build. The reason for this is that running completely out of space can corrupt
-# files and damages the build in ways which may not be easily recoverable.
-# It's necesary to monitor /tmp, if there is no space left the build will fail
-# with very exotic errors.
-BB_DISKMON_DIRS = "\
- STOPTASKS,${TMPDIR},1G,100K \
- STOPTASKS,${DL_DIR},1G,100K \
- STOPTASKS,${SSTATE_DIR},1G,100K \
- STOPTASKS,/tmp,100M,100K \
- ABORT,${TMPDIR},100M,1K \
- ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K \
- ABORT,/tmp,10M,1K"
-
-#
-# Shared-state files from other locations
-#
-# As mentioned above, shared state files are prebuilt cache data objects which can
-# used to accelerate build time. This variable can be used to configure the system
-# to search other mirror locations for these objects before it builds the data itself.
-#
-# This can be a filesystem directory, or a remote url such as http or ftp. These
-# would contain the sstate-cache results from previous builds (possibly from other
-# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
-# cache locations to check for the shared objects.
-# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
-# at the end as shown in the examples below. This will be substituted with the
-# correct path within the directory structure.
-#SSTATE_MIRRORS ?= "\
-#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
-#file://.* file:///some/local/dir/sstate/PATH"
-
-XILINX_VER_MAIN = "2020.1"
-
-# Uncomment below lines to provide path for custom xsct trim
-# This is required for building Versal based devices, please fetch the
-# xsct-trim from Xilinx lounge area
-#
-#EXTERNAL_XSCT_TARBALL = "/proj/yocto/xsct-trim/2020.1_xsct_daily_latest"
-#VALIDATE_XSCT_CHECKSUM = '0'
-
-# XILINX_VIVADO_DESIGN_SUIT should point to the Vivado installation directly if you are using xilinx-mcs recipe in meta-xilinx-tools
-#XILINX_VIVADO_DESIGN_SUIT = "/proj/xbuilds/2018.3_daily_latest/installs/lin64/Vivado/2018.3"
-
-# INHERIT += "externalsrc"
-# PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev"
-# EXTERNALSRC_pn-linux-xlnx-dev = "${BASE}/sources/linux"
-# RM_WORK_EXCLUDE += "linux-xlnx-dev"
-
-# PREFERRED_PROVIDER_virtual/bootloader = "u-boot-xlnx-dev"
-# EXTERNALSRC_pn-u-boot-xlnx-dev = "${BASE}/sources/u-boot"
-# RM_WORK_EXCLUDE += "u-boot-xlnx-dev"
-
-#Add below lines to use runqemu for ZU+ machines
-PMU_FIRMWARE_DEPLOY_DIR = "${DEPLOY_DIR_IMAGE}"
-PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}"
-
-# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
-# track the version of this file when it was generated. This can safely be ignored if
-# this doesn't mean anything to you.
-CONF_VERSION = "1"
-
diff --git a/meta-xilinx-bsp/conf/machine/aarch32-tc.conf b/meta-xilinx-bsp/conf/machine/aarch32-tc.conf
deleted file mode 100644
index 72fbc80f..00000000
--- a/meta-xilinx-bsp/conf/machine/aarch32-tc.conf
+++ /dev/null
@@ -1,220 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/tune-cortexa9.inc
-require conf/machine/include/baremetal-tc.conf
-
-# Define all of the multilibs supproted by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-
-MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
-MULTILIBS += "multilib:libnofp"
-MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
-MULTILIBS += "multilib:libv7anofp"
-MULTILIBS += "multilib:libv7afpsoftfp"
-MULTILIBS += "multilib:libv7afpthf multilib:libv7asimdsoftfp"
-MULTILIBS += "multilib:libv7asimdhard multilib:libv7vesimdsoftfp"
-MULTILIBS += "multilib:libvtvesimdhf"
-MULTILIBS += "multilib:libv8anofp"
-MULTILIBS += "multilib:libv8asimdsoftfp multilib:libv8asimdhard"
-
-TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "aarch32"
-
-AVAILTUNES += "aarch32"
-PACKAGE_EXTRA_ARCHS_tune-aarch32 = "${TUNE_PKGARCH_tune-aarch32}"
-BASE_LIB_tune-aarch32 = "lib"
-TUNE_FEATURES_tune-aarch32 = "arm"
-TUNE_CCARGS_tune-aarch32 = ""
-TUNE_PKGARCH_tune-aarch32 = "aarch32"
-
-
-# arm/v5te/softfp
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
-
-AVAILTUNES += "armv5tesoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
-BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
-TUNE_FEATURES_tune-armv5tesoftfp = "arm"
-TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
-
-
-# arm/v5te/hard
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
-
-AVAILTUNES += "armv5tehard"
-PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
-BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
-TUNE_FEATURES_tune-armv5tehard = "arm"
-TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
-
-
-# thumb/nofp
-# CFLAGS: -mthumb -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
-
-AVAILTUNES += "armnofp"
-PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
-BASE_LIB_tune-armnofp = "lib/thumb/nofp"
-TUNE_FEATURES_tune-armnofp = "arm"
-TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armnofp = "armt"
-
-
-# thumb/v7/nofp
-# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
-
-AVAILTUNES += "armv7nofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
-BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
-TUNE_FEATURES_tune-armv7nofp = "arm"
-TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7nofp = "armv7t"
-
-
-# thumb/v7+fp/softfp
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
-
-AVAILTUNES += "armv7fpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
-BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
-TUNE_FEATURES_tune-armv7fpsoftfp = "arm"
-TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
-
-
-# thumb/v7+fp/hard
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
-
-AVAILTUNES += "armv7fphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
-BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
-TUNE_FEATURES_tune-armv7fphard = "arm"
-TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
-
-
-# thumb/v7-a/nofp
-# CFLAGS: -mthumb -march=armv7-a -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7anofp = "armv7anofp"
-
-AVAILTUNES += "armv7anofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7anofp = "${TUNE_PKGARCH_tune-armv7anofp}"
-BASE_LIB_tune-armv7anofp = "lib/thumb/v7-a/nofp"
-TUNE_FEATURES_tune-armv7anofp = "arm"
-TUNE_CCARGS_tune-armv7anofp = "-mthumb -march=armv7-a -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7anofp = "armv7at"
-
-
-# thumb/v7-a+fp/softfp
-# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7afpsoftfp = "armv7afpsoftfp"
-
-AVAILTUNES += "armv7afpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7afpsoftfp = "${TUNE_PKGARCH_tune-armv7afpsoftfp}"
-BASE_LIB_tune-armv7afpsoftfp = "lib/thumb/v7-a+fp/softfp"
-TUNE_FEATURES_tune-armv7afpsoftfp = "arm"
-TUNE_CCARGS_tune-armv7afpsoftfp = "-mthumb -march=armv7-a+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7afpsoftfp = "armv7afpt"
-
-
-# thumb/v7-a+fp/hard
-# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7afpthf = "armv7afpthf"
-
-AVAILTUNES += "armv7afpthf"
-PACKAGE_EXTRA_ARCHS_tune-armv7afpthf = "${TUNE_PKGARCH_tune-armv7afpthf}"
-BASE_LIB_tune-armv7afpthf = "lib/thumb/v7-a+fp/hard"
-TUNE_FEATURES_tune-armv7afpthf = "arm"
-TUNE_CCARGS_tune-armv7afpthf = "-mthumb -march=armv7-a+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7afpthf = "armv7afpthf"
-
-# thumb/v7-a+simd/softfp
-# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7asimdsoftfp = "armv7asimdsoftfp"
-
-AVAILTUNES += "armv7asimdsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7asimdsoftfp = "${TUNE_PKGARCH_tune-armv7asimdsoftfp}"
-BASE_LIB_tune-armv7asimdsoftfp = "lib/thumb/v7-a+simd/softfp"
-TUNE_FEATURES_tune-armv7asimdsoftfp = "arm"
-TUNE_CCARGS_tune-armv7asimdsoftfp = "-mthumb -march=armv7-a+simd -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7asimdsoftfp = "armv7asimdt"
-
-
-# thumb/v7-a+simd/hard
-# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7asimdhard = "armv7asimdhard"
-
-AVAILTUNES += "armv7asimdhard"
-PACKAGE_EXTRA_ARCHS_tune-armv7asimdhard = "${TUNE_PKGARCH_tune-armv7asimdhard}"
-BASE_LIB_tune-armv7asimdhard = "lib/thumb/v7-a+simd/hard"
-TUNE_FEATURES_tune-armv7asimdhard = "arm"
-TUNE_CCARGS_tune-armv7asimdhard = "-mthumb -march=armv7-a+simd -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7asimdhard = "armv7asimdthf"
-
-
-# thumb/v7ve+simd/softfp
-# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7vesimdsoftfp = "armv7vesimdsoftfp"
-
-AVAILTUNES += "armv7vesimdsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7vesimdsoftfp = "${TUNE_PKGARCH_tune-armv7vesimdsoftfp}"
-BASE_LIB_tune-armv7vesimdsoftfp = "lib/thumb/v7ve+simd/softfp"
-TUNE_FEATURES_tune-armv7vesimdsoftfp = "arm"
-TUNE_CCARGS_tune-armv7vesimdsoftfp = "-mthumb -march=armv7ve+simd -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7vesimdsoftfp = "armv7vesimdt"
-
-# thumb/v7ve+simd/hard
-# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libvtvesimdhf = "armvtvesimdhf"
-
-AVAILTUNES += "armvtvesimdhf"
-PACKAGE_EXTRA_ARCHS_tune-armvtvesimdhf = "${TUNE_PKGARCH_tune-armvtvesimdhf}"
-BASE_LIB_tune-armvtvesimdhf = "lib/thumb/v7ve+simd/hard"
-TUNE_FEATURES_tune-armvtvesimdhf = "arm"
-TUNE_CCARGS_tune-armvtvesimdhf = "-mthumb -march=armv7ve+simd -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armvtvesimdhf = "armv7vesimdthf"
-
-
-# thumb/v8-a/nofp
-# CFLAGS: -mthumb -march=armv8-a -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv8anofp = "armv8anofp"
-
-AVAILTUNES += "armv8anofp"
-PACKAGE_EXTRA_ARCHS_tune-armv8anofp = "${TUNE_PKGARCH_tune-armv8anofp}"
-BASE_LIB_tune-armv8anofp = "lib/thumb/v8-a/nofp"
-TUNE_FEATURES_tune-armv8anofp = "arm"
-TUNE_CCARGS_tune-armv8anofp = "-mthumb -march=armv8-a -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv8anofp = "armv8at"
-
-# thumb/v8-a+simd/softfp
-# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv8asimdsoftfp = "armv8asimdsoftfp"
-
-AVAILTUNES += "armv8asimdsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv8asimdsoftfp = "${TUNE_PKGARCH_tune-armv8asimdsoftfp}"
-BASE_LIB_tune-armv8asimdsoftfp = "lib/thumb/v8-a+simd/softfp"
-TUNE_FEATURES_tune-armv8asimdsoftfp = "arm"
-TUNE_CCARGS_tune-armv8asimdsoftfp = "-mthumb -march=armv8-a+simd -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv8asimdsoftfp = "armv8asimdt"
-
-
-# thumb/v8-a+simd/hard
-# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv8asimdhard = "armv8asimdhard"
-
-AVAILTUNES += "armv8asimdhard"
-PACKAGE_EXTRA_ARCHS_tune-armv8asimdhard = "${TUNE_PKGARCH_tune-armv8asimdhard}"
-BASE_LIB_tune-armv8asimdhard = "lib/thumb/v8-a+simd/hard"
-TUNE_FEATURES_tune-armv8asimdhard = "arm"
-TUNE_CCARGS_tune-armv8asimdhard = "-mthumb -march=armv8-a+simd -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv8asimdhard = "armv8asimdthf"
diff --git a/meta-xilinx-bsp/conf/machine/aarch64-tc.conf b/meta-xilinx-bsp/conf/machine/aarch64-tc.conf
deleted file mode 100644
index e9e0412b..00000000
--- a/meta-xilinx-bsp/conf/machine/aarch64-tc.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/tune-cortexa72-cortexa53.inc
-require conf/machine/include/baremetal-tc.conf
-
-# Define ilp32 variant (not in tune files)
-TUNEVALID[ilp32] = "ilp32 ABI"
-
-TUNE_CCARGS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " -mabi=ilp32", "", d)}'
-
-# ILP request an alternative machine dictionary
-INHERIT += "xlnx-standalone"
-PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " xlnx_ilp32_dict", "", d)}'
-
-# Define all of the multilibs supported by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-MULTILIBS = "multilib:libilp32"
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "cortexa72-cortexa53"
-
-# CFLAGS: -mabi=ilp32
-DEFAULTTUNE_virtclass-multilib-libilp32 = "cortexa72-cortexa53-ilp32"
-
-AVAILTUNES += "cortexa72-cortexa53-ilp32"
-ARMPKGARCH_tune-cortexa72-cortexa53-ilp32 = "${ARMPKGARCH_tune-cortexa72-cortexa53}_ilp32"
-TUNE_FEATURES_tune-cortexa72-cortexa53-ilp32 = "${TUNE_FEATURES_tune-cortexa72-cortexa53} ilp32"
-PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-ilp32 = "${PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53} cortexa72-cortexa53-ilp32"
-BASE_LIB_tune-cortexa72-cortexa53-ilp32 = "lib/ilp32"
diff --git a/meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf b/meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf
new file mode 100644
index 00000000..27cb3939
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf
@@ -0,0 +1,50 @@
+#@TYPE: Machine
+#@NAME: ac701-microblazeel
+#@DESCRIPTION: Machine configuration for the AC701 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'ac701-microblazeel:']['ac701-microblazeel' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in microblazeel-generic.conf will be set.
+
+# Yocto AC701 device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "MIG_7SERIES_0"
+DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
+DTC_FLAGS:pn-device-tree ?= ""
+XSCTH_PROC:pn-device-tree ?= "microblaze_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD ac701-full}"
+
+# Yocto FS-Boot variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "MIG_7SERIES_0"
+YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
+XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x80000000"
+UBOOT_LOADADDRESS ?= "0x80000000"
+
+# ac701-microblazeel Serial Console
+SERIAL_CONSOLES ?= "115200;ttyUL0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Set DDR Base address for u-boot-xlnx-scr variables
+DDR_BASEADDR ?= "0x80000000"
+SKIP_APPEND_BASEADDR ?= "0"
+
+# Required generic machine inclusion
+require conf/machine/microblaze-generic.conf
+
+# This machine conf file uses ac701-microblazeel xsa as reference input.
+# User can override with ac701 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "ac701-microblazeel"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' ac701_microblazeel']['ac701-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf b/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf
deleted file mode 100644
index c1313339..00000000
--- a/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf
+++ /dev/null
@@ -1,264 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/tune-cortexrm.inc
-require conf/machine/include/baremetal-tc.conf
-
-# Define all of the multilibs supproted by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-
-MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
-MULTILIBS += "multilib:libnofp"
-MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
-MULTILIBS += "multilib:libv6mnofp"
-MULTILIBS += "multilib:libv7mnofp"
-MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp"
-MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp"
-MULTILIBS += "multilib:libv7emdphard"
-MULTILIBS += "multilib:libv8mbasenofp"
-MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard"
-
-TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
-TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "armrm"
-
-AVAILTUNES += "armrm"
-PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}"
-BASE_LIB_tune-armrm = "lib"
-TUNE_FEATURES_tune-armrm = "arm armrm"
-TUNE_CCARGS_tune-armrm = ""
-TUNE_PKGARCH_tune-armrm = "armrm"
-
-
-# arm/v5te/softfp
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
-
-AVAILTUNES += "armv5tesoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
-BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
-TUNE_FEATURES_tune-armv5tesoftfp = "arm armrm"
-TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
-
-
-# arm/v5te/hard
-# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
-
-AVAILTUNES += "armv5tehard"
-PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
-BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
-TUNE_FEATURES_tune-armv5tehard = "arm armrm"
-TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
-
-
-# thumb/nofp
-# CFLAGS: -mthumb -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
-
-AVAILTUNES += "armnofp"
-PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
-BASE_LIB_tune-armnofp = "lib/thumb/nofp"
-TUNE_FEATURES_tune-armnofp = "arm armrm"
-TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armnofp = "armt"
-
-
-# thumb/v7/nofp
-# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
-
-AVAILTUNES += "armv7nofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
-BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
-TUNE_FEATURES_tune-armv7nofp ="arm armrm"
-TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7nofp = "armv7t"
-
-
-# thumb/v7+fp/softfp
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
-
-AVAILTUNES += "armv7fpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
-BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
-TUNE_FEATURES_tune-armv7fpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
-
-
-# thumb/v7+fp/hard
-# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
-
-AVAILTUNES += "armv7fphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
-BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
-TUNE_FEATURES_tune-armv7fphard ="arm armrm"
-TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
-
-
-# thumb/v6-m/nofp
-# CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp"
-
-# Workaround for this multilib in newlib
-# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip
-EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls"
-
-AVAILTUNES += "armv6mnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}"
-BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp"
-TUNE_FEATURES_tune-armv6mnofp ="arm armrm"
-TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv6mnofp = "armv6smt"
-
-
-# thumb/v7-m/nofp
-# CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp"
-
-AVAILTUNES += "armv7mnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}"
-BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp"
-TUNE_FEATURES_tune-armv7mnofp ="arm armrm"
-TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7mnofp = "armv7mt"
-
-
-# thumb/v7e-m/nofp
-# CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp"
-
-AVAILTUNES += "armv7emnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}"
-BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp"
-TUNE_FEATURES_tune-armv7emnofp ="arm armrm"
-TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv7emnofp = "armv7emt"
-
-
-# thumb/v7e-m+fp/softfp
-# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp"
-
-AVAILTUNES += "armv7emfpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}"
-BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp"
-TUNE_FEATURES_tune-armv7emfpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt"
-
-
-# thumb/v7e-m+fp/hard
-# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard"
-
-AVAILTUNES += "armv7emfphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}"
-BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard"
-TUNE_FEATURES_tune-armv7emfphard ="arm armrm"
-TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf"
-
-
-# thumb/v7e-m+dp/softfp
-# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp"
-
-AVAILTUNES += "armv7emdpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}"
-BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp"
-TUNE_FEATURES_tune-armv7emdpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp"
-
-# thumb/v7e-m+dp/hard
-# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard"
-
-AVAILTUNES += "armv7emdphard"
-PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}"
-BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard"
-TUNE_FEATURES_tune-armv7emdphard ="arm armrm"
-TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf"
-
-
-# thumb/v8-m.base/nofp
-# CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp"
-
-# Workaround for this multilib in newlib
-# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip'
-EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls"
-
-AVAILTUNES += "armv8mbasenofp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}"
-BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp"
-TUNE_FEATURES_tune-armv8mbasenofp ="arm armrm"
-TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset"
-
-# thumb/v8-m.main/nofp
-# CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft
-DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp"
-
-AVAILTUNES += "armv8mmainnofp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}"
-BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp"
-TUNE_FEATURES_tune-armv8mmainnofp ="arm armrm"
-TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft"
-TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint"
-
-
-# thumb/v8-m.main+fp/softfp
-# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp"
-
-AVAILTUNES += "armv8mmainfpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}"
-BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp"
-TUNE_FEATURES_tune-armv8mmainfpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt"
-
-# thumb/v8-m.main+fp/hard
-# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard"
-
-AVAILTUNES += "armv8mmainfphard"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}"
-BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard"
-TUNE_FEATURES_tune-armv8mmainfphard ="arm armrm"
-TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf"
-
-
-# thumb/v8-m.main+dp/softfp
-# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp
-DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp"
-
-AVAILTUNES += "armv8mmaindpsoftfp"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}"
-BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp"
-TUNE_FEATURES_tune-armv8mmaindpsoftfp ="arm armrm"
-TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp"
-TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt"
-
-
-# thumb/v8-m.main+dp/hard
-# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard
-DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard"
-
-AVAILTUNES += "armv8mmaindphard"
-PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}"
-BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard"
-TUNE_FEATURES_tune-armv8mmaindphard ="arm armrm"
-TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard"
-TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf"
diff --git a/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf b/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf
deleted file mode 100644
index d2bbab0d..00000000
--- a/meta-xilinx-bsp/conf/machine/cortexa53-zynqmp.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexa53"
-
-require conf/machine/include/soc-zynqmp.inc
diff --git a/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf b/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf
deleted file mode 100644
index 27e109c0..00000000
--- a/meta-xilinx-bsp/conf/machine/cortexa72-versal.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexa72"
-
-require conf/machine/include/soc-versal.inc
diff --git a/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf b/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf
deleted file mode 100644
index 02568109..00000000
--- a/meta-xilinx-bsp/conf/machine/cortexa9-zynq.conf
+++ /dev/null
@@ -1 +0,0 @@
-require conf/machine/include/soc-zynq.inc
diff --git a/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf b/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf
deleted file mode 100644
index fa58dc00..00000000
--- a/meta-xilinx-bsp/conf/machine/cortexr5-versal.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexr5f"
-
-require conf/machine/include/soc-versal.inc
diff --git a/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf b/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf
deleted file mode 100644
index 817150f8..00000000
--- a/meta-xilinx-bsp/conf/machine/cortexr5-zynqmp.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "cortexr5f"
-
-require conf/machine/include/soc-zynqmp.inc
diff --git a/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf b/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf
deleted file mode 100644
index a53ceac2..00000000
--- a/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# This is specific to baremetal toolchains only.
-#
-# Some of the operations we want to do are different then regular Yocto
-# Project SDK workflows, so wrap baremetal toolchain items in a custom
-# override:
-
-MACHINEOVERRIDES_append = ":baremetal-multilib-tc"
diff --git a/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
deleted file mode 100644
index f2533be7..00000000
--- a/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
+++ /dev/null
@@ -1,79 +0,0 @@
-# Default Xilinx BSP Machine settings
-
-MACHINE_FEATURES_BACKFILL_CONSIDERED += "rtc"
-
-# File System Configuration
-IMAGE_FSTYPES ?= "tar.gz cpio cpio.gz.u-boot"
-
-# Kernel Configuration
-PREFERRED_PROVIDER_virtual/kernel ??= "linux-xlnx"
-
-# U-Boot Configuration
-PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-xlnx"
-PREFERRED_PROVIDER_virtual/boot-bin ??= "${PREFERRED_PROVIDER_virtual/bootloader}"
-
-do_image_wic[depends] += "${@' '.join('%s:do_deploy' % r for r in (d.getVar('WIC_DEPENDS') or "").split())}"
-
-UBOOT_SUFFIX ?= "img"
-UBOOT_SUFFIX_microblaze ?= "bin"
-
-UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
-UBOOT_ELF ?= "u-boot"
-UBOOT_ELF_aarch64 ?= "u-boot.elf"
-
-#Hardware accelaration
-PREFERRED_PROVIDER_virtual/libgles1_mali400 = "libmali-xlnx"
-PREFERRED_PROVIDER_virtual/libgles2_mali400 = "libmali-xlnx"
-PREFERRED_PROVIDER_virtual/egl_mali400 = "libmali-xlnx"
-PREFERRED_PROVIDER_virtual/libgl_mali400 = "mesa-gl"
-PREFERRED_PROVIDER_virtual/mesa_mali400 = "mesa-gl"
-
-# microblaze does not get on with pie for reasons not looked into as yet
-GCCPIE_microblaze = ""
-GLIBCPIE_microblaze = ""
-SECURITY_CFLAGS_microblaze = ""
-SECURITY_LDFLAGS_microblaze = ""
-# Microblaze does not support gnu hash style
-LINKER_HASH_STYLE_microblaze = "sysv"
-
-XSERVER ?= " \
- xserver-xorg \
- xf86-input-evdev \
- xf86-input-mouse \
- xf86-input-keyboard \
- xf86-video-fbdev \
- ${XSERVER_EXT} \
- "
-
-IMAGE_BOOT_FILES ?= "${@get_default_image_boot_files(d)}"
-
-def get_default_image_boot_files(d):
- files = []
-
- # kernel images
- kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split())
- kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split())
- for i in kerneltypes:
- files.append(i)
-
- # u-boot image
- if d.getVar("UBOOT_BINARY"):
- files.append(d.getVar("UBOOT_BINARY"))
-
- # device trees (device-tree only), these are first as they are likely desired over the kernel ones
- if "device-tree" in (d.getVar("MACHINE_ESSENTIAL_EXTRA_RDEPENDS") or ""):
- files.append("devicetree/*.dtb")
-
-
- # device trees (kernel only)
- if d.getVar("KERNEL_DEVICETREE"):
- dtbs = d.getVar("KERNEL_DEVICETREE").split(" ")
- dtbs = [os.path.basename(d) for d in dtbs]
- for dtb in dtbs:
- files.append(dtb)
-
- return " ".join(files)
-
-XSERVER_EXT ?= ""
-
-FPGA_MNGR_RECONFIG_ENABLE ?= "${@bb.utils.contains('IMAGE_FEATURES', 'fpga-manager', '1', '0', d)}"
diff --git a/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
deleted file mode 100644
index 886cad24..00000000
--- a/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
+++ /dev/null
@@ -1,53 +0,0 @@
-# This include is used to setup default QEMU and qemuboot config for meta-xilinx
-# machines.
-
-# Use the xilinx specific version for these users
-IMAGE_CLASSES += "qemuboot-xilinx"
-
-# depend on qemu-helper-native, which will depend on QEMU
-EXTRA_IMAGEDEPENDS += "qemu-xilinx-helper-native"
-
-PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
-PREFERRED_PROVIDER_qemu = "qemu-xilinx"
-
-def qemu_default_dtb(d):
- if d.getVar("IMAGE_BOOT_FILES", True):
- dtbs = d.getVar("IMAGE_BOOT_FILES", True).split(" ")
- # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
- # Note: Wildcard sources work here only because runqemu expands them at run time
- dtbs = [f.split(";")[0] for f in dtbs]
- dtbs = [f for f in dtbs if f.endswith(".dtb")]
- if len(dtbs) != 0:
- return dtbs[0]
- return ""
-
-def qemu_default_serial(d):
- if d.getVar("SERIAL_CONSOLES", True):
- first_console = d.getVar("SERIAL_CONSOLES", True).split(" ")[0]
- speed, console = first_console.split(";", 1)
- # zynqmp uses earlycon and stdout (in dtb)
- if "zynqmp" in d.getVar("MACHINEOVERRIDES", True).split(":"):
- return ""
- return "console=%s,%s earlyprintk" % (console, speed)
- return ""
-
-def qemu_target_binary(d):
- ta = d.getVar("TARGET_ARCH", True)
- if ta == "microblazeeb":
- ta = "microblaze"
- elif ta == "arm":
- ta = "aarch64"
- return "qemu-system-%s" % ta
-
-def qemu_zynqmp_unhalt(d, multiarch):
- if multiarch:
- return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true"
- return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4"
-
-# For qemuboot, default setup across all machines in meta-xilinx
-QB_SYSTEM_NAME_aarch64 ?= "${@qemu_target_binary(d)}-multiarch"
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE ?= "cpio"
-QB_DTB ?= "${@qemu_default_dtb(d)}"
-QB_KERNEL_CMDLINE_APPEND ?= "${@qemu_default_serial(d)}"
-
diff --git a/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc b/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
deleted file mode 100644
index 7b6bd12a..00000000
--- a/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-# Unfortunately various tunefiles don't include each other, so create
-# a list of things to require based on the DEFAULTTUNE setting.
-TUNEFILE[cortexr5] = "conf/machine/include/tune-cortexrm.inc"
-TUNEFILE[cortexr5f] = "conf/machine/include/tune-cortexrm.inc"
-TUNEFILE[cortexa9thf-neon] = "conf/machine/include/tune-cortexa9.inc"
-TUNEFILE[cortexa53] = "conf/machine/include/tune-cortexa53.inc"
-TUNEFILE[cortexa72] = "conf/machine/include/tune-cortexa72.inc"
-TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/tune-cortexa72-cortexa53.inc"
-TUNEFILE[microblaze] = "conf/machine/include/tune-microblaze.inc"
-
-# Default to arch-armv8a.inc
-TUNEFILE = "${@ d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) if d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) else 'conf/machine/include/arm/arch-armv8a.inc'}"
-
-require ${TUNEFILE}
diff --git a/meta-xilinx-bsp/conf/machine/include/soc-versal.inc b/meta-xilinx-bsp/conf/machine/include/soc-versal.inc
deleted file mode 100644
index c32880b1..00000000
--- a/meta-xilinx-bsp/conf/machine/include/soc-versal.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-DEFAULTTUNE ?= "cortexa72-cortexa53"
-SOC_FAMILY ?= "versal"
-
-# Available SOC_VARIANT's for versal:
-# virt
-
-SOC_VARIANT ?= "s80"
-
-require soc-tune-include.inc
-require xilinx-soc-family.inc
-
-# Linux Configuration
-KERNEL_IMAGETYPE ?= "Image"
-
-WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware"
-
-UBOOT_ELF ?= "u-boot.elf"
diff --git a/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc b/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc
deleted file mode 100644
index 0111cbd9..00000000
--- a/meta-xilinx-bsp/conf/machine/include/soc-zynq.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-DEFAULTTUNE ?= "cortexa9thf-neon"
-SOC_FAMILY ?= "zynq"
-
-# Available SOC_VARIANT's for zynq:
-# 7zs - Zynq-7000 Single A9 Core
-# 7z - Zynq-7000 Dual A9 Core
-
-SOC_VARIANT ?= "7z"
-
-require soc-tune-include.inc
-require xilinx-soc-family.inc
-
-# Linux Configuration
-KERNEL_IMAGETYPE ?= "uImage"
-KERNEL_IMAGETYPES += "zImage"
-
-# Set default load address.
-# Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
-KERNEL_EXTRA_ARGS_zynq += "UIMAGE_LOADADDR=0x8000"
-
-# WIC Specific dependencies
-WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin"
-
-UBOOT_ELF ?= "u-boot.elf"
diff --git a/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc b/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc
deleted file mode 100644
index 8d421fb3..00000000
--- a/meta-xilinx-bsp/conf/machine/include/soc-zynqmp.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-DEFAULTTUNE ?= "cortexa72-cortexa53"
-SOC_FAMILY ?= "zynqmp"
-
-# Available SOC_VARIANT's for zynqmp:
-# "cg" - Zynq UltraScale+ CG Devices
-# "eg" - Zynq UltraScale+ EG Devices
-# "ev" - Zynq UltraScale+ EV Devices
-# "dr" - Zynq UltraScale+ DR Devices
-
-SOC_VARIANT ?= "eg"
-
-MACHINEOVERRIDES_prepend_zynqmpeg = "mali400:"
-MACHINEOVERRIDES_prepend_zynqmpev = "mali400:vcu:"
-
-require soc-tune-include.inc
-require xilinx-soc-family.inc
-
-# Linux Configuration
-KERNEL_IMAGETYPE ?= "Image"
-
-# Support multilib on zynqmp
-DEFAULTTUNE_virtclass-multilib-lib32 ?= "armv7vethf-neon-vfpv4"
-
-WIC_DEPENDS ?= "virtual/kernel virtual/bootloader virtual/boot-bin virtual/arm-trusted-firmware"
-
-UBOOT_SUFFIX ?= "bin"
-
-XSERVER_EXT_zynqmp ?= "xf86-video-armsoc"
diff --git a/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc b/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc
deleted file mode 100644
index 66edbdbd..00000000
--- a/meta-xilinx-bsp/conf/machine/include/tune-cortexrm.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-DEFAULTTUNE ?= "cortexr5"
-
-require conf/machine/include/arm/arch-armv8a.inc
-
-TUNEVALID[armrm] = "Enable ARM Cortex-R/M Family"
-MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armrm', 'armrm:', '' ,d)}"
-
-TUNEVALID[cortexr5] = "Enable Cortex-r5 specific processor optimizations"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}"
-
-AVAILTUNES += "cortexr5"
-ARMPKGARCH_tune-cortexr5 = "cortexr5"
-
-TUNE_FEATURES_tune-cortexr5 = "armrm cortexr5"
-PACKAGE_EXTRA_ARCHS_tune-cortexr5 = "${TUNE_PKGARCH}"
-
-AVAILTUNES += "cortexr5f"
-ARMPKGARCH_tune-cortexr5f = "cortexr5f"
-
-TUNE_FEATURES_tune-cortexr5f = "armrm cortexr5 vfpv3d16 callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-cortexr5f = "${TUNE_PKGARCH}"
diff --git a/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc b/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc
deleted file mode 100644
index e6c62ccc..00000000
--- a/meta-xilinx-bsp/conf/machine/include/xilinx-soc-family.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-require conf/machine/include/soc-family.inc
-
-SOC_VARIANT ??= ""
-MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}${SOC_VARIANT}:']['${SOC_VARIANT}' != '']}"
-
-SOC_FAMILY_ARCH ?= "${SOC_FAMILY}"
-SOC_VARIANT_ARCH ?= "${SOC_FAMILY}${SOC_VARIANT}"
-
-PACKAGE_EXTRA_ARCHS_append = " ${SOC_FAMILY_ARCH}"
-PACKAGE_EXTRA_ARCHS_append = "${@['', ' ${SOC_VARIANT_ARCH}'][d.getVar('SOC_VARIANT_ARCH') != d.getVar('SOC_FAMILY_ARCH')]}"
diff --git a/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
index 73f5b046..f3236f07 100644
--- a/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
+++ b/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
@@ -1,22 +1,50 @@
#@TYPE: Machine
#@NAME: kc705-microblazeel
-#@DESCRIPTION: Machine support for Xilinx KC705 Embedded Kit.
-#
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
-
-MACHINE_FEATURES = ""
-
-USE_VT = ""
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-KERNEL_IMAGETYPE ?= "linux.bin.ub"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-EXTRA_IMAGEDEPENDS += "virtual/bitstream virtual/bootloader"
-
-UBOOT_MACHINE = "microblaze-generic_defconfig"
+#@DESCRIPTION: Machine configuration for the KC705 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'kc705-microblazeel:']['kc705-microblazeel' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in microblazeel-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "MIG_7SERIES_0"
+DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
+DTC_FLAGS:pn-device-tree ?= ""
+XSCTH_PROC:pn-device-tree ?= "microblaze_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD kc705-full}"
+
+# Yocto FS-Boot variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "MIG_7SERIES_0"
+YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_emc_0"
+XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x80000000"
+UBOOT_LOADADDRESS ?= "0x80000000"
+
+# kc705-microblazeel Serial Console
+SERIAL_CONSOLES ?= "115200;ttyUL0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Set DDR Base address for u-boot-xlnx-scr variables
+DDR_BASEADDR ?= "0x80000000"
+SKIP_APPEND_BASEADDR ?= "0"
+
+# Required generic machine inclusion
+require conf/machine/microblaze-generic.conf
+
+# This machine conf file uses kc705-microblazeel xsa as reference input.
+# User can override with kc705 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "kc705-microblazeel"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' kc705_microblazeel']['kc705-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf b/meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf
new file mode 100644
index 00000000..a866f87c
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf
@@ -0,0 +1,50 @@
+#@TYPE: Machine
+#@NAME: kcu105-microblazeel
+#@DESCRIPTION: Machine configuration for the KCU105 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'kcu105-microblazeel:']['kcu105-microblazeel' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in microblazeel-generic.conf will be set.
+
+# Yocto KCU105 device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0"
+DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
+DTC_FLAGS:pn-device-tree ?= ""
+XSCTH_PROC:pn-device-tree ?= "microblaze_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}"
+
+# Yocto FS-Boot variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0"
+YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
+XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x80000000"
+UBOOT_LOADADDRESS ?= "0x80000000"
+
+# kcu105-microblazeel Serial Console
+SERIAL_CONSOLES ?= "115200;ttyUL0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Set DDR Base address for u-boot-xlnx-scr variables
+DDR_BASEADDR ?= "0x80000000"
+SKIP_APPEND_BASEADDR ?= "0"
+
+# Required generic machine inclusion
+require conf/machine/microblaze-generic.conf
+
+# This machine conf file uses kcu105-microblazeel xsa as reference input.
+# User can override with kcu105 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "kcu105-microblazeel"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' kcu105_microblazeel']['kcu105-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/microblaze-plm.conf b/meta-xilinx-bsp/conf/machine/microblaze-plm.conf
deleted file mode 100644
index 9ab8a46b..00000000
--- a/meta-xilinx-bsp/conf/machine/microblaze-plm.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFAULTTUNE ?= "microblaze"
-
-require conf/machine/include/soc-versal.inc
-
-# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities
-AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-LINKER_HASH_STYLE_microblaze = "sysv"
diff --git a/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf b/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf
deleted file mode 100644
index 09fd3c80..00000000
--- a/meta-xilinx-bsp/conf/machine/microblaze-pmu.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFAULTTUNE ?= "microblaze"
-
-require conf/machine/include/soc-zynqmp.inc
-
-# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities
-AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-LINKER_HASH_STYLE_microblaze = "sysv"
diff --git a/meta-xilinx-bsp/conf/machine/microblaze-tc.conf b/meta-xilinx-bsp/conf/machine/microblaze-tc.conf
deleted file mode 100644
index bc80ad75..00000000
--- a/meta-xilinx-bsp/conf/machine/microblaze-tc.conf
+++ /dev/null
@@ -1,541 +0,0 @@
-require conf/multilib.conf
-require conf/machine/include/microblaze/arch-microblaze.inc
-require conf/machine/include/baremetal-tc.conf
-
-# ILP request an alternative machine dictionary
-INHERIT += "xlnx-standalone"
-PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "64-bit", " xlnx_mb64_dict", "", d)}'
-
-# GNU hash style not supported
-LINKER_HASH_STYLE_microblaze = ""
-
-# Define all of the multilibs supproted by this configuration
-MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
-
-MULTILIBS += "multilib:libmble"
-MULTILIBS += "multilib:libmbbs"
-MULTILIBS += "multilib:libmbp"
-MULTILIBS += "multilib:libmbm"
-MULTILIBS += "multilib:libmbfpd"
-MULTILIBS += "multilib:libmbmfpd"
-MULTILIBS += "multilib:libmbpm"
-MULTILIBS += "multilib:libmbpfpd"
-MULTILIBS += "multilib:libmbpmfpd"
-MULTILIBS += "multilib:libmbbsp"
-MULTILIBS += "multilib:libmbbsm"
-MULTILIBS += "multilib:libmbbsfpd"
-MULTILIBS += "multilib:libmbbsmfpd"
-MULTILIBS += "multilib:libmbbspm"
-MULTILIBS += "multilib:libmbbspfpd"
-MULTILIBS += "multilib:libmbbspmfpd"
-MULTILIBS += "multilib:libmblem64"
-MULTILIBS += "multilib:libmblebs"
-MULTILIBS += "multilib:libmblep"
-MULTILIBS += "multilib:libmblem"
-MULTILIBS += "multilib:libmblefpd"
-MULTILIBS += "multilib:libmblemfpd"
-MULTILIBS += "multilib:libmblepm"
-MULTILIBS += "multilib:libmblepfpd"
-MULTILIBS += "multilib:libmblepmfpd"
-MULTILIBS += "multilib:libmblebsp"
-MULTILIBS += "multilib:libmblebsm"
-MULTILIBS += "multilib:libmblebsfpd"
-MULTILIBS += "multilib:libmblebsmfpd"
-MULTILIBS += "multilib:libmblebspm"
-MULTILIBS += "multilib:libmblebspfpd"
-MULTILIBS += "multilib:libmblebspmfpd"
-MULTILIBS += "multilib:libmblem64bs"
-MULTILIBS += "multilib:libmblem64p"
-MULTILIBS += "multilib:libmblem64m"
-MULTILIBS += "multilib:libmblem64fpd"
-MULTILIBS += "multilib:libmblem64mfpd"
-MULTILIBS += "multilib:libmblem64pm"
-MULTILIBS += "multilib:libmblem64pfpd"
-MULTILIBS += "multilib:libmblem64pmfpd"
-MULTILIBS += "multilib:libmblem64bsp"
-MULTILIBS += "multilib:libmblem64bsm"
-MULTILIBS += "multilib:libmblem64bsfpd"
-MULTILIBS += "multilib:libmblem64bsmfpd"
-MULTILIBS += "multilib:libmblem64bspm"
-MULTILIBS += "multilib:libmblem64bspfpd"
-MULTILIBS += "multilib:libmblem64bspmfpd"
-
-
-# Base configuration
-# CFLAGS:
-DEFAULTTUNE = "microblaze"
-
-AVAILTUNES += "microblaze"
-BASE_LIB_tune-microblaze = "lib"
-TUNE_FEATURES_tune-microblaze = "microblaze bigendian"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-
-# le
-# CFLAGS: -mlittle-endian
-DEFAULTTUNE_virtclass-multilib-libmble = "microblazele"
-
-AVAILTUNES += "microblazele"
-BASE_LIB_tune-microblazele = "lib/le"
-TUNE_FEATURES_tune-microblazele = "microblaze"
-PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}"
-
-
-# bs
-# CFLAGS: -mxl-barrel-shift
-DEFAULTTUNE_virtclass-multilib-libmbbs = "microblazebs"
-
-AVAILTUNES += "microblazebs"
-BASE_LIB_tune-microblazebs = "lib/bs"
-TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift"
-PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}"
-
-
-# p
-# CFLAGS: -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmbp = "microblazep"
-
-AVAILTUNES += "microblazep"
-BASE_LIB_tune-microblazep = "lib/p"
-TUNE_FEATURES_tune-microblazep = "microblaze bigendian pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazep = "${TUNE_PKGARCH}"
-
-
-# m
-# CFLAGS: -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbm = "microblazem"
-
-AVAILTUNES += "microblazem"
-BASE_LIB_tune-microblazem = "lib/m"
-TUNE_FEATURES_tune-microblazem = "microblaze bigendian multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}"
-
-
-# fpd
-# CFLAGS: -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbfpd = "microblazefpd"
-
-AVAILTUNES += "microblazefpd"
-BASE_LIB_tune-microblazefpd = "lib/fpd"
-TUNE_FEATURES_tune-microblazefpd = "microblaze bigendian fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazefpd = "${TUNE_PKGARCH}"
-
-
-# m/fpd
-# CFLAGS: -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbmfpd = "microblazemfpd"
-
-AVAILTUNES += "microblazemfpd"
-BASE_LIB_tune-microblazemfpd = "lib/m/fpd"
-TUNE_FEATURES_tune-microblazemfpd = "microblaze bigendian multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazemfpd = "${TUNE_PKGARCH}"
-
-
-# p/m
-# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbpm = "microblazepm"
-
-AVAILTUNES += "microblazepm"
-BASE_LIB_tune-microblazepm = "lib/p/m"
-TUNE_FEATURES_tune-microblazepm = "microblaze bigendian pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazepm = "${TUNE_PKGARCH}"
-
-
-# p/fpd
-# CFLAGS: -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbpfpd = "microblazepfpd"
-
-AVAILTUNES += "microblazepfpd"
-BASE_LIB_tune-microblazepfpd = "lib/p/fpd"
-TUNE_FEATURES_tune-microblazepfpd = "microblaze bigendian pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazepfpd = "${TUNE_PKGARCH}"
-
-
-# p/m/fpd
-# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbpmfpd = "microblazepmfpd"
-
-AVAILTUNES += "microblazepmfpd"
-BASE_LIB_tune-microblazepmfpd = "lib/p/m/fpd"
-TUNE_FEATURES_tune-microblazepmfpd = "microblaze bigendian pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazepmfpd = "${TUNE_PKGARCH}"
-
-
-# bs/p
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmbbsp = "microblazebsp"
-
-AVAILTUNES += "microblazebsp"
-BASE_LIB_tune-microblazebsp = "lib/bs/p"
-TUNE_FEATURES_tune-microblazebsp = "microblaze bigendian barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsp = "${TUNE_PKGARCH}"
-
-
-# bs/m
-# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbbsm = "microblazebsm"
-
-AVAILTUNES += "microblazebsm"
-BASE_LIB_tune-microblazebsm = "lib/bs/m"
-TUNE_FEATURES_tune-microblazebsm = "microblaze bigendian barrel-shift multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}"
-
-
-# bs/fpd
-# CFLAGS: -mxl-barrel-shift -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbsfpd = "microblazebsfpd"
-
-AVAILTUNES += "microblazebsfpd"
-BASE_LIB_tune-microblazebsfpd = "lib/bs/fpd"
-TUNE_FEATURES_tune-microblazebsfpd = "microblaze bigendian barrel-shift fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsfpd = "${TUNE_PKGARCH}"
-
-
-# bs/m/fpd
-# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbsmfpd = "microblazebsmfpd"
-
-AVAILTUNES += "microblazebsmfpd"
-BASE_LIB_tune-microblazebsmfpd = "lib/bs/m/fpd"
-TUNE_FEATURES_tune-microblazebsmfpd = "microblaze bigendian barrel-shift multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebsmfpd = "${TUNE_PKGARCH}"
-
-
-# bs/p/m
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmbbspm = "microblazebspm"
-
-AVAILTUNES += "microblazebspm"
-BASE_LIB_tune-microblazebspm = "lib/bs/p/m"
-TUNE_FEATURES_tune-microblazebspm = "microblaze bigendian barrel-shift pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazebspm = "${TUNE_PKGARCH}"
-
-
-# bs/p/fpd
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbspfpd = "microblazebspfpd"
-
-AVAILTUNES += "microblazebspfpd"
-BASE_LIB_tune-microblazebspfpd = "lib/bs/p/fpd"
-TUNE_FEATURES_tune-microblazebspfpd = "microblaze bigendian barrel-shift pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebspfpd = "${TUNE_PKGARCH}"
-
-
-# bs/p/m/fpd
-# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmbbspmfpd = "microblazebspmfpd"
-
-AVAILTUNES += "microblazebspmfpd"
-BASE_LIB_tune-microblazebspmfpd = "lib/bs/p/m/fpd"
-TUNE_FEATURES_tune-microblazebspmfpd = "microblaze bigendian barrel-shift pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazebspmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64
-# CFLAGS: -mlittle-endian -m64
-DEFAULTTUNE_virtclass-multilib-libmblem64 = "microblazele64"
-
-AVAILTUNES += "microblazele64"
-BASE_LIB_tune-microblazele64 = "lib/le/m64"
-TUNE_FEATURES_tune-microblazele64 = "microblaze 64-bit"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64 = "${TUNE_PKGARCH}"
-
-
-# le/bs
-# CFLAGS: -mlittle-endian -mxl-barrel-shift
-DEFAULTTUNE_virtclass-multilib-libmblebs = "microblazelebs"
-
-AVAILTUNES += "microblazelebs"
-BASE_LIB_tune-microblazelebs = "lib/le/bs"
-TUNE_FEATURES_tune-microblazelebs = "microblaze barrel-shift"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebs = "${TUNE_PKGARCH}"
-
-
-# le/p
-# CFLAGS: -mlittle-endian -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblep = "microblazelep"
-
-AVAILTUNES += "microblazelep"
-BASE_LIB_tune-microblazelep = "lib/le/p"
-TUNE_FEATURES_tune-microblazelep = "microblaze pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazelep = "${TUNE_PKGARCH}"
-
-
-# le/m
-# CFLAGS: -mlittle-endian -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem = "microblazelem"
-
-AVAILTUNES += "microblazelem"
-BASE_LIB_tune-microblazelem = "lib/le/m"
-TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}"
-
-
-# le/fpd
-# CFLAGS: -mlittle-endian -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblefpd = "microblazelefpd"
-
-AVAILTUNES += "microblazelefpd"
-BASE_LIB_tune-microblazelefpd = "lib/le/fpd"
-TUNE_FEATURES_tune-microblazelefpd = "microblaze fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelefpd = "${TUNE_PKGARCH}"
-
-
-# le/m/fpd
-# CFLAGS: -mlittle-endian -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblemfpd = "microblazelemfpd"
-
-AVAILTUNES += "microblazelemfpd"
-BASE_LIB_tune-microblazelemfpd = "lib/le/m/fpd"
-TUNE_FEATURES_tune-microblazelemfpd = "microblaze multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelemfpd = "${TUNE_PKGARCH}"
-
-
-# le/p/m
-# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblepm = "microblazelepm"
-
-AVAILTUNES += "microblazelepm"
-BASE_LIB_tune-microblazelepm = "lib/le/p/m"
-TUNE_FEATURES_tune-microblazelepm = "microblaze pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelepm = "${TUNE_PKGARCH}"
-
-
-# le/p/fpd
-# CFLAGS: -mlittle-endian -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblepfpd = "microblazelepfpd"
-
-AVAILTUNES += "microblazelepfpd"
-BASE_LIB_tune-microblazelepfpd = "lib/le/p/fpd"
-TUNE_FEATURES_tune-microblazelepfpd = "microblaze pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelepfpd = "${TUNE_PKGARCH}"
-
-
-# le/p/m/fpd
-# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblepmfpd = "microblazelepmfpd"
-
-AVAILTUNES += "microblazelepmfpd"
-BASE_LIB_tune-microblazelepmfpd = "lib/le/p/m/fpd"
-TUNE_FEATURES_tune-microblazelepmfpd = "microblaze pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelepmfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/p
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblebsp = "microblazelebsp"
-
-AVAILTUNES += "microblazelebsp"
-BASE_LIB_tune-microblazelebsp = "lib/le/bs/p"
-TUNE_FEATURES_tune-microblazelebsp = "microblaze barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsp = "${TUNE_PKGARCH}"
-
-
-# le/bs/m
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblebsm = "microblazelebsm"
-
-AVAILTUNES += "microblazelebsm"
-BASE_LIB_tune-microblazelebsm = "lib/le/bs/m"
-TUNE_FEATURES_tune-microblazelebsm = "microblaze barrel-shift multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsm = "${TUNE_PKGARCH}"
-
-
-# le/bs/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebsfpd = "microblazelebsfpd"
-
-AVAILTUNES += "microblazelebsfpd"
-BASE_LIB_tune-microblazelebsfpd = "lib/le/bs/fpd"
-TUNE_FEATURES_tune-microblazelebsfpd = "microblaze barrel-shift fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/m/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebsmfpd = "microblazelebsmfpd"
-
-AVAILTUNES += "microblazelebsmfpd"
-BASE_LIB_tune-microblazelebsmfpd = "lib/le/bs/m/fpd"
-TUNE_FEATURES_tune-microblazelebsmfpd = "microblaze barrel-shift multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebsmfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/p/m
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblebspm = "microblazelebspm"
-
-AVAILTUNES += "microblazelebspm"
-BASE_LIB_tune-microblazelebspm = "lib/le/bs/p/m"
-TUNE_FEATURES_tune-microblazelebspm = "microblaze barrel-shift pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebspm = "${TUNE_PKGARCH}"
-
-
-# le/bs/p/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebspfpd = "microblazelebspfpd"
-
-AVAILTUNES += "microblazelebspfpd"
-BASE_LIB_tune-microblazelebspfpd = "lib/le/bs/p/fpd"
-TUNE_FEATURES_tune-microblazelebspfpd = "microblaze barrel-shift pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebspfpd = "${TUNE_PKGARCH}"
-
-
-# le/bs/p/m/fpd
-# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblebspmfpd = "microblazelebspmfpd"
-
-AVAILTUNES += "microblazelebspmfpd"
-BASE_LIB_tune-microblazelebspmfpd = "lib/le/bs/p/m/fpd"
-TUNE_FEATURES_tune-microblazelebspmfpd = "microblaze barrel-shift pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazelebspmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift
-DEFAULTTUNE_virtclass-multilib-libmblem64bs = "microblazele64bs"
-
-AVAILTUNES += "microblazele64bs"
-BASE_LIB_tune-microblazele64bs = "lib/le/m64/bs"
-TUNE_FEATURES_tune-microblazele64bs = "microblaze 64-bit barrel-shift"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bs = "${TUNE_PKGARCH}"
-
-
-# le/m64/p
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblem64p = "microblazele64p"
-
-AVAILTUNES += "microblazele64p"
-BASE_LIB_tune-microblazele64p = "lib/le/m64/p"
-TUNE_FEATURES_tune-microblazele64p = "microblaze 64-bit pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64p = "${TUNE_PKGARCH}"
-
-
-# le/m64/m
-# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64m = "microblazele64m"
-
-AVAILTUNES += "microblazele64m"
-BASE_LIB_tune-microblazele64m = "lib/le/m64/m"
-TUNE_FEATURES_tune-microblazele64m = "microblaze 64-bit multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64m = "${TUNE_PKGARCH}"
-
-
-# le/m64/fpd
-# CFLAGS: -mlittle-endian -m64 -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64fpd = "microblazele64fpd"
-
-AVAILTUNES += "microblazele64fpd"
-BASE_LIB_tune-microblazele64fpd = "lib/le/m64/fpd"
-TUNE_FEATURES_tune-microblazele64fpd = "microblaze 64-bit fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64fpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64mfpd = "microblazele64mfpd"
-
-AVAILTUNES += "microblazele64mfpd"
-BASE_LIB_tune-microblazele64mfpd = "lib/le/m64/m/fpd"
-TUNE_FEATURES_tune-microblazele64mfpd = "microblaze 64-bit multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64mfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/p/m
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64pm = "microblazele64pm"
-
-AVAILTUNES += "microblazele64pm"
-BASE_LIB_tune-microblazele64pm = "lib/le/m64/p/m"
-TUNE_FEATURES_tune-microblazele64pm = "microblaze 64-bit pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64pm = "${TUNE_PKGARCH}"
-
-
-# le/m64/p/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64pfpd = "microblazele64pfpd"
-
-AVAILTUNES += "microblazele64pfpd"
-BASE_LIB_tune-microblazele64pfpd = "lib/le/m64/p/fpd"
-TUNE_FEATURES_tune-microblazele64pfpd = "microblaze 64-bit pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64pfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/p/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64pmfpd = "microblazele64pmfpd"
-
-AVAILTUNES += "microblazele64pmfpd"
-BASE_LIB_tune-microblazele64pmfpd = "lib/le/m64/p/m/fpd"
-TUNE_FEATURES_tune-microblazele64pmfpd = "microblaze 64-bit pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64pmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare
-DEFAULTTUNE_virtclass-multilib-libmblem64bsp = "microblazele64bsp"
-
-AVAILTUNES += "microblazele64bsp"
-BASE_LIB_tune-microblazele64bsp = "lib/le/m64/bs/p"
-TUNE_FEATURES_tune-microblazele64bsp = "microblaze 64-bit barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsp = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/m
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64bsm = "microblazele64bsm"
-
-AVAILTUNES += "microblazele64bsm"
-BASE_LIB_tune-microblazele64bsm = "lib/le/m64/bs/m"
-TUNE_FEATURES_tune-microblazele64bsm = "microblaze 64-bit barrel-shift multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsm = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bsfpd = "microblazele64bsfpd"
-
-AVAILTUNES += "microblazele64bsfpd"
-BASE_LIB_tune-microblazele64bsfpd = "lib/le/m64/bs/fpd"
-TUNE_FEATURES_tune-microblazele64bsfpd = "microblaze 64-bit barrel-shift fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bsmfpd = "microblazele64bsmfpd"
-
-AVAILTUNES += "microblazele64bsmfpd"
-BASE_LIB_tune-microblazele64bsmfpd = "lib/le/m64/bs/m/fpd"
-TUNE_FEATURES_tune-microblazele64bsmfpd = "microblaze 64-bit barrel-shift multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bsmfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p/m
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul
-DEFAULTTUNE_virtclass-multilib-libmblem64bspm = "microblazele64bspm"
-
-AVAILTUNES += "microblazele64bspm"
-BASE_LIB_tune-microblazele64bspm = "lib/le/m64/bs/p/m"
-TUNE_FEATURES_tune-microblazele64bspm = "microblaze 64-bit barrel-shift pattern-compare multiply-low"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bspm = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bspfpd = "microblazele64bspfpd"
-
-AVAILTUNES += "microblazele64bspfpd"
-BASE_LIB_tune-microblazele64bspfpd = "lib/le/m64/bs/p/fpd"
-TUNE_FEATURES_tune-microblazele64bspfpd = "microblaze 64-bit barrel-shift pattern-compare fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bspfpd = "${TUNE_PKGARCH}"
-
-
-# le/m64/bs/p/m/fpd
-# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float
-DEFAULTTUNE_virtclass-multilib-libmblem64bspmfpd = "microblazele64bspmfpd"
-
-AVAILTUNES += "microblazele64bspmfpd"
-BASE_LIB_tune-microblazele64bspmfpd = "lib/le/m64/bs/p/m/fpd"
-TUNE_FEATURES_tune-microblazele64bspmfpd = "microblaze 64-bit barrel-shift pattern-compare multiply-low fpu-hard"
-PACKAGE_EXTRA_ARCHS_tune-microblazele64bspmfpd = "${TUNE_PKGARCH}"
diff --git a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
index ed4e2acb..96b4e6d1 100644
--- a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
+++ b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
@@ -2,16 +2,6 @@
#@NAME: microblazeel-v11.0-bs-cmp-mh-div-generic
#@DESCRIPTION: microblazeel-v11.0-bs-cmp-mh-div
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
+TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high"
-TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high"
-
-MACHINE_FEATURES = ""
-
-KERNEL_IMAGETYPE = "linux.bin.ub"
-KERNEL_IMAGETYPES = ""
-
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
+require conf/machine/microblaze-generic.conf
diff --git a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
index f154197a..cf83acf8 100644
--- a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
+++ b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
@@ -2,16 +2,6 @@
#@NAME: microblazeel-v11.0-bs-cmp-ml-generic
#@DESCRIPTION: microblazeel-v11.0-bs-cmp-ml
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
+TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift reorder pattern-compare multiply-low"
-TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-low"
-
-MACHINE_FEATURES = ""
-
-KERNEL_IMAGETYPE = "linux.bin.ub"
-KERNEL_IMAGETYPES = ""
-
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
+require conf/machine/microblaze-generic.conf
diff --git a/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf b/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
deleted file mode 100644
index c531dbb2..00000000
--- a/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-#@TYPE: Machine
-#@NAME: microzed-zynq7
-#@DESCRIPTION: Machine support for microZed. (http://www.microzed.org/)
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-microzed.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- "
-
diff --git a/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf b/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
deleted file mode 100644
index 3e5d623f..00000000
--- a/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-#@TYPE: Machine
-#@NAME: ml605-qemu-microblazeel
-#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-ml605' model)
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-TUNE_FEATURES_tune-microblaze += "v8.50 barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard"
-
-MACHINE_FEATURES = ""
-
-USE_VT = ""
-SERIAL_CONSOLES ?= "115200;ttyS0"
-
-KERNEL_IMAGETYPE ?= "linux.bin.ub"
-
-# Use the networking setup from qemuarm
-MACHINEOVERRIDES_prepend_pn-init-ifupdown = "qemuall:"
-FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
-
-# This machine is a targeting a QEMU model, runqemu setup:
-QB_MEM = "-m 256"
-QB_MACHINE = "-machine petalogix-ml605"
-QB_OPT_APPEND = "-nographic -serial mon:stdio"
-QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
-
diff --git a/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf b/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
deleted file mode 100644
index 17e83334..00000000
--- a/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: picozed-zynq7
-#@DESCRIPTION: Machine support for picoZed. (http://www.picozed.org/)
-#
-# Note: This machine configuration is intended as a generic config for
-# the picozed SOM. It also covers the multiple SKUs for the picoZed
-# including 7010, 7020, 7015 and 7030.
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- "
-
diff --git a/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf b/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
deleted file mode 100644
index 8bccfde2..00000000
--- a/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#@TYPE: Machine
-#@NAME: qemu-zynq7
-#@DESCRIPTION: Zynq QEMU machine support ('xilinx-zynq-a9' model)
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "ext2 vfat"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-HDF_MACHINE = "zc702-zynq7"
-
-# Use the networking setup from qemuarm
-MACHINEOVERRIDES_prepend_pn-init-ifupdown = "qemuall:"
-FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-qemu-zynq7.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
diff --git a/meta-xilinx-bsp/conf/machine/qemu-zynqmp-cg.conf b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-cg.conf
new file mode 100644
index 00000000..cb92bc71
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-cg.conf
@@ -0,0 +1,42 @@
+#@TYPE: Machine
+#@NAME: QEMU ZynqMP CG machine
+#@DESCRIPTION: Machine configuration for running a ZynqMP CG system on QEMU w/ testimage
+
+# This machine is NOT designed to be inherited by other machines or used as an
+# example of how to create a machine. It is only useful for running testimage
+# with runqemu.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'qemu-zynqmp-cg:']['qemu-zynqmp-cg' !='${MACHINE}']}"
+#### Regular settings follow
+
+# The following is from conf/machine/include/qemu.inc, but we can not use it
+# as it changes other values that need to come from the distro and the
+# AMD machine settings
+XSERVER ?= "xserver-xorg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ xf86-video-fbdev \
+ xf86-video-modesetting \
+ "
+
+MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat"
+
+MACHINEOVERRIDES =. "qemuall:"
+
+IMAGE_FSTYPES += "tar.bz2 ext4"
+
+# Don't include kernels in standard images
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+# Provide the nfs server kernel module for all qemu images
+KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-xlnx = " features/nfsd/nfsd-enable.scc"
+
+
+# Now include the generic machine which already supports QEMU booting
+require conf/machine/zynqmp-cg-generic.conf
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' qemu_zynqmp_cg']['qemu-zynqmp-cg' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/qemu-zynqmp-dr.conf b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-dr.conf
new file mode 100644
index 00000000..5fcb3541
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-dr.conf
@@ -0,0 +1,42 @@
+#@TYPE: Machine
+#@NAME: QEMU ZynqMP DR machine
+#@DESCRIPTION: Machine configuration for running a ZynqMP DR system on QEMU w/ testimage
+
+# This machine is NOT designed to be inherited by other machines or used as an
+# example of how to create a machine. It is only useful for running testimage
+# with runqemu.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'qemu-zynqmp-dr:']['qemu-zynqmp-dr' !='${MACHINE}']}"
+#### Regular settings follow
+
+# The following is from conf/machine/include/qemu.inc, but we can not use it
+# as it changes other values that need to come from the distro and the
+# AMD machine settings
+XSERVER ?= "xserver-xorg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ xf86-video-fbdev \
+ xf86-video-modesetting \
+ "
+
+MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat"
+
+MACHINEOVERRIDES =. "qemuall:"
+
+IMAGE_FSTYPES += "tar.bz2 ext4"
+
+# Don't include kernels in standard images
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+# Provide the nfs server kernel module for all qemu images
+KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-xlnx = " features/nfsd/nfsd-enable.scc"
+
+
+# Now include the generic machine which already supports QEMU booting
+require conf/machine/zynqmp-dr-generic.conf
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' qemu_zynqmp_dr']['qemu-zynqmp-dr' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/qemu-zynqmp-eg.conf b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-eg.conf
new file mode 100644
index 00000000..5f4b972c
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-eg.conf
@@ -0,0 +1,42 @@
+#@TYPE: Machine
+#@NAME: QEMU ZynqMP EG machine
+#@DESCRIPTION: Machine configuration for running a ZynqMP EG system on QEMU w/ testimage
+
+# This machine is NOT designed to be inherited by other machines or used as an
+# example of how to create a machine. It is only useful for running testimage
+# with runqemu.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'qemu-zynqmp-eg:']['qemu-zynqmp-eg' !='${MACHINE}']}"
+#### Regular settings follow
+
+# The following is from conf/machine/include/qemu.inc, but we can not use it
+# as it changes other values that need to come from the distro and the
+# AMD machine settings
+XSERVER ?= "xserver-xorg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ xf86-video-fbdev \
+ xf86-video-modesetting \
+ "
+
+MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat"
+
+MACHINEOVERRIDES =. "qemuall:"
+
+IMAGE_FSTYPES += "tar.bz2 ext4"
+
+# Don't include kernels in standard images
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+# Provide the nfs server kernel module for all qemu images
+KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-xlnx = " features/nfsd/nfsd-enable.scc"
+
+
+# Now include the generic machine which already supports QEMU booting
+require conf/machine/zynqmp-eg-generic.conf
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' qemu_zynqmp_eg']['qemu-zynqmp-eg' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/qemu-zynqmp-ev.conf b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-ev.conf
new file mode 100644
index 00000000..6058bfa4
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/qemu-zynqmp-ev.conf
@@ -0,0 +1,42 @@
+#@TYPE: Machine
+#@NAME: QEMU ZynqMP EV machine
+#@DESCRIPTION: Machine configuration for running a ZynqMP EV system on QEMU w/ testimage
+
+# This machine is NOT designed to be inherited by other machines or used as an
+# example of how to create a machine. It is only useful for running testimage
+# with runqemu.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'qemu-zynqmp-ev:']['qemu-zynqmp-ev' !='${MACHINE}']}"
+#### Regular settings follow
+
+# The following is from conf/machine/include/qemu.inc, but we can not use it
+# as it changes other values that need to come from the distro and the
+# AMD machine settings
+XSERVER ?= "xserver-xorg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ xf86-video-fbdev \
+ xf86-video-modesetting \
+ "
+
+MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat"
+
+MACHINEOVERRIDES =. "qemuall:"
+
+IMAGE_FSTYPES += "tar.bz2 ext4"
+
+# Don't include kernels in standard images
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+# Provide the nfs server kernel module for all qemu images
+KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-xlnx = " features/nfsd/nfsd-enable.scc"
+
+
+# Now include the generic machine which already supports QEMU booting
+require conf/machine/zynqmp-ev-generic.conf
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' qemu_zynqmp_ev']['qemu-zynqmp-ev' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/qemu-zynqmp.conf b/meta-xilinx-bsp/conf/machine/qemu-zynqmp.conf
new file mode 100644
index 00000000..91a96ede
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/qemu-zynqmp.conf
@@ -0,0 +1,45 @@
+#@TYPE: Machine
+#@NAME: QEMU ZynqMP machine
+#@DESCRIPTION: Machine configuration for running a ZynqMP system on QEMU w/ testimage
+
+# This machine is NOT designed to be inherited by other machines or used as an
+# example of how to create a machine. It is only useful for running testimage
+# with runqemu.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'qemu-zynqmp:']['qemu-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
+
+# The following is from conf/machine/include/qemu.inc, but we can not use it
+# as it changes other values that need to come from the distro and the
+# AMD machine settings
+XSERVER ?= "xserver-xorg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ xf86-video-fbdev \
+ xf86-video-modesetting \
+ "
+
+MACHINE_FEATURES = "alsa bluetooth usbgadget screen vfat"
+
+MACHINEOVERRIDES =. "qemuall:"
+
+IMAGE_FSTYPES += "tar.bz2 ext4"
+
+# Don't include kernels in standard images
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+# Provide the nfs server kernel module for all qemu images
+KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
+KERNEL_FEATURES:append:pn-linux-xlnx = " features/nfsd/nfsd-enable.scc"
+
+
+# Now include the generic machine which already supports QEMU booting
+require conf/machine/zynqmp-generic.conf
+
+# This may break standalone runqemu, but allows testimage to work
+QB_XILINX_SERIAL = ""
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' qemu_zynqmp']['qemu-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf b/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
deleted file mode 100644
index 1ce63291..00000000
--- a/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-#@TYPE: Machine
-#@NAME: s3adsp1800-qemu-microblazeeb
-#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-s3adsp1800' model)
-
-require conf/machine/include/tune-microblaze.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-TUNE_FEATURES_tune-microblaze += "v8.00 bigendian barrel-shift pattern-compare multiply-low"
-
-MACHINE_FEATURES = ""
-
-USE_VT = ""
-SERIAL_CONSOLES ?= "115200;ttyUL0"
-
-KERNEL_IMAGETYPE ?= "linux.bin.ub"
-
-# This machine is a targeting a QEMU model, runqemu setup:
-QB_MEM = "-m 256"
-QB_MACHINE = "-machine petalogix-s3adsp1800"
-QB_OPT_APPEND = "-nographic -serial mon:stdio"
-QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@"
-
diff --git a/meta-xilinx-bsp/conf/machine/system-zcu102.conf b/meta-xilinx-bsp/conf/machine/system-zcu102.conf
deleted file mode 100644
index 5d3bbd28..00000000
--- a/meta-xilinx-bsp/conf/machine/system-zcu102.conf
+++ /dev/null
@@ -1,61 +0,0 @@
-#@TYPE: Machine
-#@NAME: system-zcu102
-#@DESCRIPTION: Machine supporting the architectures in the ZCU102 evaluation board.
-
-# This machine sets up a build for a heterogeneous architecture board.
-# In this specific case, this refers to a zcu102-zynqmp board, which
-# should build artifacts for the hard microblaze architecture, and the
-# cortex-a53.
-
-# This is meant to be used as a base case and adapting it to
-# other boards should be fairly simple.
-
-# To build a full system, simply invoke the command:
-# $ bitbake <image>
-# which is analogous to
-# $ bitbake mc::<image>
-# Where image can be core-image-minimal for example
-# If a user wants to build a package for a certain architecture
-# a similar command can be invoked, just changing the parameter
-# between : and : to the desired multiconfig from one of the
-# declared values below.
-# For example, to build the xilstandalone library for the microblaze:
-# $ bitbake mc:pmumc:xilstandalone
-# or to build fsbl for cortexa53:
-# $ bitbake mc:fsblmc:zyqmp-fsbl
-
-
-# These artifacts are the pmu firmware along with the fsbl and the
-# Linux OS respectively
-
-# Keep in mind that there would still be a wiring required to merge
-# the artifacts from their respective deploy directories using bootgen.
-BBMULTICONFIG = "fsblmc pmumc"
-
-# The following should be changed to the machine which corresponds to
-# the architecture of a specific device, in this case cortexa53
-# But there are several hard coded expected values from several
-# repos, e.g. linux-xlnx which expects a defconfig depending on
-# the machine that is being used, as a TEMPORARY solution and
-# to prove how multiconfig can be used to build a full system
-# with heterogeneous architectures we'll use MACHINE=zcu102-zynqmp.
-
-# The downside is that this stills needs xsct and would technically
-# build two pmu firmwrares and two fsbls, one coming from our
-# multiconfig and one that uses xsct respectively, once the values
-# mentioned above are fixed, this should work properly with:
-# MACHINE = "cortexa53-zynqmp"
-
-MACHINE = "zcu102-zynqmp"
-require conf/machine/${MACHINE}.conf
-
-# Use the same format for TMPDIR as in the other multiconfigs so its less confusing.
-TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
-
-# Create dependencies for Linux only, other multiconfig applications,
-# can be built separately, e.g. bitbake mc:pmumc:pmufw
-# in this case, linux cannot, also worth mentioning that these should
-# eventually be set on a recipe level and would probably be useful to
-# create a chain of dependencies: pmufw<-fsbl<-Linux
-do_image[mcdepends] += "multiconfig::fsblmc:zynqmp-fsbl:do_deploy"
-do_image[mcdepends] += "multiconfig::pmumc:pmufw:do_deploy" \ No newline at end of file
diff --git a/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf b/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf
deleted file mode 100644
index 045e9422..00000000
--- a/meta-xilinx-bsp/conf/machine/ultra96-zynqmp.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: ultra96-zynqmp
-#@DESCRIPTION: Machine support for Ultra96 Evaluation Board.
-#
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget wifi bluetooth mipi"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu100-revC.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "linux-firmware-wl18xx"
-
diff --git a/meta-xilinx-bsp/conf/machine/v350-versal.conf b/meta-xilinx-bsp/conf/machine/v350-versal.conf
deleted file mode 100644
index 6741e2f3..00000000
--- a/meta-xilinx-bsp/conf/machine/v350-versal.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-#@TYPE: Machine
-#@NAME: v350-versal
-##@DESCRIPTION: Machine support for v350 versal.
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-
diff --git a/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf b/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf
deleted file mode 100644
index f6337afa..00000000
--- a/meta-xilinx-bsp/conf/machine/vc-p-a2197-00-versal.conf
+++ /dev/null
@@ -1,71 +0,0 @@
-#@TYPE: Machine
-#@NAME: vc-p-a2197-versal
-##@DESCRIPTION: Machine support for vc-p-a2197 versal .
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- system.dtb \
- Image \
- boot.scr \
-"
-# This machine has a QEMU model, runqemu setup:
-QB_MACHINE = "-M arm-generic-fdt"
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
-
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
-
diff --git a/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf b/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf
deleted file mode 100644
index 6a453a2c..00000000
--- a/meta-xilinx-bsp/conf/machine/vck-sc-zynqmp.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-#@TYPE: Machine
-#@NAME: vck-sc-zynqmp
-##@DESCRIPTION: Machine support for vck190 system controller.
-
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE ?= "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-# PMU instance args
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
-"
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
-"
-
diff --git a/meta-xilinx-bsp/conf/machine/vck190-versal.conf b/meta-xilinx-bsp/conf/machine/vck190-versal.conf
index 028c2b18..ed049268 100644
--- a/meta-xilinx-bsp/conf/machine/vck190-versal.conf
+++ b/meta-xilinx-bsp/conf/machine/vck190-versal.conf
@@ -1,77 +1,45 @@
#@TYPE: Machine
-#@NAME: vck-versal
-##@DESCRIPTION: Machine support for vck-versal .
+#@NAME: vck190-versal
+#@DESCRIPTION: Machine configuration for the VCK190 evaluation board.
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'vck190-versal:']['vck190-versal' !='${MACHINE}']}"
+#### Regular settings follow
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in versal-generic.conf will be set.
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vck190-reva-x-ebm-01-reva}"
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "pl011"
+TFA_BL33_LOAD ?= "0x8000000"
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-PLM_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PLM_IMAGE_NAME ?= "plm-versal-mb"
-PSM_FIRMWARE_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PSM_FIRMWARE_IMAGE_NAME ?= "psm-firmware-versal-mb"
+# Yocto PLM variables
+YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
-# This machine has a QEMU model, runqemu setup:
-QB_MACHINE = "-M arm-generic-fdt"
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
+# vck190-versal Serial Console
+SERIAL_CONSOLES ?= "115200;ttyAMA0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
+# Required generic machine inclusion
+# VCK190 board uses Versal AI Core device hence use soc variant based generic
+# machine inclusion
+require conf/machine/versal-ai-core-generic.conf
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
+# This machine conf file uses vck190-versal xsa as reference input.
+# User can override with vck190 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "vck190-versal"
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' vck190_versal']['vck190-versal' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf b/meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf
new file mode 100644
index 00000000..bfd60336
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf
@@ -0,0 +1,50 @@
+#@TYPE: Machine
+#@NAME: vcu118-microblazeel
+#@DESCRIPTION: Machine configuration for the VCU118 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'vcu118-microblazeel:']['vcu118-microblazeel' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in microblazeel-generic.conf will be set.
+
+# Yocto VCU118 device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0"
+DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
+DTC_FLAGS:pn-device-tree ?= ""
+XSCTH_PROC:pn-device-tree ?= "microblaze_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD vcu118-rev2.0}"
+
+# Yocto FS-Boot variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
+YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0"
+YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
+XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x80000000"
+UBOOT_LOADADDRESS ?= "0x80000000"
+
+# vcu118-microblazeel Serial Console
+SERIAL_CONSOLES ?= "115200;ttyUL0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Set DDR Base address for u-boot-xlnx-scr variables
+DDR_BASEADDR ?= "0x80000000"
+SKIP_APPEND_BASEADDR ?= "0"
+
+# Required generic machine inclusion
+require conf/machine/microblaze-generic.conf
+
+# This machine conf file uses vcu118-microblazeel xsa as reference input.
+# User can override with vcu118 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "vcu118-microblazeel"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' vcu118_microblazeel']['vcu118-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/vek280-versal.conf b/meta-xilinx-bsp/conf/machine/vek280-versal.conf
new file mode 100644
index 00000000..ffe2fcb7
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vek280-versal.conf
@@ -0,0 +1,55 @@
+XILINX_DEPRECATED[vek280-versal] = "${@'vek280-versal is not supported in 2023.2' if d.getVar("XILINX_RELEASE_VERSION") == 'v2023.2' else ''}"
+
+#@TYPE: Machine
+#@NAME: vek280-versal
+#@DESCRIPTION: Machine configuration for the VEK280 evaluation boards.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'vek280-versal:']['vek280-versal' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in versal-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vek280-revb}"
+
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "pl011"
+TFA_BL33_LOAD ?= "0x8000000"
+
+# Yocto PLM variables
+YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# vek280-versal Serial Console
+SERIAL_CONSOLES ?= "115200;ttyAMA0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+require conf/machine/versal-ai-edge-generic.conf
+
+# This machine conf file uses vek280-versal xsa as reference input.
+# User can override with vek280 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "vek280-versal"
+
+# VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to
+# 8G, Hence we need set 12G in QB_MEM.
+QB_MEM = "-m 12G"
+
+QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vek280.dtb"
+QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"
+
+# Yocto MACHINE_FEATURES Variable
+MACHINE_FEATURES += "vdu"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' vek280_versal']['vek280-versal' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/versal-generic.conf b/meta-xilinx-bsp/conf/machine/versal-generic.conf
deleted file mode 100644
index 9bf3593d..00000000
--- a/meta-xilinx-bsp/conf/machine/versal-generic.conf
+++ /dev/null
@@ -1,81 +0,0 @@
-#@TYPE: Machine
-#@NAME: Generic versal
-#@DESCRIPTION: versal devices
-
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
-
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyAMA0"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
- qemu-devicetrees \
- virtual/cdo \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
-PLM_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PLM_IMAGE_NAME ?= "plm-versal-mb"
-PSM_FIRMWARE_DEPLOY_DIR ?= "{TOPDIR}/versalmbtmp/deploy/images/versal-mb"
-PSM_FIRMWARE_IMAGE_NAME ?= "psm-firmware-versal-mb"
-
-# We use the vc-p-a2197-00-versal DTB from the external-hdf.
-HDF_MACHINE = "vc-p-a2197-00-versal"
-
-# This machine has a QEMU model, runqemu setup:
-QB_MACHINE = "-M arm-generic-fdt"
-QB_MEM = "-m 8G"
-QB_DEFAULT_KERNEL = "none"
-QB_NETWORK_DEVICE = ""
-QB_KERNEL_CMDLINE_APPEND ?= ""
-QB_NET = "none"
-
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Use booti 80000 6000000 4000000 to launch
-QB_OPT_APPEND ?= " -serial null -serial null -serial mon:stdio -display none"
-
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-ps-vc-p-a2197-00.dtb \
- -display none \
- -net nic -net user,tftp=${DEPLOY_DIR_IMAGE} \
- "
-
-# PLM instance args
-QB_PLM_OPT = " \
- -M microblaze-fdt \
- -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw \
- -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \
- -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw \
- -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \
- -device loader,addr=0xF1110624,data=0x0,data-len=4 \
- -device loader,addr=0xF1110620,data=0x1,data-len=4 \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/board-versal-pmc-vc-p-a2197-00.dtb \
- -display none \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -plm-args '${QB_PLM_OPT}'"
diff --git a/meta-xilinx-bsp/conf/machine/versal-mb.conf b/meta-xilinx-bsp/conf/machine/versal-mb.conf
deleted file mode 100644
index f40b8bca..00000000
--- a/meta-xilinx-bsp/conf/machine/versal-mb.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFAULTTUNE ?= "microblaze"
-
-require conf/machine/include/soc-versal.inc
-
-# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities
-AVAILTUNES += "microblaze"
-TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare"
-PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
-
-LINKER_HASH_STYLE_microblaze = ""
diff --git a/meta-xilinx-bsp/conf/machine/vmk180-versal.conf b/meta-xilinx-bsp/conf/machine/vmk180-versal.conf
index 99379c66..0f474f78 100644
--- a/meta-xilinx-bsp/conf/machine/vmk180-versal.conf
+++ b/meta-xilinx-bsp/conf/machine/vmk180-versal.conf
@@ -1,29 +1,45 @@
#@TYPE: Machine
#@NAME: vmk180-versal
-##@DESCRIPTION: Machine support for vmk180-versal .
+#@DESCRIPTION: Machine configuration for the VMK180 evaluation board.
-require conf/machine/include/soc-versal.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'vmk180-versal:']['vmk180-versal' !='${MACHINE}']}"
+#### Regular settings follow
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in versal-generic.conf will be set.
-UBOOT_MACHINE ?= "xilinx_versal_virt_defconfig"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vmk180-reva-x-ebm-01-reva}"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "pl011"
+TFA_BL33_LOAD ?= "0x8000000"
+
+# Yocto PLM variables
+YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# vmk180-versal Serial Console
SERIAL_CONSOLES ?= "115200;ttyAMA0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+# VMK180 board uses Versal Prime device hence use soc variant based generic
+# machine inclusion
+require conf/machine/versal-prime-generic.conf
+
+# This machine conf file uses vmk180-versal xsa as reference input.
+# User can override with vmk180 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "vmk180-versal"
-EXTRA_IMAGEDEPENDS += " \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- virtual/psm-firmware \
- virtual/plm \
- u-boot-zynq-scr \
-"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- Image \
- boot.scr \
-"
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' vmk180_versal']['vmk180-versal' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/vpk120-versal.conf b/meta-xilinx-bsp/conf/machine/vpk120-versal.conf
new file mode 100644
index 00000000..e200d42d
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vpk120-versal.conf
@@ -0,0 +1,48 @@
+#@TYPE: Machine
+#@NAME: vpk120-versal
+#@DESCRIPTION: Machine configuration for the VPK120 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'vpk120-versal:']['vpk120-versal' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in versal-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vpk120-reva}"
+
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "pl011"
+TFA_BL33_LOAD ?= "0x8000000"
+
+# Yocto PLM variables
+YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# vpk120-versal Serial Console
+SERIAL_CONSOLES ?= "115200;ttyAMA0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+# VPK120 board uses Versal Premium device hence use soc variant based generic
+# machine inclusion
+require conf/machine/versal-premium-generic.conf
+
+# This machine conf file uses vpk120-versal xsa as reference input.
+# User can override with vpk120 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "vpk120-versal"
+
+QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vpk120.dtb"
+QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' vpk120_versal']['vpk120-versal' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/vpk180-versal.conf b/meta-xilinx-bsp/conf/machine/vpk180-versal.conf
new file mode 100644
index 00000000..92630e97
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vpk180-versal.conf
@@ -0,0 +1,48 @@
+#@TYPE: Machine
+#@NAME: vpk180-versal
+#@DESCRIPTION: Machine configuration for the VPK180 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'vpk180-versal:']['vpk180-versal' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in versal-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vpk180-reva}"
+
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "pl011"
+TFA_BL33_LOAD ?= "0x8000000"
+
+# Yocto PLM variables
+YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# vpk180-versal Serial Console
+SERIAL_CONSOLES ?= "115200;ttyAMA0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+# VPK180 board uses Versal Premium device hence use soc variant based generic
+# machine inclusion
+require conf/machine/versal-premium-generic.conf
+
+# This machine conf file uses vpk180-versal xsa as reference input.
+# User can override with vpk180 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "vpk180-versal"
+
+QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vpk180.dtb"
+QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' vpk180_versal']['vpk180-versal' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
index 3bdb215d..c3518577 100644
--- a/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
@@ -3,33 +3,11 @@
#@DESCRIPTION: Machine support for ZC1254 Evaluation Board.
#
-SOC_VARIANT ?= "dr"
+SOC_VARIANT = "dr"
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
+require conf/machine/zynqmp-generic.conf
+# Add board compatibility override
+MACHINEOVERRIDES .= ":zc1254"
KERNEL_DEVICETREE = "xilinx/zynqmp-zc1254-revA.dtb"
-
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
diff --git a/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf b/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
index edd3cb2d..1db0616f 100644
--- a/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
+++ b/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
@@ -1,58 +1,44 @@
#@TYPE: Machine
#@NAME: zc702-zynq7
-#@DESCRIPTION: Machine support for ZC702 Evaluation Board.
-#
-# For details on the Evaluation board:
-# http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
-# For documentation and design files for the ZC702:
-# http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc702_evaluation_kit.html
-# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-# u-boot configuration
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
+#@DESCRIPTION: Machine configuration for the ZC702 evaluation boards.
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zc702-zynq7:']['zc702-zynq7' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynq-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "ps7_uart_1"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PS7_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zc702}"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "ps7_uart_1"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "ps7_uart_1"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# zc702-zynq7 Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+require conf/machine/zynq-generic.conf
+
+# This eval board machine conf file uses zc702-zynq7 xsa as reference input.
+# User can override with zc702 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zc702-zynq7"
+
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "zynq-zc702.dtb"
-KERNEL_DEVICETREE = "zynq-zc702.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- boot.scr \
- "
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc702-zynq7.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zc702_zynq7']['zc702-zynq7' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf b/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
index 10b5e29c..7e0525d1 100644
--- a/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
+++ b/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
@@ -1,58 +1,44 @@
#@TYPE: Machine
#@NAME: zc706-zynq7
-#@DESCRIPTION: Machine support for ZC706 Evaluation Board.
-#
-# For details on the Evaluation board:
-# http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
-# For documentation and design files for the ZC702:
-# http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc706_evaluation_kit.html
-# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
-
-# u-boot configuration
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
+#@DESCRIPTION: Machine configuration for the ZC706 evaluation boards.
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zc706-zynq7:']['zc706-zynq7' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynq-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "ps7_uart_1"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PS7_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zc706}"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "ps7_uart_1"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "ps7_uart_1"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# zc706-zynq7 Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+require conf/machine/zynq-generic.conf
+
+# This eval board machine conf file uses zc702-zynq7 xsa as reference input.
+# User can override with zc702 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zc706-zynq7"
+
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "zynq-zc706.dtb"
-KERNEL_DEVICETREE = "zynq-zc706.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- boot.scr \
- "
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc706-zynq7.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zc706_zynq7']['zc706-zynq7' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
index edd932cd..acd2544a 100644
--- a/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
@@ -1,75 +1,54 @@
#@TYPE: Machine
#@NAME: zcu102-zynqmp
-#@DESCRIPTION: Machine support for ZCU102 Evaluation Board.
+#@DESCRIPTION: Machine configuration for the ZCU102 evaluation board.
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu102-zynqmp:']['zcu102-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu102-rev1.0}"
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- qemu-devicetrees \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- boot.scr \
- "
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
-# This machine has a QEMU model, runqemu setup:
-QB_MACHINE = "-machine xlnx-zcu102"
-QB_MEM = "-m 4096"
-QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null"
-QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
- ${@qemu_zynqmp_unhalt(d, True)} \
- -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
- -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \
- "
+# zcu102-zynqmp Serial Console
+SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
-# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
+# Required generic machine inclusion
+# ZCU102 board uses ZynqMP EG device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-eg-generic.conf
-# PMU instance args
-PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${@ '${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu' if d.getVar('BMULTICONFIG') == 'pmu' else '${TOPDIR}/tmp/deploy/images/${MACHINE}'}"
-PMU_FIRMWARE_IMAGE_NAME ?= "${@ 'pmu-firmware-zynqmp-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else 'pmu-zcu102-zynqmp'}"
+# This eval board machine conf file uses zcu102-zynqmp xsa as reference input.
+# User can override with zcu102 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu102-zynqmp"
-QB_PMU_OPT = " \
- -M microblaze-fdt \
- -display none \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
- -kernel ${PMU_ROM} \
- -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \
- -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
- -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"
-do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zcu102_zynqmp']['zcu102-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
index 17a677fe..b4c11f3a 100644
--- a/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
@@ -1,38 +1,58 @@
#@TYPE: Machine
#@NAME: zcu104-zynqmp
-#@DESCRIPTION: Machine support for ZCU104 Evaluation Board.
-#
+#@DESCRIPTION: Machine configuration for the ZCU104 evaluation board.
-SOC_VARIANT ?= "ev"
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu104-zynqmp:']['zcu104-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu104-revc}"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
-SERIAL_CONSOLES ?= "115200;ttyPS0"
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# zcu104-zynqmp Serial Console
+SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu104-revC.dtb"
+# Required generic machine inclusion
+# ZCU104 board uses ZynqMP EV device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-ev-generic.conf
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+# This eval board machine conf file uses zcu104-zynqmp xsa as reference input.
+# User can override with zcu104 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu104-zynqmp"
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu104-revC.dtb"
+# Yocto IMAGE_FEATURES Variable
MACHINE_HWCODECS = "libomxil-xlnx"
+IMAGE_FEATURES += "hwcodecs"
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zcu104_zynqmp']['zcu104-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
index 27ab2a98..ff273134 100644
--- a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
@@ -1,36 +1,58 @@
#@TYPE: Machine
#@NAME: zcu106-zynqmp
-#@DESCRIPTION: Machine support for ZCU106 Evaluation Board.
+#@DESCRIPTION: Machine configuration for the ZCU106 evaluation board.
-SOC_VARIANT ?= "ev"
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu106-zynqmp:']['zcu106-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu106-reva}"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
-SERIAL_CONSOLES ?= "115200;ttyPS0"
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu106-revA.dtb"
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+# zcu106-zynqmp Serial Console
+SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
+# Required generic machine inclusion
+# ZCU106 board uses ZynqMP EV device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-ev-generic.conf
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+# This eval board machine conf file uses zcu106-zynqmp xsa as reference input.
+# User can override with zcu106 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu106-zynqmp"
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu106-revA.dtb"
+
+# Yocto IMAGE_FEATURES Variable
MACHINE_HWCODECS = "libomxil-xlnx"
+IMAGE_FEATURES += "hwcodecs"
+
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zcu106_zynqmp']['zcu106-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
index 24e96ad6..77da93ca 100644
--- a/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
@@ -1,35 +1,54 @@
#@TYPE: Machine
#@NAME: zcu111-zynqmp
-#@DESCRIPTION: Machine support for ZCU111 Evaluation Board.
-#
+#@DESCRIPTION: Machine configuration for the ZCU111 evaluation board.
-SOC_VARIANT ?= "dr"
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu111-zynqmp:']['zcu111-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu111-reva}"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# zcu111-zynqmp Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+# Required generic machine inclusion
+# ZCU111 board uses ZynqMP DR device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-dr-generic.conf
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu111-revA.dtb"
+# This eval board machine conf file uses zcu111-zynqmp xsa as reference input.
+# User can override with zcu111 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu111-zynqmp"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu111-revA.dtb"
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zcu111_zynqmp']['zcu111-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf
index 2ac4004f..18aa3eee 100644
--- a/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu1275-zynqmp.conf
@@ -1,35 +1,52 @@
+XILINX_DEPRECATED[zcu1275-zynqmp] = "${@'zcu1275-zynqmp is not supported in 2023.2' if d.getVar("XILINX_RELEASE_VERSION") == 'v2023.2' else ''}"
+
#@TYPE: Machine
#@NAME: zcu1275-zynqmp
-#@DESCRIPTION: Machine support for ZCU1275 Evaluation Board.
-#
+#@DESCRIPTION: Machine configuration for the ZCU1275 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu1275-zynqmp:']['zcu1275-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu1275-revb}"
-SOC_VARIANT ?= "dr"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+# zcu1275-zynqmp Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+# Required generic machine inclusion
+# ZCU1275 board uses ZynqMP DR device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-dr-generic.conf
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1275-revB.dtb"
+# This eval board machine conf file uses zcu1275-zynqmp xsa as reference input.
+# User can override with zcu1275 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu1275-zynqmp"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1275-revB.dtb"
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', 'zcu1275_zynqmp']['zcu1275-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
index d7d41d4d..6fba3619 100644
--- a/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
@@ -1,35 +1,56 @@
+XILINX_DEPRECATED[zcu1285-zynqmp] = "${@'zcu1285-zynqmp is not supported in 2023.2' if d.getVar("XILINX_RELEASE_VERSION") == 'v2023.2' else ''}"
+
#@TYPE: Machine
#@NAME: zcu1285-zynqmp
-#@DESCRIPTION: Machine support for ZCU1285 Evaluation Board.
-#
+#@DESCRIPTION: Machine configuration for the ZCU1285 evaluation board.
+
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu1285-zynqmp:']['zcu1285-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
+
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
+
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu1285-reva}"
-SOC_VARIANT ?= "dr"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+# zcu1285-zynqmp Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+# Required generic machine inclusion
+# ZCU1285 board uses ZynqMP DR device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-dr-generic.conf
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1285-revA.dtb"
+# This eval board machine conf file uses zcu1285-zynqmp xsa as reference input.
+# User can override with zcu1285 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu1285-zynqmp"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
+# the xsa. User can enable explicitly if required from local.conf.
+# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1285-revA.dtb"
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', 'zcu1285_zynqmp']['zcu1285-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
index c69b5f35..7bb2c9db 100644
--- a/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
@@ -1,33 +1,50 @@
#@TYPE: Machine
#@NAME: zcu208-zynqmp
-#@DESCRIPTION: Machine support for ZCU208 Evaluation Board.
-#
+#@DESCRIPTION: Machine configuration for the ZCU208 evaluation board.
-SOC_VARIANT ?= "dr"
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu208-zynqmp:']['zcu208-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu208-reva}"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# zcu208-zynqmp Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+# ZCU208 board uses ZynqMP DR device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-dr-generic.conf
+# This eval board machine conf file uses zcu208-zynqmp xsa as reference input.
+# User can override with zcu208 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu208-zynqmp"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zcu208_zynqmp']['zcu208-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf
index 4f07e0ea..f4e1619d 100644
--- a/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf
@@ -1,33 +1,50 @@
#@TYPE: Machine
#@NAME: zcu216-zynqmp
-#@DESCRIPTION: Machine support for ZCU216 Evaluation Board.
-#
+#@DESCRIPTION: Machine configuration for the ZCU216 evaluation board.
-SOC_VARIANT ?= "dr"
+#### Preamble
+MACHINEOVERRIDES =. "${@['', 'zcu216-zynqmp:']['zcu216-zynqmp' !='${MACHINE}']}"
+#### Regular settings follow
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
+# Variables that changes based on hw design or board specific requirement must be
+# defined before calling the required inclusion file else pre-expansion value
+# defined in zynqmp-generic.conf will be set.
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+# Yocto device-tree variables
+YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
+YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
+YAML_DT_BOARD_FLAGS ?= "{BOARD zcu216-reva}"
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
+# Yocto arm-trusted-firmware(TF-A) variables
+ATF_CONSOLE ?= "cadence"
+TFA_BL33_LOAD ?= "0x8000000"
+# Yocto PMUFW variables
+YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
+
+# Yocto FSBL variables
+YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
+YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
+
+# Yocto KERNEL Variables
+UBOOT_ENTRYPOINT ?= "0x200000"
+UBOOT_LOADADDRESS ?= "0x200000"
+
+# zcu216-zynqmp Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
+YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
+
+# Required generic machine inclusion
+# ZCU216 board uses ZynqMP DR device hence use soc variant based generic machine
+# inclusion
+require conf/machine/zynqmp-dr-generic.conf
+# This eval board machine conf file uses zcu216-zynqmp xsa as reference input.
+# User can override with zcu216 custom xsa using HDF_BASE and HDF_PATH variables
+# from local.conf.
+HDF_MACHINE = "zcu216-zynqmp"
-PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- boot.scr \
- "
+#### No additional settings should be after the Postamble
+#### Postamble
+PACKAGE_EXTRA_ARCHS:append = "${@['', ' zcu216_zynqmp']['zcu216-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf b/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
deleted file mode 100644
index d731b6bb..00000000
--- a/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
+++ /dev/null
@@ -1,34 +0,0 @@
-#@TYPE: Machine
-#@NAME: zedboard-zynq7
-#@DESCRIPTION: Machine support for ZedBoard. (http://www.zedboard.org/)
-#
-# For details on the Evaluation board:
-# http://www.zedboard.org/content/overview
-# For design files (including 'zynq_fsbl_0.elf') for the ZedBoard:
-# http://www.zedboard.org/reference-designs-categories/zynq-concepts-tools-and-techniques-zedboard
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-# u-boot configuration
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zed.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- boot.scr \
- "
-
diff --git a/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf b/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
deleted file mode 100644
index b6a21e4f..00000000
--- a/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#@TYPE: Machine
-#@NAME: zybo-linux-bd-zynq7
-#@DESCRIPTION: Machine support for zybo-linux-bd project.
-#
-# generated base on ZYBO linux-bd project
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
-
-MACHINE_FEATURES = "ext2 vfat usbhost usbgadget keyboard screen alsa sdio"
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-FORCE_PLATFORM_INIT = "1"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bitstream \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- bitstream \
- uEnv.txt \
- "
-
-KERNEL_FEATURES += " \
- bsp/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.scc \
- features/v4l2/v4l2-xilinx.scc \
- "
diff --git a/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf b/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
deleted file mode 100644
index d7af056a..00000000
--- a/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-#@TYPE: Machine
-#@NAME: zybo-zynq7
-#@DESCRIPTION: Machine support for ZYBO.
-#
-# For details on the ZYBO board:
-# https://www.digilentinc.com/Products/Detail.cfm?Prod=ZYBO
-#
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-
-MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
-
-# u-boot configuration
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
-UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-UBOOT_ELF = "u-boot"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-KERNEL_DEVICETREE = "zynq-zybo.dtb"
-
-IMAGE_BOOT_FILES += " \
- boot.bin \
- uEnv.txt \
- "
-
diff --git a/meta-xilinx-bsp/conf/machine/zynq-generic.conf b/meta-xilinx-bsp/conf/machine/zynq-generic.conf
deleted file mode 100644
index 0f38e32b..00000000
--- a/meta-xilinx-bsp/conf/machine/zynq-generic.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#@TYPE: Machine
-#@NAME: Generic Zynq
-#@DESCRIPTION: Generic Zynq Device
-
-require conf/machine/include/soc-zynq.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
-
-UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-
-HDF_MACHINE = "zc702-zynq7"
-
-QB_MEM = "-m 1024"
-QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
-QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"
-
-QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
-QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
-QB_DTB = "system.dtb"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND = " \
- -nographic -serial null -serial mon:stdio \
- -initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zynq-generic.cpio.gz.u-boot \
- -gdb tcp::9000 \
- -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
- -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
- -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
- -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
- -device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
- "
diff --git a/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf b/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf
deleted file mode 100644
index 7aa01986..00000000
--- a/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf
+++ /dev/null
@@ -1,82 +0,0 @@
-#@TYPE: Machine
-#@NAME: Generic zynqmp
-#@DESCRIPTION: zynqmp devices
-
-# CG is the lowest common demoninator, so use this by default
-SOC_VARIANT ?= "cg"
-
-require conf/machine/include/soc-zynqmp.inc
-require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-qemu.inc
-
-MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
-
-EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
-
-UBOOT_MACHINE = "xilinx_zynqmp_virt_defconfig"
-SPL_BINARY ?= "spl/boot.bin"
-
-# Default SD image build onfiguration, use qemu-sd to pad
-IMAGE_CLASSES += "image-types-xilinx-qemu"
-IMAGE_FSTYPES += "wic.qemu-sd"
-WKS_FILES ?= "sdimage-bootpart.wks"
-
-SERIAL_CONSOLES ?= "115200;ttyPS0"
-
-# We need a generic one that works with QEMU...
-HDF_MACHINE = "zcu102-zynqmp"
-KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"
-
-EXTRA_IMAGEDEPENDS += " \
- u-boot-zynq-uenv \
- arm-trusted-firmware \
- qemu-devicetrees \
- virtual/boot-bin \
- virtual/bootloader \
- u-boot-zynq-scr \
- "
-
-IMAGE_BOOT_FILES += " \
- uEnv.txt \
- atf-uboot.ub \
- ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \
- boot.scr \
- "
-
-# This machine has a QEMU model, runqemu setup:
-QB_MACHINE = "-machine xlnx-zcu102"
-QB_MEM = "-m 4096"
-QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null"
-QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
-
-# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
-QB_OPT_APPEND_append_qemuboot-xilinx = " \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
- ${@qemu_zynqmp_unhalt(d, True)} \
- -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
- -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
- -device loader,file=${DEPLOY_DIR_IMAGE}/system.dtb,addr=0x100000 \
- "
-
-# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
-QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
-QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
-
-# PMU instance args
-PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
-PMU_FIRMWARE_DEPLOY_DIR ?= "${@ '${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu' if d.getVar('BMULTICONFIG') == 'pmu' else '${TOPDIR}/tmp/deploy/images/${MACHINE}'}"
-PMU_FIRMWARE_IMAGE_NAME ?= "${@ 'pmu-firmware-zynqmp-pmu' if d.getVar('BBMULTICONFIG') == 'pmu' else 'pmu-${MACHINE}'}"
-
-QB_PMU_OPT = " \
- -M microblaze-fdt \
- -display none \
- -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
- -kernel ${PMU_ROM} \
- -device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \
- -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
- -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
- "
-QB_OPT_APPEND_append_qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
-
-do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"
diff --git a/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf b/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf
deleted file mode 100644
index 87bb56a8..00000000
--- a/meta-xilinx-bsp/conf/multiconfig/fsblmc.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-MACHINE = "cortexa53-zynqmp"
-DISTRO = "xilinx-standalone"
-TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
-
-# These should be temporary until the dtg repo has the correct design
-HDF_BASE ?= "file://"
-HDF_PATH ?= "${TOPDIR}/system.dsa"
-HDF_EXT ?= "dsa"
diff --git a/meta-xilinx-bsp/conf/multiconfig/pmumc.conf b/meta-xilinx-bsp/conf/multiconfig/pmumc.conf
deleted file mode 100644
index 756ea94a..00000000
--- a/meta-xilinx-bsp/conf/multiconfig/pmumc.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-MACHINE = "microblaze-pmu"
-DISTRO = "xilinx-standalone"
-TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
-
-# These should be temporary until the dtg repo has the correct design
-HDF_BASE ?= "file://"
-HDF_PATH ?= "${TOPDIR}/system.dsa"
-HDF_EXT ?= "dsa"