Remove duplicate bbappends use wildcard version and configs

Signed-off-by: Mark Hatle <[email protected]>
---
 .../embeddedsw/fsbl-firmware_%.bbappend       |  1 +
 .../embeddedsw/fsbl-firmware_2022.1.bbappend  |  1 -
 .../embeddedsw/fsbl-firmware_2022.2-xsct.inc  | 75 ------------------
 .../embeddedsw/fsbl-firmware_2022.2.bbappend  |  1 -
 .../embeddedsw/fsbl-firmware_2023.1-xsct.inc  | 76 -------------------
 .../embeddedsw/fsbl-firmware_2023.1.bbappend  |  1 -
 .../embeddedsw/fsbl-firmware_2023.2-xsct.inc  | 76 -------------------
 .../embeddedsw/fsbl-firmware_2023.2.bbappend  |  1 -
 .../embeddedsw/fsbl-firmware_2024.1-xsct.inc  | 76 -------------------
 .../embeddedsw/fsbl-firmware_2024.1.bbappend  |  1 -
 ...2022.1-xsct.inc => fsbl-firmware_xsct.inc} |  0
 .../embeddedsw/plm-firmware_%.bbappend        |  1 +
 .../embeddedsw/plm-firmware_2022.1-xsct.inc   | 57 --------------
 .../embeddedsw/plm-firmware_2022.1.bbappend   |  1 -
 .../embeddedsw/plm-firmware_2022.2.bbappend   |  1 -
 .../embeddedsw/plm-firmware_2023.1-xsct.inc   | 58 --------------
 .../embeddedsw/plm-firmware_2023.1.bbappend   |  1 -
 .../embeddedsw/plm-firmware_2023.2-xsct.inc   | 58 --------------
 .../embeddedsw/plm-firmware_2023.2.bbappend   |  1 -
 .../embeddedsw/plm-firmware_2024.1-xsct.inc   | 58 --------------
 .../embeddedsw/plm-firmware_2024.1.bbappend   |  1 -
 ..._2022.2-xsct.inc => plm-firmware_xsct.inc} |  0
 .../embeddedsw/pmu-firmware_%.bbappend        |  1 +
 .../embeddedsw/pmu-firmware_2022.1.bbappend   |  1 -
 .../embeddedsw/pmu-firmware_2022.2-xsct.inc   | 59 --------------
 .../embeddedsw/pmu-firmware_2022.2.bbappend   |  1 -
 .../embeddedsw/pmu-firmware_2023.1-xsct.inc   | 59 --------------
 .../embeddedsw/pmu-firmware_2023.1.bbappend   |  1 -
 .../embeddedsw/pmu-firmware_2023.2-xsct.inc   | 59 --------------
 .../embeddedsw/pmu-firmware_2023.2.bbappend   |  1 -
 .../embeddedsw/pmu-firmware_2024.1-xsct.inc   | 59 --------------
 .../embeddedsw/pmu-firmware_2024.1.bbappend   |  1 -
 ..._2022.1-xsct.inc => pmu-firmware_xsct.inc} |  0
 .../embeddedsw/psm-firmware_%.bbappend        |  1 +
 .../embeddedsw/psm-firmware_2022.1-xsct.inc   | 57 --------------
 .../embeddedsw/psm-firmware_2022.1.bbappend   |  1 -
 .../embeddedsw/psm-firmware_2022.2.bbappend   |  1 -
 .../embeddedsw/psm-firmware_2023.1-xsct.inc   | 58 --------------
 .../embeddedsw/psm-firmware_2023.1.bbappend   |  1 -
 .../embeddedsw/psm-firmware_2023.2-xsct.inc   | 58 --------------
 .../embeddedsw/psm-firmware_2023.2.bbappend   |  1 -
 .../embeddedsw/psm-firmware_2024.1-xsct.inc   | 58 --------------
 .../embeddedsw/psm-firmware_2024.1.bbappend   |  1 -
 ..._2022.2-xsct.inc => psm-firmware_xsct.inc} |  0
 44 files changed, 4 insertions(+), 1021 deletions(-)
 create mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2022.2-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2023.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2023.2-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2024.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend
 rename recipes-bsp/embeddedsw/{fsbl-firmware_2022.1-xsct.inc => 
fsbl-firmware_xsct.inc} (100%)
 create mode 100644 recipes-bsp/embeddedsw/plm-firmware_%.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2022.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2022.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2022.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2023.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2023.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2023.2-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2023.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2024.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend
 rename recipes-bsp/embeddedsw/{plm-firmware_2022.2-xsct.inc => 
plm-firmware_xsct.inc} (100%)
 create mode 100644 recipes-bsp/embeddedsw/pmu-firmware_%.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2022.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2022.2-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2022.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2023.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2023.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2023.2-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2023.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2024.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend
 rename recipes-bsp/embeddedsw/{pmu-firmware_2022.1-xsct.inc => 
pmu-firmware_xsct.inc} (100%)
 create mode 100644 recipes-bsp/embeddedsw/psm-firmware_%.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2022.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2022.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2022.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2023.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2023.1.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2023.2-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2023.2.bbappend
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2024.1-xsct.inc
 delete mode 100644 recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend
 rename recipes-bsp/embeddedsw/{psm-firmware_2022.2-xsct.inc => 
psm-firmware_xsct.inc} (100%)

diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend 
b/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend
new file mode 100644
index 0000000..8cce1d4
--- /dev/null
+++ b/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend
@@ -0,0 +1 @@
+require ${@'fsbl-firmware_xsct.inc' if d.getVar('XILINX_WITH_ESW') == 'xsct' 
else ''}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bbappend 
b/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bbappend
deleted file mode 100644
index d9ca992..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2022.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'fsbl-firmware_2022.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2022.2-xsct.inc 
b/recipes-bsp/embeddedsw/fsbl-firmware_2022.2-xsct.inc
deleted file mode 100644
index 2745069..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2022.2-xsct.inc
+++ /dev/null
@@ -1,75 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match fsbl.bbappend
-FSBL_IMAGE_NAME = "fsbl-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-B:zynq = "${S}/${XSCTH_PROJ}"
-B:zynqmp = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = " -DFSBL_DEBUG_INFO"
-
-XSCTH_APP:zynq   = "Zynq FSBL"
-XSCTH_APP:zynqmp = "Zynq MP FSBL"
-
-# Building for zynq does work here
-COMPATIBLE_MACHINE:zynq = ".*"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynq   = "${HOST_SYS}"
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-EXTRA_OEMAKE:linux-gnueabi = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-XSCT_PATH_ADD:append:eabi = "\
-${UNPACKDIR}/bin:"
-
-do_compile:prepend:elf:aarch64() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-ar
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-as
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-ar
-}
-
-ARM_INSTRUCTION_SET:eabi:arm = "arm"
-do_compile:prepend:eabi:arm() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-ar
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-as
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-ar
-}
-
-# xsctapp sets it's own do_install, replace it with the real one (from 
meta-xilinx-standalone)
-do_install() {
-    :
-}
-
-# Override the default with the specific component name and path XSCT puts out
-# this path is within the B directory
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_deploy, replace it with the real one (from 
meta-xilinx-standalone)
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf
-    ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf
-}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bbappend 
b/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bbappend
deleted file mode 100644
index eb72e83..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2022.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'fsbl-firmware_2022.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2023.1-xsct.inc 
b/recipes-bsp/embeddedsw/fsbl-firmware_2023.1-xsct.inc
deleted file mode 100644
index 32736ba..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2023.1-xsct.inc
+++ /dev/null
@@ -1,76 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match fsbl.bbappend
-FSBL_IMAGE_NAME = "fsbl-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-B:zynq = "${S}/${XSCTH_PROJ}"
-B:zynqmp = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = " -DFSBL_DEBUG_INFO"
-
-XSCTH_APP:zynq   = "Zynq FSBL"
-XSCTH_APP:zynqmp = "Zynq MP FSBL"
-
-# Building for zynq does work here
-COMPATIBLE_MACHINE:zynq = ".*"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynq   = "${HOST_SYS}"
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-EXTRA_OEMAKE:linux-gnueabi = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-XSCT_PATH_ADD:append:eabi = "\
-${UNPACKDIR}/bin:"
-
-do_compile:prepend:elf:aarch64() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-ar
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-as
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-ar
-}
-
-ARM_INSTRUCTION_SET:eabi:arm = "arm"
-do_compile:prepend:eabi:arm() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-ar
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-as
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-ar
-}
-
-# xsctapp sets it's own do_install, replace it with the real one (from 
meta-xilinx-standalone)
-do_install() {
-    :
-}
-
-# Override the default with the specific component name and path XSCT puts out
-# this path is within the B directory
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_deploy, replace it with the real one (from 
meta-xilinx-standalone)
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf
-    ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf
-}
-
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bbappend 
b/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bbappend
deleted file mode 100644
index a2aa3a9..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'fsbl-firmware_2023.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2023.2-xsct.inc 
b/recipes-bsp/embeddedsw/fsbl-firmware_2023.2-xsct.inc
deleted file mode 100644
index 32736ba..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2023.2-xsct.inc
+++ /dev/null
@@ -1,76 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match fsbl.bbappend
-FSBL_IMAGE_NAME = "fsbl-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-B:zynq = "${S}/${XSCTH_PROJ}"
-B:zynqmp = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = " -DFSBL_DEBUG_INFO"
-
-XSCTH_APP:zynq   = "Zynq FSBL"
-XSCTH_APP:zynqmp = "Zynq MP FSBL"
-
-# Building for zynq does work here
-COMPATIBLE_MACHINE:zynq = ".*"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynq   = "${HOST_SYS}"
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-EXTRA_OEMAKE:linux-gnueabi = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-XSCT_PATH_ADD:append:eabi = "\
-${UNPACKDIR}/bin:"
-
-do_compile:prepend:elf:aarch64() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-ar
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-as
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-ar
-}
-
-ARM_INSTRUCTION_SET:eabi:arm = "arm"
-do_compile:prepend:eabi:arm() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-ar
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-as
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-ar
-}
-
-# xsctapp sets it's own do_install, replace it with the real one (from 
meta-xilinx-standalone)
-do_install() {
-    :
-}
-
-# Override the default with the specific component name and path XSCT puts out
-# this path is within the B directory
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_deploy, replace it with the real one (from 
meta-xilinx-standalone)
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf
-    ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf
-}
-
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bbappend 
b/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bbappend
deleted file mode 100644
index 7be869e..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2023.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'fsbl-firmware_2023.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2024.1-xsct.inc 
b/recipes-bsp/embeddedsw/fsbl-firmware_2024.1-xsct.inc
deleted file mode 100644
index 32736ba..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2024.1-xsct.inc
+++ /dev/null
@@ -1,76 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match fsbl.bbappend
-FSBL_IMAGE_NAME = "fsbl-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-B:zynq = "${S}/${XSCTH_PROJ}"
-B:zynqmp = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = " -DFSBL_DEBUG_INFO"
-
-XSCTH_APP:zynq   = "Zynq FSBL"
-XSCTH_APP:zynqmp = "Zynq MP FSBL"
-
-# Building for zynq does work here
-COMPATIBLE_MACHINE:zynq = ".*"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynq   = "${HOST_SYS}"
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-EXTRA_OEMAKE:linux-gnueabi = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-XSCT_PATH_ADD:append:eabi = "\
-${UNPACKDIR}/bin:"
-
-do_compile:prepend:elf:aarch64() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/aarch64-none-elf-ar
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-gcc
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-as
-  chmod 0755 ${UNPACKDIR}/bin/aarch64-none-elf-ar
-}
-
-ARM_INSTRUCTION_SET:eabi:arm = "arm"
-do_compile:prepend:eabi:arm() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/arm-none-eabi-ar
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-gcc
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-as
-  chmod 0755 ${UNPACKDIR}/bin/arm-none-eabi-ar
-}
-
-# xsctapp sets it's own do_install, replace it with the real one (from 
meta-xilinx-standalone)
-do_install() {
-    :
-}
-
-# Override the default with the specific component name and path XSCT puts out
-# this path is within the B directory
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_deploy, replace it with the real one (from 
meta-xilinx-standalone)
-do_deploy() {
-    install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${FSBL_BASE_NAME}.elf
-    ln -sf ${FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${FSBL_IMAGE_NAME}.elf
-}
-
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend 
b/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend
deleted file mode 100644
index 9e33d1d..0000000
--- a/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'fsbl-firmware_2024.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/fsbl-firmware_2022.1-xsct.inc 
b/recipes-bsp/embeddedsw/fsbl-firmware_xsct.inc
similarity index 100%
rename from recipes-bsp/embeddedsw/fsbl-firmware_2022.1-xsct.inc
rename to recipes-bsp/embeddedsw/fsbl-firmware_xsct.inc
diff --git a/recipes-bsp/embeddedsw/plm-firmware_%.bbappend 
b/recipes-bsp/embeddedsw/plm-firmware_%.bbappend
new file mode 100644
index 0000000..cc87e40
--- /dev/null
+++ b/recipes-bsp/embeddedsw/plm-firmware_%.bbappend
@@ -0,0 +1 @@
+require ${@'plm-firmware_xsct.inc' if d.getVar('XILINX_WITH_ESW') == 'xsct' 
else ''}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2022.1-xsct.inc 
b/recipes-bsp/embeddedsw/plm-firmware_2022.1-xsct.inc
deleted file mode 100644
index 65cb8d2..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2022.1-xsct.inc
+++ /dev/null
@@ -1,57 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in plmfw.bbappend
-PLM_IMAGE_NAME = "plm-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_pmc"
-XSCTH_APP  = "versal PLM"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PLM_BASE_NAME}.elf
-    ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PLM_BASE_NAME}.bin
-    ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2022.1.bbappend 
b/recipes-bsp/embeddedsw/plm-firmware_2022.1.bbappend
deleted file mode 100644
index 555d853..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2022.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'plm-firmware_2022.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2022.2.bbappend 
b/recipes-bsp/embeddedsw/plm-firmware_2022.2.bbappend
deleted file mode 100644
index f131df9..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2022.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'plm-firmware_2022.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2023.1-xsct.inc 
b/recipes-bsp/embeddedsw/plm-firmware_2023.1-xsct.inc
deleted file mode 100644
index 3c47295..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2023.1-xsct.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in plmfw.bbappend
-PLM_IMAGE_NAME = "plm-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_pmc"
-XSCTH_PROC_IP:versal-net = "psx_pmc"
-XSCTH_APP  = "versal PLM"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PLM_BASE_NAME}.elf
-    ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PLM_BASE_NAME}.bin
-    ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2023.1.bbappend 
b/recipes-bsp/embeddedsw/plm-firmware_2023.1.bbappend
deleted file mode 100644
index cd72cba..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2023.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'plm-firmware_2023.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2023.2-xsct.inc 
b/recipes-bsp/embeddedsw/plm-firmware_2023.2-xsct.inc
deleted file mode 100644
index 3c47295..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2023.2-xsct.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in plmfw.bbappend
-PLM_IMAGE_NAME = "plm-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_pmc"
-XSCTH_PROC_IP:versal-net = "psx_pmc"
-XSCTH_APP  = "versal PLM"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PLM_BASE_NAME}.elf
-    ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PLM_BASE_NAME}.bin
-    ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2023.2.bbappend 
b/recipes-bsp/embeddedsw/plm-firmware_2023.2.bbappend
deleted file mode 100644
index 2e12594..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2023.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'plm-firmware_2023.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2024.1-xsct.inc 
b/recipes-bsp/embeddedsw/plm-firmware_2024.1-xsct.inc
deleted file mode 100644
index 3c47295..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2024.1-xsct.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in plmfw.bbappend
-PLM_IMAGE_NAME = "plm-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_pmc"
-XSCTH_PROC_IP:versal-net = "psx_pmc"
-XSCTH_APP  = "versal PLM"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PLM_BASE_NAME}.elf
-    ln -sf ${PLM_BASE_NAME}.elf ${DEPLOYDIR}/${PLM_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PLM_BASE_NAME}.bin
-    ln -sf ${PLM_BASE_NAME}.bin ${DEPLOYDIR}/${PLM_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend 
b/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend
deleted file mode 100644
index e3d3240..0000000
--- a/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'plm-firmware_2024.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/plm-firmware_2022.2-xsct.inc 
b/recipes-bsp/embeddedsw/plm-firmware_xsct.inc
similarity index 100%
rename from recipes-bsp/embeddedsw/plm-firmware_2022.2-xsct.inc
rename to recipes-bsp/embeddedsw/plm-firmware_xsct.inc
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_%.bbappend 
b/recipes-bsp/embeddedsw/pmu-firmware_%.bbappend
new file mode 100644
index 0000000..558abe4
--- /dev/null
+++ b/recipes-bsp/embeddedsw/pmu-firmware_%.bbappend
@@ -0,0 +1 @@
+require ${@'pmu-firmware_xsct.inc' if d.getVar('XILINX_WITH_ESW') == 'xsct' 
else ''}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bbappend 
b/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bbappend
deleted file mode 100644
index 0f64693..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2022.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'pmu-firmware_2022.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2022.2-xsct.inc 
b/recipes-bsp/embeddedsw/pmu-firmware_2022.2-xsct.inc
deleted file mode 100644
index 4057353..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2022.2-xsct.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match pmufw.bbappend
-PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = "-DDEBUG_MODE -DXPFW_DEBUG_DETAILED"
-XSCTH_PROC_IP = "psu_pmu"
-XSCTH_APP  = "ZynqMP PMU Firmware"
-
-YAML_COMPILER_FLAGS:append = " -DENABLE_SCHEDULER "
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-# Duplicate from pmu-firmware.inc in meta-xilinx-standalone (replaces the 
version from xsctapp.bbclass)
-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
-}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bbappend 
b/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bbappend
deleted file mode 100644
index 970f96d..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2022.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'pmu-firmware_2022.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2023.1-xsct.inc 
b/recipes-bsp/embeddedsw/pmu-firmware_2023.1-xsct.inc
deleted file mode 100644
index 4057353..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2023.1-xsct.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match pmufw.bbappend
-PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = "-DDEBUG_MODE -DXPFW_DEBUG_DETAILED"
-XSCTH_PROC_IP = "psu_pmu"
-XSCTH_APP  = "ZynqMP PMU Firmware"
-
-YAML_COMPILER_FLAGS:append = " -DENABLE_SCHEDULER "
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-# Duplicate from pmu-firmware.inc in meta-xilinx-standalone (replaces the 
version from xsctapp.bbclass)
-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
-}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bbappend 
b/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bbappend
deleted file mode 100644
index 56b90b7..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'pmu-firmware_2023.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2023.2-xsct.inc 
b/recipes-bsp/embeddedsw/pmu-firmware_2023.2-xsct.inc
deleted file mode 100644
index 4057353..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2023.2-xsct.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match pmufw.bbappend
-PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = "-DDEBUG_MODE -DXPFW_DEBUG_DETAILED"
-XSCTH_PROC_IP = "psu_pmu"
-XSCTH_APP  = "ZynqMP PMU Firmware"
-
-YAML_COMPILER_FLAGS:append = " -DENABLE_SCHEDULER "
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-# Duplicate from pmu-firmware.inc in meta-xilinx-standalone (replaces the 
version from xsctapp.bbclass)
-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
-}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bbappend 
b/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bbappend
deleted file mode 100644
index 02a58c9..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2023.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'pmu-firmware_2023.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2024.1-xsct.inc 
b/recipes-bsp/embeddedsw/pmu-firmware_2024.1-xsct.inc
deleted file mode 100644
index 4057353..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2024.1-xsct.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match pmufw.bbappend
-PMU_FIRMWARE_IMAGE_NAME = "pmu-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_MISC:append:zynqmp-dr = " -lib libmetal"
-
-XSCTH_COMPILER_DEBUG_FLAGS = "-DDEBUG_MODE -DXPFW_DEBUG_DETAILED"
-XSCTH_PROC_IP = "psu_pmu"
-XSCTH_APP  = "ZynqMP PMU Firmware"
-
-YAML_COMPILER_FLAGS:append = " -DENABLE_SCHEDULER "
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:zynqmp = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-ESW_COMPONENT = "${XSCTH_PROJ}/executable.elf"
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-# Duplicate from pmu-firmware.inc in meta-xilinx-standalone (replaces the 
version from xsctapp.bbclass)
-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
-}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend 
b/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend
deleted file mode 100644
index 35ad688..0000000
--- a/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'pmu-firmware_2024.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/pmu-firmware_2022.1-xsct.inc 
b/recipes-bsp/embeddedsw/pmu-firmware_xsct.inc
similarity index 100%
rename from recipes-bsp/embeddedsw/pmu-firmware_2022.1-xsct.inc
rename to recipes-bsp/embeddedsw/pmu-firmware_xsct.inc
diff --git a/recipes-bsp/embeddedsw/psm-firmware_%.bbappend 
b/recipes-bsp/embeddedsw/psm-firmware_%.bbappend
new file mode 100644
index 0000000..8c8de6d
--- /dev/null
+++ b/recipes-bsp/embeddedsw/psm-firmware_%.bbappend
@@ -0,0 +1 @@
+require ${@'psm-firmware_xsct.inc' if d.getVar('XILINX_WITH_ESW') == 'xsct' 
else ''}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2022.1-xsct.inc 
b/recipes-bsp/embeddedsw/psm-firmware_2022.1-xsct.inc
deleted file mode 100644
index 4e27091..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2022.1-xsct.inc
+++ /dev/null
@@ -1,57 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in psmfw.bbappend
-PSM_FIRMWARE_IMAGE_NAME = "psm-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_psm"
-XSCTH_APP  = "versal PSM Firmware"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2022.1.bbappend 
b/recipes-bsp/embeddedsw/psm-firmware_2022.1.bbappend
deleted file mode 100644
index 5a58e48..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2022.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'psm-firmware_2022.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2022.2.bbappend 
b/recipes-bsp/embeddedsw/psm-firmware_2022.2.bbappend
deleted file mode 100644
index b85835c..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2022.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'psm-firmware_2022.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2023.1-xsct.inc 
b/recipes-bsp/embeddedsw/psm-firmware_2023.1-xsct.inc
deleted file mode 100644
index 61d42e6..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2023.1-xsct.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in psmfw.bbappend
-PSM_FIRMWARE_IMAGE_NAME = "psm-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_psm"
-XSCTH_PROC_IP:versal-net = "psx_psm"
-XSCTH_APP  = "versal PSM Firmware"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2023.1.bbappend 
b/recipes-bsp/embeddedsw/psm-firmware_2023.1.bbappend
deleted file mode 100644
index ea953e4..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2023.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'psm-firmware_2023.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2023.2-xsct.inc 
b/recipes-bsp/embeddedsw/psm-firmware_2023.2-xsct.inc
deleted file mode 100644
index 61d42e6..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2023.2-xsct.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in psmfw.bbappend
-PSM_FIRMWARE_IMAGE_NAME = "psm-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_psm"
-XSCTH_PROC_IP:versal-net = "psx_psm"
-XSCTH_APP  = "versal PSM Firmware"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2023.2.bbappend 
b/recipes-bsp/embeddedsw/psm-firmware_2023.2.bbappend
deleted file mode 100644
index 2532241..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2023.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'psm-firmware_2023.2-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2024.1-xsct.inc 
b/recipes-bsp/embeddedsw/psm-firmware_2024.1-xsct.inc
deleted file mode 100644
index 61d42e6..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2024.1-xsct.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-# Should not need any external patches
-SRC_URI = "${EMBEDDEDSW_SRCURI}"
-
-# We WANT to default to this version when available
-DEFAULT_PREFERENCE = "100"
-
-inherit xsctapp xsctyaml
-
-# This needs to match the value in psmfw.bbappend
-PSM_FIRMWARE_IMAGE_NAME = "psm-firmware-${MACHINE}"
-
-B = "${S}/${XSCTH_PROJ}"
-
-XSCTH_PROC_IP = "psv_psm"
-XSCTH_PROC_IP:versal-net = "psx_psm"
-XSCTH_APP  = "versal PSM Firmware"
-
-# XSCT version provides it's own toolchain, so can build in any environment
-COMPATIBLE_HOST:versal = "${HOST_SYS}"
-
-# Clear this for a Linux build, using the XSCT toolchain
-EXTRA_OEMAKE:linux = ""
-
-# Workaround for hardcoded toolchain items
-XSCT_PATH_ADD:append:elf = "\
-${UNPACKDIR}/bin:"
-
-MB_OBJCOPY = "mb-objcopy"
-
-do_compile:prepend:elf() {
-  mkdir -p ${UNPACKDIR}/bin
-  echo "#! /bin/bash\n${CC} \$@" > ${UNPACKDIR}/bin/mb-gcc
-  echo "#! /bin/bash\n${AS} \$@" > ${UNPACKDIR}/bin/mb-as
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-ar
-  echo "#! /bin/bash\n${AR} \$@" > ${UNPACKDIR}/bin/mb-gcc-ar
-  echo "#! /bin/bash\n${OBJCOPY} \$@" > ${UNPACKDIR}/bin/mb-objcopy
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc
-  chmod 0755 ${UNPACKDIR}/bin/mb-as
-  chmod 0755 ${UNPACKDIR}/bin/mb-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-gcc-ar
-  chmod 0755 ${UNPACKDIR}/bin/mb-objcopy
-}
-
-do_compile:append() {
-  ${MB_OBJCOPY} -O binary ${B}/${XSCTH_PROJ}/executable.elf 
${B}/${XSCTH_PROJ}/executable.bin
-}
-
-# xsctapp sets it's own do_install, replace it with the real one
-do_install() {
-    :
-}
-
-do_deploy() {
-    install -Dm 0644 ${B}/${XSCTH_PROJ}/executable.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.elf
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.elf 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.elf
-    install -m 0644 ${B}/${XSCTH_PROJ}/executable.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_BASE_NAME}.bin
-    ln -sf ${PSM_FIRMWARE_BASE_NAME}.bin 
${DEPLOYDIR}/${PSM_FIRMWARE_IMAGE_NAME}.bin
-}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend 
b/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend
deleted file mode 100644
index 3e9a109..0000000
--- a/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@'psm-firmware_2024.1-xsct.inc' if d.getVar('XILINX_WITH_ESW') == 
'xsct' else ''}
diff --git a/recipes-bsp/embeddedsw/psm-firmware_2022.2-xsct.inc 
b/recipes-bsp/embeddedsw/psm-firmware_xsct.inc
similarity index 100%
rename from recipes-bsp/embeddedsw/psm-firmware_2022.2-xsct.inc
rename to recipes-bsp/embeddedsw/psm-firmware_xsct.inc
-- 
2.34.1

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

Reply via email to