diff --git a/conf/machine/include/corstone1000-fvp-cassini-extra-settings.inc b/conf/machine/include/corstone1000-fvp-cassini-extra-settings.inc
index 9a696246cc97ee92613dcb9873078d17b60d194e..b38448141dfaa61af7d688542d39449aa02e4ef0 100644
--- a/conf/machine/include/corstone1000-fvp-cassini-extra-settings.inc
+++ b/conf/machine/include/corstone1000-fvp-cassini-extra-settings.inc
@@ -6,16 +6,5 @@
include conf/machine/include/corstone1000-mps3-cassini-extra-settings.inc
# FVP parameters
-# Corstone-1000's FVP need images to have a extra empty space at the end or the FVP
-# truncates the mmc card size resulting in invalid GPT entries as the GPT last block is
-# beyond the MMC cards reported size, so we use the padded image here
-FVP_CONFIG[board.msd_mmc.p_mmc_file] = "${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.wic"
# Setup the second MMC card
-FVP_CONFIG[board.msd_mmc_2.card_type] ?= "SDHC"
-FVP_CONFIG[board.msd_mmc_2.p_fast_access] ?= "0"
FVP_CONFIG[board.msd_mmc_2.diagnostics] ?= "0"
-FVP_CONFIG[board.msd_mmc_2.p_max_block_count] ?= "0xFFFF"
-FVP_CONFIG[board.msd_config_2.pl180_fifo_depth] ?= "16"
-FVP_CONFIG[board.msd_mmc.support_unpadded_images] ?= "true"
-
-FVP_DATA = "board.flash0=${DEPLOY_DIR_IMAGE}/corstone1000-image-corstone1000-fvp.wic@0x68000000"
diff --git a/conf/machine/include/corstone1000-mps3-cassini-extra-settings.inc b/conf/machine/include/corstone1000-mps3-cassini-extra-settings.inc
index 41a049b677853581acf54305c81e34ee29dda558..a94957d5fb2e14c2e64b26efd28a7dd02e174582 100644
--- a/conf/machine/include/corstone1000-mps3-cassini-extra-settings.inc
+++ b/conf/machine/include/corstone1000-mps3-cassini-extra-settings.inc
@@ -3,24 +3,5 @@
#
# SPDX-License-Identifier: MIT
-# Generate the cassini wic image
-IMAGE_FSTYPES += "wic wic.gz wic.bmap"
-
-# Remove initramfs image generation for cassini distribution due to size restrictions
-INITRAMFS_IMAGE:remove:cassini = "corstone1000-initramfs-image"
-
-# Extend the wks search path to find custom wks file
-WKS_SEARCH_PATH:prepend:cassini := "${CASSINI_ARM_BSP_DYNAMIC_DIR}/wic:"
-WKS_FILE:cassini = "corstone1000-efidisk.wks.in"
-GRUB_CFG_FILE:cassini ?= "${CASSINI_ARM_BSP_DYNAMIC_DIR}/wic/corstone1000-grub.cfg"
-
-# Add grub-efi
-EFI_PROVIDER:cassini ?= "grub-efi"
-MACHINE_FEATURES:append:cassini = " efi"
-
# Due to performance limitations, add wait-online helper
IMAGE_INSTALL:append:cassini = " wait-online"
-
-# Skip components which will be provided by the firmware build
-EXTRA_IMAGEDEPENDS:remove:cassini = "external-system"
-EXTRA_IMAGEDEPENDS:remove:cassini = "trusted-firmware-m"
diff --git a/conf/multiconfig/firmware.conf b/conf/multiconfig/firmware.conf
deleted file mode 100644
index 04ec7b1586f67e932a6ed86a5c7f96aeadedbbf6..0000000000000000000000000000000000000000
--- a/conf/multiconfig/firmware.conf
+++ /dev/null
@@ -1,115 +0,0 @@
-# Based on: meta-poky/conf/distro/poky-tiny.conf
-# In open-source project: https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-tiny.conf?id=a5507f383cdab99806df131bf4aef191799c5153
-#
-# Original file: SPDX-FileCopyrightText: Copyright 2011 Intel Corporation
-# Modifications: SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited
-# and/or its affiliates
-#
-# SPDX-License-Identifier: MIT
-
-require conf/distro/include/gcsections.inc
-
-TCLIBC = "musl"
-
-FULL_OPTIMIZATION="-Os -pipe ${DEBUG_FLAGS}"
-
-# Virtualization features not used for firmware
-SKIP_META_VIRT_SANITY_CHECK = "1"
-
-# FIXME: consider adding a new "tiny" feature
-#DISTRO_FEATURES_append = " tiny"
-
-# Distro config is evaluated after the machine config, so we have to explicitly
-# set the kernel provider to override a machine config.
-PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
-PREFERRED_VERSION_linux-yocto-tiny ?= "6.1%"
-
-# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
-#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
-# Drop kernel-module-af-packet from RRECOMMENDS
-POKY_DEFAULT_EXTRA_RRECOMMENDS = ""
-
-# FIXME: what should we do with this?
-TCLIBCAPPEND = ""
-
-# Disable wide char support for ncurses as we don't include it in
-# in the LIBC features below.
-# Leave native enable to avoid build failures
-ENABLE_WIDEC = "false"
-ENABLE_WIDEC:class-native = "true"
-
-# Drop native language support. This removes the
-# eglibc->bash->gettext->l ibc-posix-clang-wchar dependency.
-USE_NLS="no"
-
-# Comment out any of the lines below to disable them in the build
-# DISTRO_FEATURES options:
-# alsa bluetooth ext2 pcmcia usbgadget usbhost wifi nfs zeroconf pci
-DISTRO_FEATURES_TINY = "pci"
-DISTRO_FEATURES_NET = "ipv4 ipv6"
-DISTRO_FEATURES_USB = "usbhost"
-#DISTRO_FEATURES_USBGADGET = "usbgadget"
-#DISTRO_FEATURES_WIFI = "wifi"
-
-DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \
- ${DISTRO_FEATURES_NET} \
- ${DISTRO_FEATURES_USB} \
- ${DISTRO_FEATURES_USBGADGET} \
- ${DISTRO_FEATURES_WIFI} \
- "
-
-DISTRO_FEATURES:class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-DISTRO_FEATURES:class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-
-# enable mdev/busybox for init
-POKY_INIT_MANAGER:cassini-firmware = "mdev-busybox"
-VIRTUAL-RUNTIME_init_manager:cassini-firmware = "busybox"
-
-# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
-# packagegroup-core-base to select modutils-initscripts or not. Similar with "net" and
-# netbase.
-
-# By default we only support initramfs. We don't build live as that
-# pulls in a lot of dependencies for the live image and the installer, like
-# udev, grub, etc. These pull in gettext, which fails to build with wide
-# character support.
-IMAGE_FSTYPES = "cpio.gz"
-QB_DEFAULT_FSTYPE = "cpio.gz"
-
-# Drop v86d from qemu dependency list (we support serial)
-# Drop grub from meta-intel BSPs
-# FIXME: A different mechanism is needed here. We could define -tiny
-# variants of all compatible machines, but that leads to a lot
-# more machine configs to maintain long term.
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ""
-
-# The mtrace script included by eglibc is a perl script. This means the system
-# will build perl in case this package is installed. Since we don't care about
-# this script for the purposes of tiny, remove the dependency from here.
-RDEPENDS:${PN}-mtrace:pn-eglibc = ""
-
-SKIP_RECIPE[build-appliance-image] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-rt] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-rt-sdk] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-sato] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-sato-dev] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-sato-sdk] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-x11] = "not buildable with poky-tiny"
-SKIP_RECIPE[core-image-weston] = "not buildable with poky-tiny"
-
-# Disable python usage in opkg-utils since it won't build with tiny config
-PACKAGECONFIG:remove:pn-opkg-utils = "python"
-
-# By assigning this here we remove "cassini" from the OVERRIDES list so
-# "cassini" & "cassini-firmware" overrides can be used to select between the
-# mass storage kernel and rootfs and any firmware built components
-DISTROOVERRIDES = "cassini-firmware"
-
-# Cassini specific config options below
-# Ensure this config has it's own TMPDIR
-TMPDIR:append = "-firmware"
-
-KERNEL_CLASSES:remove = "containers_kernelcfg_check k3s_kernelcfg_check"
-
-# Include any machine specific extras
-include conf/machine/include/${MACHINE}-firmware-extra-settings.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-core/images/cassini-image-%.bbappend b/meta-arm/meta-arm-bsp/recipes-core/images/cassini-image-%.bbappend
index 8380b3c9866094ed6533297add816ca62dad0dca..2d28372cdbe8866ca64b077eb89ccd7cc14e4ae7 100644
--- a/meta-arm/meta-arm-bsp/recipes-core/images/cassini-image-%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-core/images/cassini-image-%.bbappend
@@ -3,12 +3,6 @@
#
# SPDX-License-Identifier: MIT
-# We do not want to build these machine added extra's in the main cassini image context as
-# they should only be built in firmware context
-# This list needs to be kept in sync with the list added in
-# layers/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
-EXTRA_IMAGEDEPENDS:remove:corstone1000 = "trusted-firmware-a virtual/trusted-firmware-m u-boot optee-os external-system"
-
# Ensure cassini-image-* also builds the firmware for corstone1000 using a different libc
do_image_complete[depends] = "${@bb.utils.contains_any('MACHINE','corstone1000-mps3 corstone1000-fvp', \
- 'corstone1000-deploy-image:do_deploy', '', d)}"
+ 'firmware-deploy-image:do_deploy', '', d)}"
diff --git a/meta-arm/meta-arm-bsp/recipes-core/images/corstone1000-deploy-image.bb b/meta-arm/meta-arm-bsp/recipes-core/images/corstone1000-deploy-image.bb
deleted file mode 100644
index 08ee787fe0a33278591eaed8223bbff3d688a9c0..0000000000000000000000000000000000000000
--- a/meta-arm/meta-arm-bsp/recipes-core/images/corstone1000-deploy-image.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-# nooelint: oelint.var.mandatoryvar - This recipe has no source files
-#
-# SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
-# affiliates
-#
-# SPDX-License-Identifier: MIT
-
-SUMMARY = "Firmware image deploying multi-config firmware"
-DESCRIPTION = "Image for deploying a firmware set on platforms using multi-config"
-HOMEPAGE = "https://cassini.readthedocs.io/en/latest/"
-LICENSE = "MIT"
-
-inherit deploy nopackages
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(corstone1000-mps3|corstone1000-fvp)"
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-do_install[noexec] = "1"
-
-FIRMWARE_BINARIES = "corstone1000-image-${MACHINE}.wic \
- bl1.bin \
- es_flashfw.bin \
- ${@ 'corstone1000-utils-overlay-image-${MACHINE}.tar.bz2' \
- if d.getVar('MACHINE') == 'corstone1000-mps3' else ''} \
- "
-
-do_deploy() {
- firmware_loc="${TOPDIR}/tmp-firmware/deploy/images/${MACHINE}"
- for firmware in ${FIRMWARE_BINARIES}; do
- cp -av ${firmware_loc}/${firmware} ${DEPLOYDIR}/
- if [ -L ${firmware_loc}/${firmware} ]; then
- cp -av ${firmware_loc}/$(readlink ${firmware_loc}/${firmware}) ${DEPLOYDIR}/
- fi
- done
-}
-
-do_deploy[umask] = "022"
-do_deploy[mcdepends] = "mc::firmware:corstone1000-image:do_image_complete \
- ${@ 'mc::firmware:corstone1000-utils-overlay-image:do_image_complete' \
- if d.getVar('MACHINE') == 'corstone1000-mps3' else ''} \
- "
-
-addtask deploy after do_prepare_recipe_sysroot
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend
index 8500c1658fe6f2fa60e1908b58f179079db33bea..75f993cb53dafc791a569e40df9390505f7aaa0a 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its
+# SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its
# affiliates
#
# SPDX-License-Identifier: MIT
@@ -7,9 +7,7 @@ FILESEXTRAPATHS:prepend:cassini := "${THISDIR}:${THISDIR}/linux-yocto:"
# nooelint: oelint.vars.srcurifile - False positive
SRC_URI:append:cassini:corstone1000 = " \
- file://extfs.cfg \
file://cgroups.cfg \
- file://mmc.cfg \
file://container.cfg \
file://network.cfg \
${@bb.utils.contains('DISTRO_FEATURES', \
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto/corstone1000/extfs.cfg b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto/corstone1000/extfs.cfg
deleted file mode 100644
index 288a4856eac9a632ab74c97e9e58191c6206611e..0000000000000000000000000000000000000000
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto/corstone1000/extfs.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_POSIX_ACL is not set
-# CONFIG_EXT4_FS_SECURITY is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_AUTOFS_FS=y
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto/corstone1000/mmc.cfg b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto/corstone1000/mmc.cfg
deleted file mode 100644
index 948d1a76b9a2f58ac30acbf313af3e0f1efa34e9..0000000000000000000000000000000000000000
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto/corstone1000/mmc.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_GPIO is not set
-# CONFIG_REGULATOR_VCTRL is not set
-# CONFIG_REGULATOR_VEXPRESS is not set
-CONFIG_MMC=y
-# CONFIG_PWRSEQ_EMMC is not set
-CONFIG_PWRSEQ_SIMPLE=y
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_ARMMMCI=y
-# CONFIG_MMC_STM32_SDMMC is not set
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_DW is not set
-# CONFIG_MMC_VUB300 is not set
-# CONFIG_MMC_USHC is not set
-# CONFIG_MMC_USDHI6ROL0 is not set
-# CONFIG_MMC_CQHCI is not set
-# CONFIG_MMC_HSQ is not set
-# CONFIG_MMC_MTK is not set
diff --git a/meta-arm/meta-arm-bsp/wic/corstone1000-efidisk.wks.in b/meta-arm/meta-arm-bsp/wic/corstone1000-efidisk.wks.in
deleted file mode 100644
index 0a7dfef1b999cc616b62721d24434d74bd5e5ade..0000000000000000000000000000000000000000
--- a/meta-arm/meta-arm-bsp/wic/corstone1000-efidisk.wks.in
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2022-2023 Arm Limited or its affiliates. All rights reserved.
-#
-# SPDX-License-Identifier: MIT
-
-# short-description: Create an EFI disk image
-# long-description: Creates a partitioned EFI disk image that the user
-# can directly dd to boot media. Uses a custom grub.cfg file to configure the boot.
-
-part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --label msdos --align 1024 --use-uuid --active
-
-part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid --uuid 6a60524d-061d-454a-bfd1-38989910eccd
-
-bootloader --ptable gpt --configfile="${GRUB_CFG_FILE}" --timeout=5
diff --git a/meta-arm/meta-arm-bsp/wic/corstone1000-grub.cfg b/meta-arm/meta-arm-bsp/wic/corstone1000-grub.cfg
deleted file mode 100644
index e8d0884d0b748eba049624f7ddba5b7df20bef62..0000000000000000000000000000000000000000
--- a/meta-arm/meta-arm-bsp/wic/corstone1000-grub.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2023 Arm Limited and/or its affiliates.
-#
-#
-# SPDX-License-Identifier: MIT
-
-set debug="loader,mm"
-set term="vt100"
-set default="0"
-set timeout="5"
-
-menuentry 'Arm reference image boot on Corstone1000 (Device Tree)' {
- linux /Image.gz earlycon=pl011,0x1a510000 console=ttyAMA0,115200 root=PARTUUID=6a60524d-061d-454a-bfd1-38989910eccd rootwait rootfstype=ext4 verbose debug
-}