Clenaup and rework the code so that the 'generic' implementation no longers
affects xsct, or SDT (or future) variations.

Signed-off-by: Mark Hatle <[email protected]>
---
 ...lm-Changes-to-ensure-versionless-bui.patch | 261 ------------------
 ...c-Update-makefile-for-version-less-b.patch |  56 ----
 ...misc-Update-mcpu-version-in-Makefile.patch |  35 ---
 ...rrect-structure-header-of-PmResetOps.patch |  30 --
 ...ynqmp_pmufw-Fix-reset-ops-for-assert.patch |  93 -------
 .../0001-versal_fw-Fixup-core-makefiles.patch |   0
 ...pm-versal-Fixed-2023.1-compile-error.patch |  45 +++
 .../makefile-skip-copy_bsp.sh.patch           |   0
 .../0001-versal_fw-Fixup-core-makefiles.patch |   0
 ...pm-versal-Fixed-2023.1-compile-error.patch |  40 +++
 .../makefile-skip-copy_bsp.sh.patch           |   0
 .../0001-versal_fw-Fixup-core-makefiles.patch |  16 +-
 .../makefile-skip-copy_bsp.sh.patch           |   0
 .../0001-versal_fw-Fixup-core-makefiles.patch |  16 +-
 .../makefile-skip-copy_bsp.sh.patch           |   0
 .../0001-versal_fw-Fixup-core-makefiles.patch |  20 +-
 .../makefile-skip-copy_bsp.sh.patch           |   0
 .../embeddedsw/zynqmp_pmufw-fixup.patch       |  19 --
 .../recipes-bsp/embeddedsw/fsbl-firmware.inc  |  45 ---
 .../fsbl-firmware_2022.1+git-generic.inc      |  11 +
 .../embeddedsw/fsbl-firmware_2022.1.bb        |  12 +-
 .../fsbl-firmware_2022.2+git-generic.inc      |  10 +
 .../embeddedsw/fsbl-firmware_2022.2.bb        |  12 +-
 .../fsbl-firmware_2023.1+git-generic.inc      |  10 +
 .../embeddedsw/fsbl-firmware_2023.1.bb        |  12 +-
 .../fsbl-firmware_2023.2+git-generic.inc      |  10 +
 .../embeddedsw/fsbl-firmware_2023.2.bb        |  12 +-
 .../fsbl-firmware_2024.1+git-generic.inc      |  10 +
 .../embeddedsw/fsbl-firmware_2024.1.bb        |  12 +-
 .../embeddedsw/fsbl-firmware_generic.inc      |  46 +++
 .../embeddedsw/fsbl-firmware_git.bb           |  14 -
 .../recipes-bsp/embeddedsw/fsbl.bbappend      |   2 +-
 .../recipes-bsp/embeddedsw/plm-firmware.inc   |  62 -----
 .../plm-firmware_2022.1+git-generic.inc       |  15 +
 .../embeddedsw/plm-firmware_2022.1.bb         |  17 +-
 ...bb => plm-firmware_2022.2+git-generic.inc} |   8 +-
 .../embeddedsw/plm-firmware_2022.2.bb         |  17 +-
 .../plm-firmware_2023.1+git-generic.inc       |  27 ++
 .../embeddedsw/plm-firmware_2023.1.bb         |  30 +-
 .../plm-firmware_2023.2+git-generic.inc       |  27 ++
 .../embeddedsw/plm-firmware_2023.2.bb         |  30 +-
 .../plm-firmware_2024.1+git-generic.inc       |  27 ++
 .../embeddedsw/plm-firmware_2024.1.bb         |  30 +-
 .../embeddedsw/plm-firmware_generic.inc       |  64 +++++
 .../recipes-bsp/embeddedsw/plmfw.bbappend     |   2 +-
 .../recipes-bsp/embeddedsw/pmu-firmware.inc   |  64 -----
 ...bb => pmu-firmware_2022.1+git-generic.inc} |   7 +-
 .../embeddedsw/pmu-firmware_2022.1.bb         |  11 +-
 .../pmu-firmware_2022.2+git-generic.inc       |   8 +
 .../embeddedsw/pmu-firmware_2022.2.bb         |  11 +-
 .../pmu-firmware_2023.1+git-generic.inc       |   8 +
 .../embeddedsw/pmu-firmware_2023.1.bb         |  11 +-
 .../pmu-firmware_2023.2+git-generic.inc       |   8 +
 .../embeddedsw/pmu-firmware_2023.2.bb         |  11 +-
 .../pmu-firmware_2024.1+git-generic.inc       |   8 +
 .../embeddedsw/pmu-firmware_2024.1.bb         |  11 +-
 .../embeddedsw/pmu-firmware_generic.inc       |  53 ++++
 .../recipes-bsp/embeddedsw/pmufw.bbappend     |   2 +-
 .../recipes-bsp/embeddedsw/psm-firmware.inc   |  62 -----
 .../psm-firmware_2022.1+git-generic.inc       |  15 +
 .../embeddedsw/psm-firmware_2022.1.bb         |  17 +-
 ...bb => psm-firmware_2022.2+git-generic.inc} |   8 +-
 .../embeddedsw/psm-firmware_2022.2.bb         |  17 +-
 .../psm-firmware_2023.1+git-generic.inc       |  32 +++
 .../embeddedsw/psm-firmware_2023.1.bb         |  35 +--
 .../psm-firmware_2023.2+git-generic.inc       |  32 +++
 .../embeddedsw/psm-firmware_2023.2.bb         |  35 +--
 .../psm-firmware_2024.1+git-generic.inc       |  32 +++
 .../embeddedsw/psm-firmware_2024.1.bb         |  35 +--
 .../embeddedsw/psm-firmware_generic.inc       |  64 +++++
 .../recipes-bsp/embeddedsw/psmfw.bbappend     |   2 +-
 71 files changed, 677 insertions(+), 1127 deletions(-)
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{ => 
2022.1+git}/0001-versal_fw-Fixup-core-makefiles.patch (100%)
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{ => 
2022.1+git}/makefile-skip-copy_bsp.sh.patch (100%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2022.2 => 
2022.2+git}/0001-versal_fw-Fixup-core-makefiles.patch (100%)
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2022.2 => 
2022.2+git}/makefile-skip-copy_bsp.sh.patch (100%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2023.1 => 
2023.1+git}/0001-versal_fw-Fixup-core-makefiles.patch (94%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2023.1 => 
2023.1+git}/makefile-skip-copy_bsp.sh.patch (100%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2023.2 => 
2023.2+git}/0001-versal_fw-Fixup-core-makefiles.patch (94%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2023.2 => 
2023.2+git}/makefile-skip-copy_bsp.sh.patch (100%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2024.1 => 
2024.1+git}/0001-versal_fw-Fixup-core-makefiles.patch (93%)
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/{2024.1 => 
2024.1+git}/makefile-skip-copy_bsp.sh.patch (100%)
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc
 delete mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/{plm-firmware_git.bb => 
plm-firmware_2022.2+git-generic.inc} (81%)
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/{pmu-firmware_git.bb => 
pmu-firmware_2022.1+git-generic.inc} (60%)
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc
 rename meta-xilinx-standalone/recipes-bsp/embeddedsw/{psm-firmware_git.bb => 
psm-firmware_2022.2+git-generic.inc} (83%)
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc
 create mode 100644 
meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc

diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch
deleted file mode 100644
index 0dbe68dc..00000000
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-sw_apps-versal_plm-Changes-to-ensure-versionless-bui.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From 3b706021d06b9dbbe5848e524da09b527f75ad4f Mon Sep 17 00:00:00 2001
-From: "[email protected]" <[email protected]>
-Date: Thu, 11 Feb 2021 23:20:31 +0530
-Subject: [PATCH] sw_apps :versal_plm: Changes to ensure versionless build
- works with yocto flow
-
-The syntax of updating BSP_SEQUENTIAL_FILES variable in copy_bsp.sh is updated.
-Using COMPILER, ARCHIVER and AASEMBLER variables in bsp Makefile instead of
-hardcoding them. This would help yocto flow as it does not use mb-gcc.
-
-Signed-off-by: Vikram Sreenivasa Batchali <[email protected]>
-Acked-by: Krishna Chaitanya Patakamuri 
<[email protected]>
----
- lib/sw_apps/versal_plm/misc/Makefile      | 10 ++++++----
- lib/sw_apps/versal_plm/misc/copy_bsp.sh   | 16 ++++++++--------
- lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh    |  6 +++---
- lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh  |  8 ++++----
- lib/sw_apps/zynqmp_pmufw/misc/Makefile    | 10 ++++++----
- lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh |  8 ++++----
- 6 files changed, 31 insertions(+), 27 deletions(-)
-
-diff --git a/lib/sw_apps/versal_plm/misc/Makefile 
b/lib/sw_apps/versal_plm/misc/Makefile
-index 23ac27b52b..d1be4ffc8e 100644
---- a/lib/sw_apps/versal_plm/misc/Makefile
-+++ b/lib/sw_apps/versal_plm/misc/Makefile
-@@ -1,5 +1,7 @@
- # Makefile generated by Xilinx.
--
-+COMPILER := mb-gcc
-+ARCHIVER := mb-gcc-ar
-+ASSEMBLER := mb-as
- DRIVER_LIB_VERSION = 1.0
- PROCESSOR = psv_pmc_0
- LIBRARIES = ${PROCESSOR}/lib/libxil.a
-@@ -28,7 +30,7 @@ par_libs: $(addsuffix /make.libs,$(PAR_SUBDIRS))
-       @echo 'Finished building libraries parallelly.'
- 
- archive:
--      mb-gcc-ar -r  $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o)
-+      $(ARCHIVER) -r  $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o)
- 
- clean: $(addsuffix /make.clean,$(SUBDIRS))
-       rm -f ${PROCESSOR}/lib/libxil.a
-@@ -38,11 +40,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
- 
- %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
-       @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-gcc-ar" "COMPILER_FLAGS=  -O2 
-c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" 
"EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
-+      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
- 
- %/make.libs: include
-       @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-gcc-ar" "COMPILER_FLAGS=  -O2 
-c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" 
"EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
-+      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
- 
- %/make.clean: 
-       $(MAKE) -C $(subst /make.clean,,$@) -s clean 
-diff --git a/lib/sw_apps/versal_plm/misc/copy_bsp.sh 
b/lib/sw_apps/versal_plm/misc/copy_bsp.sh
-index 2e4e393b5d..4f082de37c 100755
---- a/lib/sw_apps/versal_plm/misc/copy_bsp.sh
-+++ b/lib/sw_apps/versal_plm/misc/copy_bsp.sh
-@@ -48,33 +48,33 @@ fi
- mkdir -p $BSP_DIR/libsrc/xilffs
- cp -r $SERVICES_DIR/xilffs/src $BSP_DIR/libsrc/xilffs/
- cp -r $SERVICES_DIR/xilffs/src/include/* $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilffs/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilffs/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilpdi
- cp -r $SERVICES_DIR/xilpdi/src $BSP_DIR/libsrc/xilpdi/
- cp -r $SERVICES_DIR/xilpdi/src/*.h $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilpdi/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilpdi/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilplmi
- cp -r $SERVICES_DIR/xilplmi/src $BSP_DIR/libsrc/xilplmi/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilplmi/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilplmi/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilpuf
- cp -r $SERVICES_DIR/xilpuf/src $BSP_DIR/libsrc/xilpuf/
- cp -r $SERVICES_DIR/xilpuf/src/*.h $BSP_DIR/include/
--set SP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilpuf/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilpuf/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilloader
- cp -r $SERVICES_DIR/xilloader/src $BSP_DIR/libsrc/xilloader/
- cp -r $SERVICES_DIR/xilloader/src/*.h $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilloader/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilloader/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilpm/src/
- cp -r $SERVICES_DIR/xilpm/src/versal/common/* $BSP_DIR/libsrc/xilpm/src/
- cp -r $SERVICES_DIR/xilpm/src/versal/server/* $BSP_DIR/libsrc/xilpm/src/
- cp -r $SERVICES_DIR/xilpm/src/versal/common/*.h $BSP_DIR/include/
- cp -r $SERVICES_DIR/xilpm/src/versal/server/*.h $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += 
$BSP_DIR/libsrc/xilpm/src/versal/common/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilpm/src/versal/common/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/Makefile $BSP_DIR/libsrc/xilsecure/src/
-@@ -84,7 +84,7 @@ cp -r $SERVICES_DIR/xilsecure/src/common/*.h 
$BSP_DIR/include/
- cp -r $SERVICES_DIR/xilsecure/src/versal/*.h $BSP_DIR/include/
- mv $BSP_DIR/libsrc/xilsecure/src/libxilsecure_pmc.a 
$BSP_DIR/libsrc/xilsecure/src/libxilsecure.a
- rm $BSP_DIR/libsrc/xilsecure/src/libxilsecure_*.a
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilsecure/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilsecure/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilsem
- cp -r $SERVICES_DIR/xilsem/src $BSP_DIR/libsrc/xilsem/
-@@ -116,7 +116,7 @@ do
-     cp -r $DRIVERS_DIR/$line/src/*.h $BSP_DIR/include/
- # copy all the HSM generated driver files DRIVER_g.c
-       cp $WORKING_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/
--      set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile
-+      BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/$line/src/Makefile"
- done < $DRIVERS_LIST
- 
- #copy the processor code.
-diff --git a/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh 
b/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh
-index 70dae119b2..70a83ffd50 100755
---- a/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh
-+++ b/lib/sw_apps/zynq_fsbl/misc/copy_bsp.sh
-@@ -75,18 +75,18 @@ do
-     cp -r $DRIVERS_DIR/$line/src $BSP_DIR/libsrc/$line
- # copy all the HSM generated driver files DRIVER_g.c
- #    cp $BOARD_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/
--     set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile
-+    BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/$line/src/Makefile"
- 
- done < $DRIVERS_LIST
- 
- # copy the libraries required
- cp -r $SERVICES_DIR/xilffs/ $BSP_DIR/libsrc/
- cp -r $SERVICES_DIR/xilffs/src/include/* $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilffs/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilffs/src/Makefile"
- 
- cp -r $SERVICES_DIR/xilrsa/ $BSP_DIR/libsrc/
- cp -r $SERVICES_DIR/xilrsa/src/include/* $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilrsa/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilrsa/src/Makefile"
- 
- #copy the xparameters.h
- cp $BOARD_DIR/xparameters.h $BSP_DIR/include/
-diff --git a/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh 
b/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh
-index 8cc6e3a66e..120aeb8fc7 100755
---- a/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh
-+++ b/lib/sw_apps/zynqmp_fsbl/misc/copy_bsp.sh
-@@ -65,7 +65,7 @@ fi
- mkdir -p $BSP_DIR/libsrc/xilffs
- cp -r $SERVICES_DIR/xilffs/src $BSP_DIR/libsrc/xilffs/
- cp -r $SERVICES_DIR/xilffs/src/include/* $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilffs/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilffs/src/Makefile"
- 
- mkdir -p $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/Makefile $BSP_DIR/libsrc/xilsecure/src/
-@@ -73,13 +73,13 @@ cp -r $SERVICES_DIR/xilsecure/src/common/* 
$BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/zynqmp/* $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/common/*.h $BSP_DIR/include/
- cp -r $SERVICES_DIR/xilsecure/src/zynqmp/*.h $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilsecure/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilsecure/src/Makefile"
- 
- cp -r $SERVICES_DIR/xilpm/ $BSP_DIR/libsrc/
- cp -r $SERVICES_DIR/xilpm/src/zynqmp/client/common/* 
$BSP_DIR/libsrc/xilpm/src/
- cp -r $SERVICES_DIR/xilpm/src/zynqmp/client/common/*.h $BSP_DIR/include/
- cp $WORKING_DIR/pm_cfg_obj.c  $BSP_DIR/libsrc/xilpm/src/
--set BSP_SEQUENTIAL_MAKEFILES += 
$BSP_DIR/libsrc/xilpm/src/zynqmp/client/common/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilpm/src/zynqmp/client/common/Makefile"
- 
- rm -rf $BSP_DIR/libsrc/xilpm/src/zynqmp/
- rm -rf $BSP_DIR/libsrc/xilpm/src/versal/
-@@ -161,7 +161,7 @@ do
- 
-       # copy all the HSM generated driver files DRIVER_g.c
-       #   cp $BOARD_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/
--      set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile
-+      BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/$line/src/Makefile"
- 
- done < $DRIVERS_LIST
- 
-diff --git a/lib/sw_apps/zynqmp_pmufw/misc/Makefile 
b/lib/sw_apps/zynqmp_pmufw/misc/Makefile
-index 142581b2b9..a773498512 100644
---- a/lib/sw_apps/zynqmp_pmufw/misc/Makefile
-+++ b/lib/sw_apps/zynqmp_pmufw/misc/Makefile
-@@ -1,5 +1,7 @@
- # Makefile generated by Xilinx.
--
-+COMPILER := mb-gcc
-+ARCHIVER := mb-gcc-ar
-+ASSEMBLER := mb-as
- DRIVER_LIB_VERSION = 1.0
- PROCESSOR = psu_pmu_0
- LIBRARIES = ${PROCESSOR}/lib/libxil.a
-@@ -28,7 +30,7 @@ par_libs: $(addsuffix /make.libs,$(PAR_SUBDIRS))
-       @echo 'Finished building libraries parallelly.'
- 
- archive:
--      mb-gcc-ar -r  $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o)
-+      $(ARCHIVER) -r  $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o)
- 
- clean: $(addsuffix /make.clean,$(SUBDIRS))
-       rm -f ${PROCESSOR}/lib/libxil.a
-@@ -38,11 +40,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
- 
- %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
-       @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS=  -O2 -c -mcpu=v9.2 
-mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mxl-soft-mul" 
"EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
-+      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=  -O2 -c 
-mcpu=v9.2 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare 
-mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall 
-Wextra -Os -flto -ffat-lto-objects"
- 
- %/make.libs: include
-       @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS=  -O2 -c -mcpu=v9.2 
-mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mxl-soft-mul" 
"EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
-+      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=  -O2 -c 
-mcpu=v9.2 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare 
-mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall 
-Wextra -Os -flto -ffat-lto-objects"
- 
- %/make.clean:
-       $(MAKE) -C $(subst /make.clean,,$@) -s clean
-diff --git a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh 
b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh
-index c683e4f73d..be8616968e 100755
---- a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh
-+++ b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh
-@@ -52,14 +52,14 @@ cp -r 
$SERVICES_DIR/xilfpga/src/interface/zynqmp/xilfpga_pcap.c $BSP_DIR/libsrc/
- cp -r $SERVICES_DIR/xilfpga/src/*.h $BSP_DIR/include/
- cp -r $SERVICES_DIR/xilfpga/src/interface/zynqmp/*.h $BSP_DIR/include/
- rm -r $BSP_DIR/libsrc/xilfpga/src/interface/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilfpga/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilfpga/src/Makefile"
- mkdir -p $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/Makefile $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/common/* $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/zynqmp/* $BSP_DIR/libsrc/xilsecure/src/
- cp -r $SERVICES_DIR/xilsecure/src/common/*.h $BSP_DIR/include/
- cp -r $SERVICES_DIR/xilsecure/src/zynqmp/*.h $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilsecure/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilsecure/src/Makefile"
- cp -r $SERVICES_DIR/xilskey/ $BSP_DIR/libsrc/
- 
- # remove the xilskey library files which are not required for PMU
-@@ -81,7 +81,7 @@ rm -r $BSP_DIR/libsrc/xilskey/src/include/xilskey_bbram.h
- # copy the xilskey library header files to include directory
- cp -r $BSP_DIR/libsrc/xilskey/src/*.h $BSP_DIR/include/
- cp -r $BSP_DIR/libsrc/xilskey/src/include/*.h $BSP_DIR/include/
--set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/xilskey/src/Makefile
-+BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilskey/src/Makefile"
- 
- # copy bsp standalone code
- cp  $STANDALONE_DIR/common/*  $BSP_DIR/libsrc/standalone/src/
-@@ -108,7 +108,7 @@ do
-     cp -r $DRIVERS_DIR/$line/src/*.h $BSP_DIR/include/
- # copy all the HSM generated driver files DRIVER_g.c
-       cp $WORKING_DIR/x"$line"_g.c $BSP_DIR/libsrc/$line/src/
--      set BSP_SEQUENTIAL_MAKEFILES += $BSP_DIR/libsrc/$line/src/Makefile
-+      BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/$line/src/Makefile"
- 
- done < $DRIVERS_LIST
- 
--- 
-2.17.1
-
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch
deleted file mode 100644
index 295d59bb..00000000
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-makefile-for-version-less-b.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 79e17afd2c943c53978dceab2f8fd17cba8994ec Mon Sep 17 00:00:00 2001
-From: Rajan Vaja <[email protected]>
-Date: Mon, 15 Feb 2021 22:53:37 -0800
-Subject: [PATCH] versal_psmfw: misc: Update makefile for version less build
- with yocto
-
-Use COMPILER, ARCHIVER and ASSEMBLER variables in Makefile instead of
-hard coding them. This would help yocto flow as it does not use
-mb-gcc.
-
-Signed-off-by: Rajan Vaja <[email protected]>
-Acked-by: Nicole Baze <[email protected]>
----
- lib/sw_apps/versal_psmfw/misc/Makefile | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile 
b/lib/sw_apps/versal_psmfw/misc/Makefile
-index 6374302f5c..2164c19f03 100644
---- a/lib/sw_apps/versal_psmfw/misc/Makefile
-+++ b/lib/sw_apps/versal_psmfw/misc/Makefile
-@@ -8,6 +8,9 @@ SUBDIRS := $(patsubst %/Makefile, %, $(BSP_MAKEFILES))
- BSP_PARALLEL_MAKEFILES := $(filter-out 
$(BSP_SEQUENTIAL_MAKEFILES),$(BSP_MAKEFILES))
- SEQ_SUBDIRS := $(patsubst %/Makefile, %, $(BSP_SEQUENTIAL_MAKEFILES))
- PAR_SUBDIRS := $(patsubst %/Makefile, %, $(BSP_PARALLEL_MAKEFILES))
-+COMPILER := mb-gcc
-+ARCHIVER := mb-ar
-+ASSEMBLER := mb-as
- 
- ifneq (,$(findstring win,$(RDI_PLATFORM)))
-  SHELL = CMD
-@@ -28,7 +31,7 @@ par_libs: $(addsuffix /make.libs,$(PAR_SUBDIRS))
-       @echo 'Finished building libraries parallelly.'
- 
- archive:
--      mb-ar -r  $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o)
-+      $(ARCHIVER) -r  $(LIBRARIES) $(wildcard $(PROCESSOR)/lib/*.o)
- 
- clean: $(addsuffix /make.clean,$(SUBDIRS))
-       rm -f ${PROCESSOR}/lib/libxil.a
-@@ -38,11 +41,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
- 
- %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
-       @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS=  -O2 -c 
-mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" 
"EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra"
-+      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra"
- 
- %/make.libs: include
-       @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS=  -O2 -c 
-mcpu=v -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" 
"EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra"
-+      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra"
- 
- %/make.clean:
-       $(MAKE) -C $(subst /make.clean,,$@) -s clean
--- 
-2.17.1
-
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch
deleted file mode 100644
index 072691d8..00000000
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_psmfw-misc-Update-mcpu-version-in-Makefile.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7b5cd70e8d77f5df345a2f1a29e09a51af248040 Mon Sep 17 00:00:00 2001
-From: Rajan Vaja <[email protected]>
-Date: Fri, 26 Feb 2021 02:30:28 -0800
-Subject: [PATCH] versal_psmfw: misc: Update mcpu version in Makefile
-
-Use -mcpu=v10.0 instead of -mcpu=v as -mcpu=v is not defined and
-PSM is using v10.0.
-
-Signed-off-by: Rajan Vaja <[email protected]>
-Acked-by: Nicole Baze <[email protected]>
----
- lib/sw_apps/versal_psmfw/misc/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile 
b/lib/sw_apps/versal_psmfw/misc/Makefile
-index 2164c19f03..02d85e492e 100644
---- a/lib/sw_apps/versal_psmfw/misc/Makefile
-+++ b/lib/sw_apps/versal_psmfw/misc/Makefile
-@@ -41,11 +41,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
- 
- %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
-       @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra"
-+      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra"
- 
- %/make.libs: include
-       @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra"
-+      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra"
- 
- %/make.clean:
-       $(MAKE) -C $(subst /make.clean,,$@) -s clean
--- 
-2.17.1
-
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch
deleted file mode 100644
index a5d0894a..00000000
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Correct-structure-header-of-PmResetOps.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 27d08d91eedb77c28e7776d0ccf6b92d79d3b6bb Mon Sep 17 00:00:00 2001
-From: Rajan Vaja <[email protected]>
-Date: Mon, 15 Feb 2021 22:47:13 -0800
-Subject: [PATCH] zynqmp_pmufw: Correct structure header of PmResetOps
-
-Update structure header of PmResetOps for using resetAssert instead
-of assert.
-
-Signed-off-by: Rajan Vaja <[email protected]>
-Acked-by: Mounika Akula <[email protected]>
----
- lib/sw_apps/zynqmp_pmufw/src/pm_reset.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c 
b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-index bcd8aa73db..a693eb4196 100644
---- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-+++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-@@ -29,7 +29,7 @@
- 
- /**
-  * PmResetOps - Reset operations
-- * @assert    Assert or release reset line
-+ * @resetAssert       Assert or release reset line
-  * @getStatus Get current status of reset line
-  * @pulse     Function performing reset pulse operation
-  */
--- 
-2.17.1
-
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch
deleted file mode 100644
index a0e67dfd..00000000
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-zynqmp_pmufw-Fix-reset-ops-for-assert.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 57a5a13ef730c5c46d9db159ed9b7a466cc70388 Mon Sep 17 00:00:00 2001
-From: Rajan Vaja <[email protected]>
-Date: Wed, 27 Jan 2021 22:19:51 -0800
-Subject: [PATCH] zynqmp_pmufw: Fix reset ops for assert()
-
-New compiler toolchain treats "assert" as a macro always. So rename
-the existing "assert" variable to "resetAssert" in the codebase.
-
-Signed-off-by: Rajan Vaja <[email protected]>
-Acked-by: Ravi Patel <[email protected]>
-Acked-by: Tejas Patel <[email protected]>
----
- lib/sw_apps/zynqmp_pmufw/src/pm_reset.c | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c 
b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-index c66aae4a0c..bcd8aa73db 100644
---- a/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-+++ b/lib/sw_apps/zynqmp_pmufw/src/pm_reset.c
-@@ -1,5 +1,5 @@
- /*
--* Copyright (c) 2014 - 2020 Xilinx, Inc.  All rights reserved.
-+* Copyright (c) 2014 - 2021 Xilinx, Inc.  All rights reserved.
- * SPDX-License-Identifier: MIT
-  */
- 
-@@ -34,7 +34,7 @@
-  * @pulse     Function performing reset pulse operation
-  */
- typedef struct PmResetOps {
--      void (*const assert)(const PmReset* const rst, const u32 action);
-+      void (*const resetAssert)(const PmReset* const rst, const u32 action);
-       u32 (*const getStatus)(const PmReset* const s);
-       u32 (*const pulse)(const PmReset* const rst);
- } PmResetOps;
-@@ -399,37 +399,37 @@ static u32 PmResetPulsePl(const PmReset* const rst)
- }
- 
- static const PmResetOps pmResetOpsGeneric = {
--      .assert = PmResetAssertGen,
-+      .resetAssert = PmResetAssertGen,
-       .getStatus = PmResetGetStatusGen,
-       .pulse = PmResetPulseGen,
- };
- 
- static const PmResetOps pmResetOpsGpo = {
--      .assert = PmResetAssertGpo,
-+      .resetAssert = PmResetAssertGpo,
-       .getStatus = PmResetGetStatusGpo,
-       .pulse = PmResetPulseGpo,
- };
- 
- static const PmResetOps pmResetOpsRom = {
--      .assert = PmResetAssertRom,
-+      .resetAssert = PmResetAssertRom,
-       .getStatus = PmResetGetStatusRom,
-       .pulse = PmResetPulseRom,
- };
- 
- static const PmResetOps pmResetOpsNoAssert = {
--      .assert = NULL,
-+      .resetAssert = NULL,
-       .getStatus = PmResetGetStatusRom,
-       .pulse = PmResetPulseRom,
- };
- 
- static const PmResetOps pmResetOpsPl = {
--      .assert = PmResetAssertPl,
-+      .resetAssert = PmResetAssertPl,
-       .getStatus = PmResetGetStatusPl,
-       .pulse = PmResetPulsePl,
- };
- 
- static const PmResetOps pmResetOpsGpioBankIO = {
--      .assert = NULL,
-+      .resetAssert = NULL,
-       .getStatus = PmResetGetStatusGpioBankIOs,
-       .pulse = PmResetPulseGpioBankIOs,
- };
-@@ -1885,8 +1885,8 @@ s32 PmResetDoAssert(const PmReset *reset, u32 action)
-       switch (action) {
-       case PM_RESET_ACTION_RELEASE:
-       case PM_RESET_ACTION_ASSERT:
--              if (NULL != reset->ops->assert) {
--                      reset->ops->assert(reset, action);
-+              if (NULL != reset->ops->resetAssert) {
-+                      reset->ops->resetAssert(reset, action);
-               } else {
-                       status = XST_INVALID_PARAM;
-               }
--- 
-2.17.1
-
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_fw-Fixup-core-makefiles.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-versal_fw-Fixup-core-makefiles.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/0001-versal_fw-Fixup-core-makefiles.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-versal_fw-Fixup-core-makefiles.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
new file mode 100644
index 00000000..61fcf5a9
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
@@ -0,0 +1,45 @@
+From 3cd9d41953ebfe26d09dae231e7b7a0b3285be8d Mon Sep 17 00:00:00 2001
+From: Jesus De Haro <[email protected]>
+Date: Mon, 16 Jan 2023 20:59:06 -0800
+Subject: [PATCH] xilpm: versal: Fixed 2023.1 compile error
+
+Added NULL check for pointer Device before attempting to dereference the 
pointer.
+
+Signed-off-by: Jesus De Haro <[email protected]>
+Acked-by: Nicole Baze <[email protected]>
+(cherry picked from commit 2601b201e95ea0edab89342ee7137c74e88a8a79)
+
+Backported to 2022.1
+
+Signed-off-by: Mark Hatle <[email protected]>
+---
+ lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c 
b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c
+index 13410f2224..f4743cc2a9 100644
+--- a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c
++++ b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c
+@@ -1,5 +1,6 @@
+ 
/******************************************************************************
+ * Copyright (c) 2018 - 2020 Xilinx, Inc.  All rights reserved.
++* Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
+ * SPDX-License-Identifier: MIT
+ 
******************************************************************************/
+ 
+@@ -696,7 +697,11 @@ XStatus XPmDomainIso_Control(u32 IsoIdx, u32 Enable)
+ done:
+       if ((IsoIdx <= (u32)XPM_NODEIDX_ISO_XRAM_PL_FABRIC) &&
+               (IsoIdx >= (u32)XPM_NODEIDX_ISO_XRAM_PL_AXI0)) {
+-              XPmPsLpDomain_LockPcsr(Device->Node.BaseAddress);
++              if(NULL != Device) {
++                      XPmPsLpDomain_LockPcsr(Device->Node.BaseAddress);
++              } else {
++                      Status = XST_DEVICE_NOT_FOUND;
++              }
+       }
+ 
+       return Status;
+-- 
+2.34.1
+
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/makefile-skip-copy_bsp.sh.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/makefile-skip-copy_bsp.sh.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/makefile-skip-copy_bsp.sh.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.1+git/makefile-skip-copy_bsp.sh.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/0001-versal_fw-Fixup-core-makefiles.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-versal_fw-Fixup-core-makefiles.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/0001-versal_fw-Fixup-core-makefiles.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-versal_fw-Fixup-core-makefiles.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
new file mode 100644
index 00000000..3afa125c
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/0001-xilpm-versal-Fixed-2023.1-compile-error.patch
@@ -0,0 +1,40 @@
+From 2601b201e95ea0edab89342ee7137c74e88a8a79 Mon Sep 17 00:00:00 2001
+From: Jesus De Haro <[email protected]>
+Date: Mon, 16 Jan 2023 20:59:06 -0800
+Subject: [PATCH] xilpm: versal: Fixed 2023.1 compile error
+
+Added NULL check for pointer Device before attempting to dereference the 
pointer.
+
+Signed-off-by: Jesus De Haro <[email protected]>
+Acked-by: Nicole Baze <[email protected]>
+---
+ lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c 
b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c
+index fa571e0552..bd0aa89e12 100644
+--- a/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c
++++ b/lib/sw_services/xilpm/src/versal/server/xpm_domain_iso.c
+@@ -1,5 +1,6 @@
+ 
/******************************************************************************
+ * Copyright (c) 2018 - 2022 Xilinx, Inc.  All rights reserved.
++* Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
+ * SPDX-License-Identifier: MIT
+ 
******************************************************************************/
+ 
+@@ -721,7 +722,11 @@ XStatus XPmDomainIso_Control(u32 IsoIdx, u32 Enable)
+ done:
+       if ((IsoIdx <= (u32)XPM_NODEIDX_ISO_XRAM_PL_FABRIC) &&
+               (IsoIdx >= (u32)XPM_NODEIDX_ISO_XRAM_PL_AXI0)) {
+-              XPm_LockPcsr(Device->Node.BaseAddress);
++              if(NULL != Device) {
++                      XPm_LockPcsr(Device->Node.BaseAddress);
++              } else {
++                      Status = XST_DEVICE_NOT_FOUND;
++              }
+       }
+ 
+       return Status;
+-- 
+2.34.1
+
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/makefile-skip-copy_bsp.sh.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/makefile-skip-copy_bsp.sh.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2/makefile-skip-copy_bsp.sh.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2022.2+git/makefile-skip-copy_bsp.sh.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/0001-versal_fw-Fixup-core-makefiles.patch
similarity index 94%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/0001-versal_fw-Fixup-core-makefiles.patch
index d6cb0e38..788cfb35 100644
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/0001-versal_fw-Fixup-core-makefiles.patch
@@ -1,4 +1,4 @@
-From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001
+From 000ad45124ec9d82b2579632a896b0f9a28ee3a8 Mon Sep 17 00:00:00 2001
 From: Mark Hatle <[email protected]>
 Date: Wed, 7 Dec 2022 15:42:15 -0800
 Subject: [PATCH] versal_fw: Fixup core makefiles
@@ -16,7 +16,7 @@ Signed-off-by: Mark Hatle <[email protected]>
  3 files changed, 12 insertions(+), 6 deletions(-)
 
 diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile 
b/lib/sw_apps/versal_plm/misc/versal/Makefile
-index 5c8e719e9c..af070716b6 100644
+index 5c8e719e9c..5367ed97f8 100644
 --- a/lib/sw_apps/versal_plm/misc/versal/Makefile
 +++ b/lib/sw_apps/versal_plm/misc/versal/Makefile
 @@ -2,6 +2,8 @@
@@ -43,10 +43,10 @@ index 5c8e719e9c..af070716b6 100644
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile 
b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
-index abffa6c5ed..4af5a02001 100644
+index ea1e6f4cbd..ddc27a9832 100644
 --- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile
 +++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
-@@ -2,6 +2,8 @@
+@@ -8,6 +8,8 @@
  COMPILER := mb-gcc
  ARCHIVER := mb-gcc-ar
  ASSEMBLER := mb-as
@@ -55,16 +55,16 @@ index abffa6c5ed..4af5a02001 100644
  DRIVER_LIB_VERSION = 1.0
  PROCESSOR = psx_pmc_0
  LIBRARIES = ${PROCESSOR}/lib/libxil.a
-@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
+@@ -46,11 +48,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
  
  %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
        @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
+-      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
 +      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=$(COMPILER_FLAGS)" 
"EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
  
  %/make.libs: include
        @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
+-      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
 +      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=$(COMPILER_FLAGS)" 
"EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
  
  %/make.clean:
@@ -97,5 +97,5 @@ index 02d85e492e..f6386dcbed 100644
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 -- 
-2.17.1
+2.34.1
 
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/makefile-skip-copy_bsp.sh.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1+git/makefile-skip-copy_bsp.sh.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/0001-versal_fw-Fixup-core-makefiles.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/0001-versal_fw-Fixup-core-makefiles.patch
similarity index 94%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/0001-versal_fw-Fixup-core-makefiles.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/0001-versal_fw-Fixup-core-makefiles.patch
index d6cb0e38..788cfb35 100644
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/0001-versal_fw-Fixup-core-makefiles.patch
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/0001-versal_fw-Fixup-core-makefiles.patch
@@ -1,4 +1,4 @@
-From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001
+From 000ad45124ec9d82b2579632a896b0f9a28ee3a8 Mon Sep 17 00:00:00 2001
 From: Mark Hatle <[email protected]>
 Date: Wed, 7 Dec 2022 15:42:15 -0800
 Subject: [PATCH] versal_fw: Fixup core makefiles
@@ -16,7 +16,7 @@ Signed-off-by: Mark Hatle <[email protected]>
  3 files changed, 12 insertions(+), 6 deletions(-)
 
 diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile 
b/lib/sw_apps/versal_plm/misc/versal/Makefile
-index 5c8e719e9c..af070716b6 100644
+index 5c8e719e9c..5367ed97f8 100644
 --- a/lib/sw_apps/versal_plm/misc/versal/Makefile
 +++ b/lib/sw_apps/versal_plm/misc/versal/Makefile
 @@ -2,6 +2,8 @@
@@ -43,10 +43,10 @@ index 5c8e719e9c..af070716b6 100644
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile 
b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
-index abffa6c5ed..4af5a02001 100644
+index ea1e6f4cbd..ddc27a9832 100644
 --- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile
 +++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
-@@ -2,6 +2,8 @@
+@@ -8,6 +8,8 @@
  COMPILER := mb-gcc
  ARCHIVER := mb-gcc-ar
  ASSEMBLER := mb-as
@@ -55,16 +55,16 @@ index abffa6c5ed..4af5a02001 100644
  DRIVER_LIB_VERSION = 1.0
  PROCESSOR = psx_pmc_0
  LIBRARIES = ${PROCESSOR}/lib/libxil.a
-@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
+@@ -46,11 +48,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
  
  %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
        @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
+-      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
 +      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=$(COMPILER_FLAGS)" 
"EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
  
  %/make.libs: include
        @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
+-      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
 +      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=$(COMPILER_FLAGS)" 
"EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
  
  %/make.clean:
@@ -97,5 +97,5 @@ index 02d85e492e..f6386dcbed 100644
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 -- 
-2.17.1
+2.34.1
 
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/makefile-skip-copy_bsp.sh.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/makefile-skip-copy_bsp.sh.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2/makefile-skip-copy_bsp.sh.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.2+git/makefile-skip-copy_bsp.sh.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/0001-versal_fw-Fixup-core-makefiles.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/0001-versal_fw-Fixup-core-makefiles.patch
similarity index 93%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/0001-versal_fw-Fixup-core-makefiles.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/0001-versal_fw-Fixup-core-makefiles.patch
index d6cb0e38..4bc191c1 100644
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/0001-versal_fw-Fixup-core-makefiles.patch
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/0001-versal_fw-Fixup-core-makefiles.patch
@@ -1,4 +1,4 @@
-From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001
+From d6e56e20bac608d28aa386dad12a279f1e434db9 Mon Sep 17 00:00:00 2001
 From: Mark Hatle <[email protected]>
 Date: Wed, 7 Dec 2022 15:42:15 -0800
 Subject: [PATCH] versal_fw: Fixup core makefiles
@@ -16,7 +16,7 @@ Signed-off-by: Mark Hatle <[email protected]>
  3 files changed, 12 insertions(+), 6 deletions(-)
 
 diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile 
b/lib/sw_apps/versal_plm/misc/versal/Makefile
-index 5c8e719e9c..af070716b6 100644
+index d735f64530..dbd363447d 100644
 --- a/lib/sw_apps/versal_plm/misc/versal/Makefile
 +++ b/lib/sw_apps/versal_plm/misc/versal/Makefile
 @@ -2,6 +2,8 @@
@@ -28,7 +28,7 @@ index 5c8e719e9c..af070716b6 100644
  DRIVER_LIB_VERSION = 1.0
  PROCESSOR = psv_pmc_0
  LIBRARIES = ${PROCESSOR}/lib/libxil.a
-@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
+@@ -50,11 +52,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
  
  %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
        @echo "Running Make include in $(subst /make.include,,$@)"
@@ -43,10 +43,10 @@ index 5c8e719e9c..af070716b6 100644
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile 
b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
-index abffa6c5ed..4af5a02001 100644
+index 284e2fa5fc..be1df32525 100644
 --- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile
 +++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
-@@ -2,6 +2,8 @@
+@@ -8,6 +8,8 @@
  COMPILER := mb-gcc
  ARCHIVER := mb-gcc-ar
  ASSEMBLER := mb-as
@@ -55,22 +55,22 @@ index abffa6c5ed..4af5a02001 100644
  DRIVER_LIB_VERSION = 1.0
  PROCESSOR = psx_pmc_0
  LIBRARIES = ${PROCESSOR}/lib/libxil.a
-@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
+@@ -58,11 +60,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
  
  %/make.include: $(if $(wildcard 
$(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
        @echo "Running Make include in $(subst /make.include,,$@)"
--      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
+-      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
 +      $(MAKE) -C $(subst /make.include,,$@) -s include  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=$(COMPILER_FLAGS)" 
"EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
  
  %/make.libs: include
        @echo "Running Make libs in $(subst /make.libs,,$@)"
--      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
+-      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=  -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-barrel-shift 
-mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections 
-fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
 +      $(MAKE) -C $(subst /make.libs,,$@) -s libs  "SHELL=$(SHELL)" 
"COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" 
"COMPILER_FLAGS=$(COMPILER_FLAGS)" 
"EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
  
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile 
b/lib/sw_apps/versal_psmfw/misc/Makefile
-index 02d85e492e..f6386dcbed 100644
+index 92d95d0896..acc20bcccf 100644
 --- a/lib/sw_apps/versal_psmfw/misc/Makefile
 +++ b/lib/sw_apps/versal_psmfw/misc/Makefile
 @@ -11,6 +11,8 @@ PAR_SUBDIRS := $(patsubst %/Makefile, %, 
$(BSP_PARALLEL_MAKEFILES))
@@ -97,5 +97,5 @@ index 02d85e492e..f6386dcbed 100644
  %/make.clean:
        $(MAKE) -C $(subst /make.clean,,$@) -s clean
 -- 
-2.17.1
+2.34.1
 
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/makefile-skip-copy_bsp.sh.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/makefile-skip-copy_bsp.sh.patch
similarity index 100%
rename from 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1/makefile-skip-copy_bsp.sh.patch
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2024.1+git/makefile-skip-copy_bsp.sh.patch
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch
deleted file mode 100644
index 50ce7bcb..00000000
--- 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/zynqmp_pmufw-fixup.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix incorrect copy that triggers a failure:
-
-| cp: -r not specified; omitting directory 
'../misc/../../../../lib/bsp/standalone/src/common/clocking'
-
-Signed-off-by: Mark Hatle <[email protected]>
-
-diff --git a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh 
b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh
-index be8616968e..c3eca3f092 100755
---- a/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh
-+++ b/lib/sw_apps/zynqmp_pmufw/misc/copy_bsp.sh
-@@ -84,7 +84,7 @@ cp -r $BSP_DIR/libsrc/xilskey/src/include/*.h 
$BSP_DIR/include/
- BSP_SEQUENTIAL_MAKEFILES="$BSP_SEQUENTIAL_MAKEFILES 
$BSP_DIR/libsrc/xilskey/src/Makefile"
- 
- # copy bsp standalone code
--cp  $STANDALONE_DIR/common/*  $BSP_DIR/libsrc/standalone/src/
-+cp -r $STANDALONE_DIR/common/*  $BSP_DIR/libsrc/standalone/src/
- cp  $STANDALONE_DIR/microblaze/*  $BSP_DIR/libsrc/standalone/src/
- cp -r $STANDALONE_DIR/profile  $BSP_DIR/libsrc/standalone/src/
- cp  $WORKING_DIR/bspconfig.h  $BSP_DIR/include
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc
index 8fdcfe67..5b2e123f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware.inc
@@ -11,44 +11,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 S = "${UNPACKDIR}/git"
 
-APP_DIR = "undefined"
-APP_DIR:zynq = "zynq_fsbl"
-APP_DIR:zynqmp = "zynqmp_fsbl"
-
-B = "${S}/lib/sw_apps/${APP_DIR}/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = "-j1"
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra ${ESW_CFLAGS}"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${B}/../misc/undefined"
-BSP_DIR:zynq   ?= "${B}/../misc/zynq_fsbl_bsp"
-BSP_DIR:zynqmp ?= "${B}/../misc/zynqmp_fsbl_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_cortexa53_0/libsrc"
-
-# FSBL components expect AS to be CC.
-AS = "${CC}"
-LINKER = "${CC}"
-DUMP = "${OBJDUMP} -xSD"
-
-def bsp_make_vars(d):
-    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS", "LINKER", "DUMP"]
-    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
-
-ARM_INSTRUCTION_SET:eabi:arm = "arm"
-
-do_install() {
-    :
-}
-
-PACKAGES = ""
-
 # This is the default in most BSPs.  A MACHINE.conf can override this!
 FSBL_IMAGE_NAME ??= "fsbl-${MACHINE}"
 
@@ -58,12 +20,5 @@ FSBL_BASE_NAME ?= 
"${FSBL_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_
 
 ESW_COMPONENT ??= "fsbl.elf"
 
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf
-    ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf
-}
-
-addtask deploy before do_build after do_install
-
 # Disable buildpaths QA check warnings.
 INSANE_SKIP:${PN} += "buildpaths"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc
new file mode 100644
index 00000000..42c9581e
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1+git-generic.inc
@@ -0,0 +1,11 @@
+SKIP_MSG = ""
+SKIP_MSG:zynq = "Generic support for zynq is not available"
+SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://fsbl-fixups.patch \
+           "
+
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb
index 3f9740a0..3c57ee8c 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bb
@@ -1,11 +1,3 @@
 require fsbl-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://fsbl-fixups.patch \
-           "
-
-# This version does not build for zynq
-COMPATIBLE_MACHINE:zynq = "none"
+require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc
new file mode 100644
index 00000000..7a0a35da
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2+git-generic.inc
@@ -0,0 +1,10 @@
+SKIP_MSG = ""
+SKIP_MSG:zynq = "Generic support for zynq is not available"
+SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://fsbl-fixups.patch \
+           "
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb
index 13a2f1c5..3c57ee8c 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bb
@@ -1,11 +1,3 @@
 require fsbl-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2022.2:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://fsbl-fixups.patch \
-           "
-
-# This version does not build for zynq
-COMPATIBLE_MACHINE:zynq = "none"
+require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc
new file mode 100644
index 00000000..7a0a35da
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1+git-generic.inc
@@ -0,0 +1,10 @@
+SKIP_MSG = ""
+SKIP_MSG:zynq = "Generic support for zynq is not available"
+SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://fsbl-fixups.patch \
+           "
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb
index 8816dc4d..3c57ee8c 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb
@@ -1,11 +1,3 @@
 require fsbl-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://fsbl-fixups.patch \
-           "
-
-# This version does not build for zynq
-COMPATIBLE_MACHINE:zynq = "none"
+require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc
new file mode 100644
index 00000000..7a0a35da
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2+git-generic.inc
@@ -0,0 +1,10 @@
+SKIP_MSG = ""
+SKIP_MSG:zynq = "Generic support for zynq is not available"
+SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://fsbl-fixups.patch \
+           "
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb
index dbeaebc4..3c57ee8c 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bb
@@ -1,11 +1,3 @@
 require fsbl-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.2:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://fsbl-fixups.patch \
-           "
-
-# This version does not build for zynq
-COMPATIBLE_MACHINE:zynq = "none"
+require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc
new file mode 100644
index 00000000..7a0a35da
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1+git-generic.inc
@@ -0,0 +1,10 @@
+SKIP_MSG = ""
+SKIP_MSG:zynq = "Generic support for zynq is not available"
+SKIP_RECIPE[fsbl-firmware] = "${SKIP_MSG}"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://fsbl-fixups.patch \
+           "
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb
index 62e009ec..3c57ee8c 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb
@@ -1,11 +1,3 @@
 require fsbl-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2024.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://fsbl-fixups.patch \
-           "
-
-# This version does not build for zynq
-COMPATIBLE_MACHINE:zynq = "none"
+require ${@'fsbl-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'fsbl-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc
new file mode 100644
index 00000000..2a6fbb68
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_generic.inc
@@ -0,0 +1,46 @@
+APP_DIR = "undefined"
+APP_DIR:zynq = "zynq_fsbl"
+APP_DIR:zynqmp = "zynqmp_fsbl"
+
+B = "${S}/lib/sw_apps/${APP_DIR}/src"
+
+# The makefile does not handle parallelization
+PARALLEL_MAKE = "-j1"
+
+COMPILER = "${CC}"
+COMPILER_FLAGS = "-O2 -c"
+EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra ${ESW_CFLAGS}"
+ARCHIVER = "${AR}"
+
+BSP_DIR ?= "${B}/../misc/undefined"
+BSP_DIR:zynq   ?= "${B}/../misc/zynq_fsbl_bsp"
+BSP_DIR:zynqmp ?= "${B}/../misc/zynqmp_fsbl_bsp"
+BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_cortexa53_0/libsrc"
+
+# FSBL components expect AS to be CC.
+AS = "${CC}"
+LINKER = "${CC}"
+DUMP = "${OBJDUMP} -xSD"
+
+def bsp_make_vars(d):
+    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS", "LINKER", "DUMP"]
+    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
+ARM_INSTRUCTION_SET:eabi:arm = "arm"
+
+do_install() {
+    :
+}
+
+PACKAGES = ""
+
+ESW_COMPONENT = "fsbl.elf"
+
+do_deploy() {
+    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf
+    ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf
+}
+
+addtask deploy before do_build after do_install
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb
deleted file mode 100644
index f5e55ecc..00000000
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-# Only should be used for development
-DEFAULT_PREFERENCE = "-1"
-
-require fsbl-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://fsbl-fixups.patch \
-           "
-
-# This version does not build for zynq
-COMPATIBLE_MACHINE:zynq = "none"
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend
index 17fd25ea..46719507 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend
@@ -1 +1 @@
-include ${@'fsbl-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
+require ${@'fsbl-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
index 22e3068a..c2735424 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
@@ -10,59 +10,6 @@ COMPATIBLE_MACHINE:versal = ".*"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 S = "${UNPACKDIR}/git"
-B = "${S}/lib/sw_apps/versal_plm/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = "-j1"
-
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    ${B}/../misc/copy_bsp.sh
-}
-
-# All do_compiles need this, even if it's overriden
-MB_OBJCOPY ??= "${OBJCOPY}"
-
-# Only add a dependency if we need to use OUR binutils
-DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') 
== d.getVar('OBJCOPY') else ''}"
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${B}/../misc/versal_plm_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc"
-
-def bsp_make_vars(d):
-    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS"]
-    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
-
-do_compile() {
-    # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
-    # properly. So do its job manually. Preparing the includes first, then 
libs.
-    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
-        oe_runmake -C $(dirname $i) -s include
-    done
-    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
-        oe_runmake -C $(dirname $i) -s libs
-    done
-
-    # --build-id=none is required due to linker script not defining a location 
for it.
-    # Again, recipe-systoot include is necessary
-    oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none 
-I${STAGING_DIR_TARGET}/usr/include"
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
-
-do_install() {
-    :
-}
-
-PACKAGES = ""
 
 # This is the default in most BSPs.  A MACHINE.conf can override this!
 PLM_IMAGE_NAME ??= "plm-${MACHINE}"
@@ -73,14 +20,5 @@ PLM_BASE_NAME ?= 
"${PLM_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VE
 
 ESW_COMPONENT ??= "plm.elf"
 
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PLM_BASE_NAME}.elf
-    ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin
-    ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin
-}
-
-addtask deploy before do_build after do_install
-
 # Disable buildpaths QA check warnings.
 INSANE_SKIP:${PN} += "buildpaths"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc
new file mode 100644
index 00000000..e91ea607
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1+git-generic.inc
@@ -0,0 +1,15 @@
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+            file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb
index cc810241..d945aa26 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.1.bb
@@ -1,16 +1,3 @@
 require plm-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2+git-generic.inc
similarity index 81%
rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2+git-generic.inc
index bbc7519f..d4d91baf 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2+git-generic.inc
@@ -1,8 +1,3 @@
-# Only should be used for development
-DEFAULT_PREFERENCE = "-1"
-
-require plm-firmware.inc
-
 # Separate build directories for versal and versal-net
 SOC_DIR = "versal"
 SOC_DIR:versal-net = "versal_net"
@@ -10,11 +5,12 @@ B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
 
 BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
 
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
 
 SRC_URI += " \
             file://makefile-skip-copy_bsp.sh.patch \
             file://0001-versal_fw-Fixup-core-makefiles.patch \
+            file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \
            "
 
 EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb
index cc810241..d945aa26 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2022.2.bb
@@ -1,16 +1,3 @@
 require plm-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc
new file mode 100644
index 00000000..7416dfb5
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1+git-generic.inc
@@ -0,0 +1,27 @@
+# Separate build directories for versal and versal-net
+SOC_DIR = "versal"
+SOC_DIR:versal-net = "versal_net"
+B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
+
+BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
+
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
+}
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb
index 37861b75..d945aa26 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb
@@ -1,29 +1,3 @@
 require plm-firmware.inc
-
-# Separate build directories for versal and versal-net
-SOC_DIR = "versal"
-SOC_DIR:versal-net = "versal_net"
-B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
-
-BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
-
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
-}
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc
new file mode 100644
index 00000000..7416dfb5
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2+git-generic.inc
@@ -0,0 +1,27 @@
+# Separate build directories for versal and versal-net
+SOC_DIR = "versal"
+SOC_DIR:versal-net = "versal_net"
+B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
+
+BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
+
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
+}
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb
index 37861b75..d945aa26 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.2.bb
@@ -1,29 +1,3 @@
 require plm-firmware.inc
-
-# Separate build directories for versal and versal-net
-SOC_DIR = "versal"
-SOC_DIR:versal-net = "versal_net"
-B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
-
-BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
-
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
-}
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc
new file mode 100644
index 00000000..7416dfb5
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1+git-generic.inc
@@ -0,0 +1,27 @@
+# Separate build directories for versal and versal-net
+SOC_DIR = "versal"
+SOC_DIR:versal-net = "versal_net"
+B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
+
+BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
+
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
+}
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb
index 37861b75..d945aa26 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb
@@ -1,29 +1,3 @@
 require plm-firmware.inc
-
-# Separate build directories for versal and versal-net
-SOC_DIR = "versal"
-SOC_DIR:versal-net = "versal_net"
-B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
-
-BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra 
-Os -flto -ffat-lto-objects"
-
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
-}
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'plm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'plm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc
new file mode 100644
index 00000000..0a00984f
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_generic.inc
@@ -0,0 +1,64 @@
+B = "${S}/lib/sw_apps/versal_plm/src"
+
+# The makefile does not handle parallelization
+PARALLEL_MAKE = "-j1"
+
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    ${B}/../misc/copy_bsp.sh
+}
+
+# All do_compiles need this, even if it's overriden
+MB_OBJCOPY ??= "${OBJCOPY}"
+
+# Only add a dependency if we need to use OUR binutils
+DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') 
== d.getVar('OBJCOPY') else ''}"
+
+COMPILER = "${CC}"
+COMPILER_FLAGS = "-O2 -c"
+EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
+ARCHIVER = "${AR}"
+
+BSP_DIR ?= "${B}/../misc/versal_plm_bsp"
+BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_pmc_0/libsrc"
+
+def bsp_make_vars(d):
+    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS"]
+    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
+do_compile() {
+    # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
+    # properly. So do its job manually. Preparing the includes first, then 
libs.
+    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
+        oe_runmake -C $(dirname $i) -s include
+    done
+    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
+        oe_runmake -C $(dirname $i) -s libs
+    done
+
+    # --build-id=none is required due to linker script not defining a location 
for it.
+    # Again, recipe-systoot include is necessary
+    oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none 
-I${STAGING_DIR_TARGET}/usr/include"
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
+
+do_install() {
+    :
+}
+
+PACKAGES = ""
+
+ESW_COMPONENT = "plm.elf"
+
+do_deploy() {
+    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PLM_BASE_NAME}.elf
+    ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf
+    install -m 0644 ${B}/${ESW_COMPONENT}.bin ${DEPLOYDIR}/${PLM_BASE_NAME}.bin
+    ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin
+}
+
+addtask deploy before do_build after do_install
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend
index e55c23b2..33d1303d 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend
@@ -1 +1 @@
-include ${@'plmfw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
+require ${@'plmfw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc
index cce1bdd9..e821c05d 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc
@@ -9,61 +9,6 @@ COMPATIBLE_MACHINE:zynqmp = ".*"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 S = "${UNPACKDIR}/git"
-B = "${S}/lib/sw_apps/zynqmp_pmufw/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = "-j1"
-
-#do_configure:prepend() {
-#    # manually do the copy_bsp step first, so as to be able to fix up use of
-#    # mb-* commands
-#    ${B}/../misc/copy_bsp.sh
-#}
-
-# All do_compiles need this, even if it's overriden
-MB_OBJCOPY ??= "${OBJCOPY}"
-
-# Only add a dependency if we need to use OUR binutils
-DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') 
== d.getVar('OBJCOPY') else ''}"
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${B}/../misc/zynqmp_pmufw_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc"
-
-def bsp_make_vars(d):
-    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS"]
-    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
-
-#do_compile() {
-#    # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
-#    # properly. So do its job manually. Preparing the includes first, then 
libs.
-#    #for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
-#    #    oe_runmake -C $(dirname $i) -s include
-#    #done
-#    #for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
-#    #    oe_runmake -C $(dirname $i) -s libs
-#    #done
-#
-#    # --build-id=none is required due to linker script not defining a 
location for it.
-#    # Again, recipe-systoot include is necessary
-#    oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none 
-I${STAGING_DIR_TARGET}/usr/include"
-#}
-
-do_compile:append() {
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
-
-do_install() {
-    :
-}
-
-PACKAGES = ""
 
 # This is the default in most BSPs.  A MACHINE.conf can override this!
 PMU_FIRMWARE_IMAGE_NAME ??= "pmu-firmware-${MACHINE}"
@@ -74,14 +19,5 @@ PMU_FIRMWARE_BASE_NAME ?= 
"${PMU_FIRMWARE_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${
 
 ESW_COMPONENT ??= "executable.elf"
 
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} 
${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
-    ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${ESW_COMPONENT}.bin 
${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
-    ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin
-}
-
-addtask deploy before do_build after do_install
-
 # Disable buildpaths QA check warnings.
 INSANE_SKIP:${PN} += "buildpaths"
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1+git-generic.inc
similarity index 60%
rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1+git-generic.inc
index 606708c4..8defde17 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1+git-generic.inc
@@ -1,9 +1,4 @@
-# Only should be used for development
-DEFAULT_PREFERENCE = "-1"
-
-require pmu-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
 
 SRC_URI += " \
             file://makefile-skip-copy_bsp.sh.patch \
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb
index 50dbf97d..3ec0c10f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bb
@@ -1,10 +1,3 @@
 require pmu-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
+require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc
new file mode 100644
index 00000000..8defde17
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2+git-generic.inc
@@ -0,0 +1,8 @@
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb
index 50dbf97d..3ec0c10f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bb
@@ -1,10 +1,3 @@
 require pmu-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
+require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc
new file mode 100644
index 00000000..8defde17
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1+git-generic.inc
@@ -0,0 +1,8 @@
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb
index 65d986c8..3ec0c10f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb
@@ -1,10 +1,3 @@
 require pmu-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
+require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc
new file mode 100644
index 00000000..8defde17
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2+git-generic.inc
@@ -0,0 +1,8 @@
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb
index 65d986c8..3ec0c10f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bb
@@ -1,10 +1,3 @@
 require pmu-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os 
-flto -ffat-lto-objects"
+require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc
new file mode 100644
index 00000000..935f6e32
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1+git-generic.inc
@@ -0,0 +1,8 @@
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra 
${ESW_CFLAGS}"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb
index fab49bc0..3ec0c10f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb
@@ -1,10 +1,3 @@
 require pmu-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2024.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra 
${ESW_CFLAGS}"
+require ${@'pmu-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'pmu-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc
new file mode 100644
index 00000000..9d4a5b07
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_generic.inc
@@ -0,0 +1,53 @@
+B = "${S}/lib/sw_apps/zynqmp_pmufw/src"
+
+# The makefile does not handle parallelization
+PARALLEL_MAKE = "-j1"
+
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    ${B}/../misc/copy_bsp.sh
+}
+
+# All do_compiles need this, even if it's overriden
+MB_OBJCOPY ??= "${OBJCOPY}"
+
+# Only add a dependency if we need to use OUR binutils
+DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') 
== d.getVar('OBJCOPY') else ''}"
+
+COMPILER = "${CC}"
+COMPILER_FLAGS = "-O2 -c"
+EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
+ARCHIVER = "${AR}"
+
+BSP_DIR ?= "${B}/../misc/zynqmp_pmufw_bsp"
+BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc"
+
+def bsp_make_vars(d):
+    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS"]
+    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
+
+do_install() {
+    :
+}
+
+PACKAGES = ""
+
+ESW_COMPONENT = "executable.elf"
+
+do_deploy() {
+    install -Dm 0644 ${B}/${ESW_COMPONENT} 
${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
+    ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf
+    install -m 0644 ${B}/${ESW_COMPONENT}.bin 
${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
+    ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin
+}
+
+addtask deploy before do_build after do_install
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend
index ce659447..5a9c367d 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend
@@ -1 +1 @@
-include ${@'pmufw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
+require ${@'pmufw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
index 34d0c899..e12aeb6f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
@@ -10,59 +10,6 @@ COMPATIBLE_MACHINE:versal = ".*"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 S = "${UNPACKDIR}/git"
-B = "${S}/lib/sw_apps/versal_psmfw/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = "-j1"
-
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    ${B}/../misc/copy_bsp.sh
-}
-
-# All do_compiles need this, even if it's overriden
-MB_OBJCOPY ??= "${OBJCOPY}"
-
-# Only add a dependency if we need to use OUR binutils
-DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') 
== d.getVar('OBJCOPY') else ''}"
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${B}/../misc/versal_psmfw_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc"
-
-def bsp_make_vars(d):
-    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS"]
-    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
-
-do_compile() {
-    # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
-    # properly. So do its job manually. Preparing the includes first, then 
libs.
-    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
-        oe_runmake -C $(dirname $i) -s include
-    done
-    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
-        oe_runmake -C $(dirname $i) -s libs
-    done
-
-    # --build-id=none is required due to linker script not defining a location 
for it.
-    # Again, recipe-systoot include is necessary
-    oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none 
-I${STAGING_DIR_TARGET}/usr/include"
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
-
-do_install() {
-    :
-}
-
-PACKAGES = ""
 
 # This is the default in most BSPs.  A MACHINE.conf can override this!
 PSM_FIRMWARE_IMAGE_NAME ??= "psm-firmware-${MACHINE}"
@@ -73,14 +20,5 @@ PSM_FIRMWARE_BASE_NAME ?= 
"${PSM_FIRMWARE_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${
 
 ESW_COMPONENT ??= "psmfw.elf"
 
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${ESW_COMPONENT}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin
-}
-
-addtask deploy before do_build after do_install
-
 # Disable buildpaths QA check warnings.
 INSANE_SKIP:${PN} += "buildpaths"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc
new file mode 100644
index 00000000..25e2f47f
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1+git-generic.inc
@@ -0,0 +1,15 @@
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+            file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb
index d861fb1c..ffa0a596 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.1.bb
@@ -1,16 +1,3 @@
 require psm-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2+git-generic.inc
similarity index 83%
rename from meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb
rename to 
meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2+git-generic.inc
index 42e0a95f..4c331510 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2+git-generic.inc
@@ -1,8 +1,3 @@
-# Only should be used for development
-DEFAULT_PREFERENCE = "-1"
-
-require psm-firmware.inc
-
 # Separate build directories for versal and versal-net
 SOC_DIR = "versal"
 SOC_DIR:versal-net = "versal_net"
@@ -10,11 +5,12 @@ B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
 
 BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
 
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
 
 SRC_URI += " \
             file://makefile-skip-copy_bsp.sh.patch \
             file://0001-versal_fw-Fixup-core-makefiles.patch \
+            file://0001-xilpm-versal-Fixed-2023.1-compile-error.patch \
            "
 
 EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb
index d861fb1c..ffa0a596 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2022.2.bb
@@ -1,16 +1,3 @@
 require psm-firmware.inc
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc
new file mode 100644
index 00000000..7ba3707e
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1+git-generic.inc
@@ -0,0 +1,32 @@
+# Separate build directories for versal and versal-net
+SOC_DIR = "versal"
+SOC_DIR:versal-net = "versal_net"
+B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
+
+BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
+
+# Override default since we're in a subdirectory deeper now...
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    if [ ${SOC_DIR} != "versal" ]; then
+        ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
+    else
+        ${B}/../../misc/copy_bsp.sh
+    fi
+}
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb
index 569c5a46..ffa0a596 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb
@@ -1,34 +1,3 @@
 require psm-firmware.inc
-
-# Separate build directories for versal and versal-net
-SOC_DIR = "versal"
-SOC_DIR:versal-net = "versal_net"
-B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
-
-BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
-
-# Override default since we're in a subdirectory deeper now...
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    if [ ${SOC_DIR} != "versal" ]; then
-        ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
-    else
-        ${B}/../../misc/copy_bsp.sh
-    fi
-}
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc
new file mode 100644
index 00000000..7ba3707e
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2+git-generic.inc
@@ -0,0 +1,32 @@
+# Separate build directories for versal and versal-net
+SOC_DIR = "versal"
+SOC_DIR:versal-net = "versal_net"
+B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
+
+BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
+
+# Override default since we're in a subdirectory deeper now...
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    if [ ${SOC_DIR} != "versal" ]; then
+        ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
+    else
+        ${B}/../../misc/copy_bsp.sh
+    fi
+}
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb
index 569c5a46..ffa0a596 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.2.bb
@@ -1,34 +1,3 @@
 require psm-firmware.inc
-
-# Separate build directories for versal and versal-net
-SOC_DIR = "versal"
-SOC_DIR:versal-net = "versal_net"
-B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
-
-BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
-
-# Override default since we're in a subdirectory deeper now...
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    if [ ${SOC_DIR} != "versal" ]; then
-        ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
-    else
-        ${B}/../../misc/copy_bsp.sh
-    fi
-}
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc
 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc
new file mode 100644
index 00000000..7ba3707e
--- /dev/null
+++ 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1+git-generic.inc
@@ -0,0 +1,32 @@
+# Separate build directories for versal and versal-net
+SOC_DIR = "versal"
+SOC_DIR:versal-net = "versal_net"
+B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
+
+BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
+
+FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/${PV}:${FILE_DIRNAME}/embeddedsw"
+
+SRC_URI += " \
+            file://makefile-skip-copy_bsp.sh.patch \
+            file://0001-versal_fw-Fixup-core-makefiles.patch \
+           "
+
+EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
+
+# Override default since we're in a subdirectory deeper now...
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    if [ ${SOC_DIR} != "versal" ]; then
+        ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
+    else
+        ${B}/../../misc/copy_bsp.sh
+    fi
+}
+
+do_compile() {
+    oe_runmake
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb
index 569c5a46..ffa0a596 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb
@@ -1,34 +1,3 @@
 require psm-firmware.inc
-
-# Separate build directories for versal and versal-net
-SOC_DIR = "versal"
-SOC_DIR:versal-net = "versal_net"
-B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
-
-BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
-
-FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
-
-SRC_URI += " \
-            file://makefile-skip-copy_bsp.sh.patch \
-            file://0001-versal_fw-Fixup-core-makefiles.patch \
-           "
-
-EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
-
-# Override default since we're in a subdirectory deeper now...
-do_configure() {
-    # manually do the copy_bsp step first, so as to be able to fix up use of
-    # mb-* commands
-    if [ ${SOC_DIR} != "versal" ]; then
-        ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
-    else
-        ${B}/../../misc/copy_bsp.sh
-    fi
-}
-
-do_compile() {
-    oe_runmake
-
-    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
-}
+require ${@'psm-firmware_generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
+require ${@'psm-firmware_${PV}-generic.inc' if d.getVar('XILINX_WITH_ESW') == 
'generic' else ''}
diff --git 
a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc
new file mode 100644
index 00000000..252425ef
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_generic.inc
@@ -0,0 +1,64 @@
+B = "${S}/lib/sw_apps/versal_psmfw/src"
+
+# The makefile does not handle parallelization
+PARALLEL_MAKE = "-j1"
+
+do_configure() {
+    # manually do the copy_bsp step first, so as to be able to fix up use of
+    # mb-* commands
+    ${B}/../misc/copy_bsp.sh
+}
+
+# All do_compiles need this, even if it's overriden
+MB_OBJCOPY ??= "${OBJCOPY}"
+
+# Only add a dependency if we need to use OUR binutils
+DEPENDS .= "${@' virtual/${TARGET_PREFIX}binutils' if d.getVar('MB_OBJCOPY') 
== d.getVar('OBJCOPY') else ''}"
+
+COMPILER = "${CC}"
+COMPILER_FLAGS = "-O2 -c"
+EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
+ARCHIVER = "${AR}"
+
+BSP_DIR ?= "${B}/../misc/versal_psmfw_bsp"
+BSP_TARGETS_DIR ?= "${BSP_DIR}/psv_psm_0/libsrc"
+
+def bsp_make_vars(d):
+    s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", 
"ARCHIVER", "AR", "AS"]
+    return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
+do_compile() {
+    # the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
+    # properly. So do its job manually. Preparing the includes first, then 
libs.
+    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
+        oe_runmake -C $(dirname $i) -s include
+    done
+    for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
+        oe_runmake -C $(dirname $i) -s libs
+    done
+
+    # --build-id=none is required due to linker script not defining a location 
for it.
+    # Again, recipe-systoot include is necessary
+    oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none 
-I${STAGING_DIR_TARGET}/usr/include"
+
+    ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
+}
+
+do_install() {
+    :
+}
+
+PACKAGES = ""
+
+ESW_COMPONENT = "psmfw.elf"
+
+do_deploy() {
+    install -Dm 0644 ${B}/${ESW_COMPONENT} 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
+    ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf
+    install -m 0644 ${B}/${ESW_COMPONENT}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
+    ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin
+}
+
+addtask deploy before do_build after do_install
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend 
b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend
index 559d179c..8b4ca716 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend
@@ -1 +1 @@
-include ${@'psmfw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
+require ${@'psmfw-meta-xilinx-standalone.inc' if d.getVar('XILINX_WITH_ESW') 
else ''}
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#5400): 
https://lists.yoctoproject.org/g/meta-xilinx/message/5400
Mute This Topic: https://lists.yoctoproject.org/mt/106609990/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to