diff --git a/arm_auto_solutions_utils.sh b/arm_auto_solutions_utils.sh
new file mode 100644
index 0000000..eee7607
--- /dev/null
+++ b/arm_auto_solutions_utils.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+source "$ci_root/fvp_utils.sh"
+
+arm_automotive_solutions="${rd1ae_prebuilts:-$tfa_downloads/arm_automotive_solutions}"
+
+# RD-1 AE AP bl2 0x00 is mapped to 0x70083C00 in RSE memory map
+rd1ae_ap_bl2_flash_load_addr=0x70083C00
+rd1ae_ap_bl2_flash_size=0x80000
diff --git a/expect-lava/rd1ae-tf.exp b/expect-lava/rd1ae-tf.exp
new file mode 100644
index 0000000..0fe8790
--- /dev/null
+++ b/expect-lava/rd1ae-tf.exp
@@ -0,0 +1,11 @@
+#
+# Copyright (c) 2024 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Expect script for booting TF-A on RD-1 AE
+#
+
+# RD1AE BL2
+expect_string+=('i;BL2: Built :')
+expect_string+=('i;BL2: Booting BL31')
diff --git a/expect-lava/rd1ae-yocto.exp b/expect-lava/rd1ae-yocto.exp
new file mode 100644
index 0000000..6f18c0f
--- /dev/null
+++ b/expect-lava/rd1ae-yocto.exp
@@ -0,0 +1,16 @@
+#
+# Copyright (c) 2024 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Expect script for booting Yocto linux on RD-1 AE
+#
+
+# Uboot
+expect_string+=('i;U-Boot')
+
+# Linux kernel boot section
+source $ci_root/expect-lava/linux.inc
+
+# Yocto
+expect_string+=('i;fvp-rd-kronos login:')
diff --git a/expect/rd1ae-tf.exp b/expect/rd1ae-tf.exp
new file mode 100644
index 0000000..64ac3f6
--- /dev/null
+++ b/expect/rd1ae-tf.exp
@@ -0,0 +1,23 @@
+#
+# Copyright (c) 2024 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Expect script for booting Yocto linux on RD-1 AE
+#
+
+source [file join [file dirname [info script]] utils.inc]
+source [file join [file dirname [info script]] handle-arguments.inc]
+
+# RD-1-AE BL2
+expect {
+	"BL2: Built :" {
+		message "Booting BL2"
+	}
+}
+
+expect {
+	"BL2: Booting BL31" {
+		message "Booting BL31"
+	}
+}
diff --git a/expect/rd1ae-yocto.exp b/expect/rd1ae-yocto.exp
new file mode 100644
index 0000000..9f5f084
--- /dev/null
+++ b/expect/rd1ae-yocto.exp
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 2024 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Expect script for booting Yocto linux on RD-1 AE
+#
+
+source [file join [file dirname [info script]] utils.inc]
+source [file join [file dirname [info script]] handle-arguments.inc]
+
+# Uboot
+expect {
+	"U-Boot" {
+		message "Entered Uboot"
+	}
+}
+
+# Linux kernel boot section
+source [file join [file dirname [info script]] linux.inc]
+
+# Yocto
+expect {
+	"fvp-rd-kronos login:" {
+		message "Kronos Login Prompt Received"
+	}
+}
diff --git a/fvp_utils.sh b/fvp_utils.sh
index f013fe0..1bd713d 100644
--- a/fvp_utils.sh
+++ b/fvp_utils.sh
@@ -50,6 +50,7 @@
 fvp_arm_std_library="fvp:fvp_arm_std_library_${model_version}_${model_build};/opt/model/FVP_ARM_Std_Library/FVP_Base"
 fvp_base_revc_2xaemva="fvp:fvp_base_revc-2xaemva_${model_version}_${model_build};/opt/model/Base_RevC_AEMvA_pkg/models/${model_flavour}"
 fvp_base_aemv8r="fvp:fvp_base_aemv8r_${model_version}_${model_build};/opt/model/AEMv8R_base_pkg/models/${model_flavour}"
+fvp_rd_1_ae="fvp:fvp_rd_1_ae_11.27_20;/opt/model/FVP_RD_1_AE/models/${model_flavour}"
 
 # CSS model list
 fvp_morello="fvp:fvp_morello_0.11_33;/opt/model/FVP_Morello/models/Linux64_GCC-6.4"
@@ -100,6 +101,7 @@
 [tc2]="${fvp_tc2};FVP_TC2"
 [tc3]="${fvp_tc3};FVP_TC3"
 [baser-aemv8r]="${fvp_base_aemv8r};FVP_BaseR_AEMv8R"
+[rd1ae]="${fvp_rd_1_ae};FVP_RD_1_AE"
 )
 
 
@@ -317,6 +319,7 @@
         [romlib]="romlib.bin"
         [rootfs]="rootfs.bin"
         [host_flash_fip]="host_flash_fip.bin"
+        [rse_flash]="rse_flash.bin"
         [rse_rom]="rse_rom.bin"
         [rse_encrypted_cm_provisioning_bundle_0]="rse_encrypted_cm_provisioning_bundle_0.bin"
         [rse_encrypted_dm_provisioning_bundle]="rse_encrypted_dm_provisioning_bundle.bin"
@@ -368,6 +371,7 @@
         [romlib]="$(gen_bin_url romlib.bin)"
         [rootfs]="$(gen_bin_url rootfs.bin.gz)"
         [host_flash_fip]="$(gen_bin_url host_flash_fip.bin)"
+        [rse_flash]="$(gen_bin_url rse_flash.bin)"
         [rse_rom]="$(gen_bin_url rse_rom.bin)"
         [rse_encrypted_cm_provisioning_bundle_0]="$(gen_bin_url rse_encrypted_cm_provisioning_bundle_0.bin)"
         [rse_encrypted_dm_provisioning_bundle]="$(gen_bin_url rse_encrypted_dm_provisioning_bundle.bin)"
@@ -424,6 +428,7 @@
         ["[= ]romlib.bin"]="={ROMLIB}"
         ["[= ]rootfs.bin"]="={ROOTFS}"
         ["[= ]host_flash_fip.bin"]="={HOST_FLASH_FIP}"
+        ["[= ]rse_flash.bin"]="={RSE_FLASH}"
         ["[= ]rse_rom.bin"]="={RSE_ROM}"
         ["[= ]rse_encrypted_cm_provisioning_bundle_0.bin"]="={RSE_ENCRYPTED_CM_PROVISIONING_BUNDLE_0}"
         ["[= ]rse_encrypted_dm_provisioning_bundle.bin"]="={RSE_ENCRYPTED_DM_PROVISIONING_BUNDLE}"
diff --git a/group/tf-l2-boot-tests-arm-plats/rd1ae-default:fvp-linux.rd1ae b/group/tf-l2-boot-tests-arm-plats/rd1ae-default:fvp-linux.rd1ae
new file mode 100644
index 0000000..b5a3cc6
--- /dev/null
+++ b/group/tf-l2-boot-tests-arm-plats/rd1ae-default:fvp-linux.rd1ae
@@ -0,0 +1,6 @@
+#
+# Copyright (c) 2024 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
diff --git a/model/rd1ae-ports.awk b/model/rd1ae-ports.awk
new file mode 100644
index 0000000..f2be0b6
--- /dev/null
+++ b/model/rd1ae-ports.awk
@@ -0,0 +1,15 @@
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+/terminal_sec_uart:/ { ports[0] = $NF }
+/terminal_ns_uart0:/ { ports[1] = $NF }
+/terminal_uart_scp:/ { ports[2] = $NF }
+END {
+    for (i = 0; i < num_uarts; i++) {
+        if (ports[i] != "")
+            print "ports[" i "]=" ports[i]
+    }
+}
diff --git a/model/rd1ae.sh b/model/rd1ae.sh
new file mode 100644
index 0000000..e86ffa1
--- /dev/null
+++ b/model/rd1ae.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+if  is_arm_jenkins_env || upon "$local_ci"; then
+	# Internal ARM Jenkins environment path
+	set_model_path "$warehouse/SysGen/Models/$model_version/$model_build/external/models/$model_flavour/FVP_RD_1_AE"
+else
+	source "$ci_root/fvp_utils.sh"
+	# fvp_models variable contains the information for FVP paths, where 2nd field
+	# points to the /opt/model/*/models/${model_flavour}
+	models_dir="$(echo ${fvp_models[$model]} | awk -F ';' '{print $2}')"
+	set_model_path "$models_dir"
+fi
+
+# Write model command line options
+cat <<EOF >"$model_param_file"
+-C css.sysctrl.scp.terminal_uart_scp.start_port=5007
+-C css.ap_periph.terminal_ns_uart0.start_port=5008
+-C css.ap_periph.terminal_sec_uart.start_port=5009
+-C ros.disable_visualisation=1
+-C css.sysctrl.si.disable_visualisation=1
+-C css.sysctrl.rse.rom.raw_image=$rse_rom_bin
+-C css.sysctrl.rse_flashloader.fname=$rse_flash_bin
+-C ros.board.flashloader0.fname=$fip_gpt_bin
+-C ros.board.virtioblockdevice.image_path=$rootfs_bin
+-C ros.board.virtio_net.enabled=1
+-C ros.board.virtio_net.hostbridge.userNetworking=1
+-C ros.board.virtio_net.hostbridge.userNetPorts=2222=22
+-C ros.board.virtio_net.transport=legacy
+-C ros.board.virtio_rng.enabled=1
+-C ros.dram_size=0x100000000
+-C css.sysctrl.rse.DISABLE_GATING=1
+-C css.sysctrl.rse.CMU4_NUM_DB_CH=6
+-C css.sysctrl.si.system_ctrl_regs.cl1_c1_cfgrvbaraddr=0x140000000
+-C css.sysctrl.si.system_ctrl_regs.cl2_c1_cfgrvbaraddr=0x160000000
+-C css.sysctrl.si.system_ctrl_regs.cl2_c2_cfgrvbaraddr=0x160000000
+-C css.sysctrl.si.system_ctrl_regs.cl2_c3_cfgrvbaraddr=0x160000000
+-C 'pcie_group_0.pcie4.hierarchy_file_name=<default>'
+-C pcie_group_0.pcie4.pcie_rc.ahci0.endpoint.ats_supported=true
+-C pcie_group_0.pcie4.pcie_rc.ahci0.ahci.image_path=
+-C pcie_group_0.pcie4.pci_smmuv3.mmu.SMMU_ROOT_IDR0=0
+-C css.sysctrl.rse_flashloader.fnameWrite=$rse_flash_bin
+-C ros.board.flashloader0.fnameWrite=$fip_gpt_bin
+-C css.sysctrl.rse_flashloader.write_flash_after_reset=true
+-C ros.board.flashloader0.write_flash_after_reset=true
+-C css.sysctrl.rse.lcm_nvm.otp_enabled=1
+-C css.sysctrl.rse.lcm_nvm.read_from_file=1
+-C css.sysctrl.rse.lcm_nvm.update_raw_image=1
+-C css.sysctrl.rse.lcm_nvm.use_image_file=1
+-C css.sysctrl.rse.clk_mul.mul=5
+-C css.sysctrl.rse.intchecker.ICBC_RESET_VALUE=0x0000011B
+--data css.sysctrl.rse.cpu=$rse_encrypted_cm_provisioning_bundle_0_bin@0x31000400
+--data css.sysctrl.rse.cpu=$rse_encrypted_dm_provisioning_bundle_bin@0x31080000
+
+EOF
diff --git a/run_config/fvp-linux.rd1ae b/run_config/fvp-linux.rd1ae
new file mode 100644
index 0000000..c0665a0
--- /dev/null
+++ b/run_config/fvp-linux.rd1ae
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+source "$ci_root/run_config/rd1ae_rse_utils.sh"
+source "$ci_root/arm_auto_solutions_utils.sh"
+
+post_tf_build() {
+	# Download and archive rd1ae u-boot.bin files
+	url="$arm_automotive_solutions/rd1ae/u-boot.bin" saveas="uboot.bin" fetch_file
+	archive_file "uboot.bin"
+
+	build_fip BL33="$archive/uboot.bin"
+}
+
+fetch_tf_resource() {
+	# Sign ap_bl2 image with RSE public key
+	sign_host_ap_bl2_image bl2.bin $rd1ae_ap_bl2_flash_load_addr $rd1ae_ap_bl2_flash_size
+
+	# Update fip image with signed ap_bl2
+	bin_name="tb-fw" src="$archive/$signed_bin" fip_update
+
+	# Download all required images to boot rd1ae
+	downlaod_rd1ae_prebuilt
+
+	# Update ap-flash-image with newly created fip image
+	update_ap_flash_image
+}
+
+generate_lava_job_template() {
+	payload_type="linux" gen_yaml_template
+}
+
+generate_lava_job() {
+	local model="rd1ae"
+	uart="1" set_expect_variable "num_cpus" "8"
+
+	# Hold scp terminal_uart_scp
+	uart="2" port="5007" file="hold_uart.exp" track_expect
+	uart="0" port="5009" file="rd1ae-tf.exp" track_expect
+	uart="1" port="5008" file="rd1ae-yocto.exp" set_primary="1" timeout="1200" track_expect
+
+	set_run_env "ports_script" "$ci_root/model/rd1ae-ports.awk"
+	set_run_env "num_uarts" "3"
+
+	model="$model" \
+			model_build="20" \
+			model_flavour="Linux64_GCC-9.3" \
+			model_version="11.27" \
+			gen_model_params
+
+	model="$model" gen_fvp_yaml
+}
+
diff --git a/run_config/rd1ae_rse_utils.sh b/run_config/rd1ae_rse_utils.sh
new file mode 100644
index 0000000..3aa62a7
--- /dev/null
+++ b/run_config/rd1ae_rse_utils.sh
@@ -0,0 +1,107 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+sign_host_ap_bl2_image() {
+	# $1 ... host binary name to sign
+	# $2 ... image load address
+	# $3 ... signed bin size
+
+	local tmpdir="$(mktemp -d)"
+	host_bin="`basename ${1}`"
+	signed_bin="signed_`basename ${1}`"
+	host_binary_layout="`basename -s .bin ${1}`_ns"
+
+	# Download the RSE public key
+	url="$arm_automotive_solutions/rd1ae/root-EC-P256.pem" saveas="root-EC-P256.pem" fetch_file
+	archive_file "root-EC-P256.pem"
+
+	RSE_SIGN_PRIVATE_KEY=$archive/root-EC-P256.pem
+	RSE_LAYOUT_WRAPPER_VERSION="0.0.7"
+
+	cat << EOF > $tmpdir/$host_binary_layout
+enum image_attributes {
+	RE_IMAGE_LOAD_ADDRESS = $2,
+	RE_SIGN_BIN_SIZE = $3,
+};
+EOF
+
+	if [ ! -f $archive/$host_bin ]; then
+		echo "$archive/$host_bin does not exist. Aborting...!"
+		exit 1
+	fi
+
+	echo "Signing `basename ${1}`"
+	# Get mcuboot
+	git clone --branch v2.1.0 "https://github.com/mcu-tools/mcuboot.git" $tmpdir/mcuboot
+
+	# Fetch wrapper script
+	saveas="$tmpdir" url="$arm_automotive_solutions/rd1ae/wrapper_scripts" fetch_directory
+
+	pushd $tmpdir/mcuboot/scripts
+	python3 $tmpdir/wrapper_scripts/wrapper/wrapper.py \
+		-v $RSE_LAYOUT_WRAPPER_VERSION \
+		--layout $tmpdir/$host_binary_layout \
+		-k $RSE_SIGN_PRIVATE_KEY \
+		--public-key-format full \
+		--align 1 \
+		--pad \
+		--pad-header \
+		--measured-boot-record \
+		-H 0x400 \
+		-s auto \
+		$archive/$host_bin  \
+		$tmpdir/$signed_bin
+
+	echo "Generated signed_`basename ${1}`"
+
+	url="$tmpdir/$signed_bin" saveas="$signed_bin" fetch_file
+	archive_file "$signed_bin"
+	popd
+}
+
+downlaod_rd1ae_prebuilt() {
+	url="$arm_automotive_solutions/rd1ae/core-image-minimal-fvp-rd-kronos.wic" saveas="rootfs.bin" fetch_file
+	archive_file "rootfs.bin"
+
+	# Get pre-built rse encrypted_cm_provisioning_bundle_0 bin
+	url="$arm_automotive_solutions/rd1ae/encrypted_cm_provisioning_bundle_0.bin" \
+		saveas=rse_encrypted_cm_provisioning_bundle_0.bin fetch_file
+	archive_file "rse_encrypted_cm_provisioning_bundle_0.bin"
+
+	# Get pre-built rse encrypted_dm_provisioning_bundle bin
+	url="$arm_automotive_solutions/rd1ae/encrypted_dm_provisioning_bundle_0.bin" \
+		saveas=rse_encrypted_dm_provisioning_bundle.bin fetch_file
+	archive_file "rse_encrypted_dm_provisioning_bundle.bin"
+
+	# Get pre-built rse-rom-image.img
+	url="$arm_automotive_solutions/rd1ae/rse-rom-image.img" saveas=rse_rom.bin fetch_file
+	archive_file "rse_rom.bin"
+
+	# Get pre-built rse-flash-image.img
+	url="$arm_automotive_solutions/rd1ae/rse-flash-image.img" saveas=rse_flash.bin fetch_file
+	archive_file "rse_flash.bin"
+
+	# Get pre-built rse-nvm-image.img
+	url="$arm_automotive_solutions/rd1ae/rse-nvm-image.img" fetch_file
+	archive_file "rse-nvm-image.img"
+}
+
+update_ap_flash_image() {
+	# Downlaod prebuilt ap-flash-image.img
+	url="$arm_automotive_solutions/rd1ae/ap-flash-image.img" saveas=fip_gpt.bin fetch_file
+	archive_file "fip_gpt.bin"
+
+	if [ ! -f "$archive/fip.bin" ]; then
+		echo "$archive/fip.bin does not exist. Aborting...!"
+		exit 1
+	fi
+
+	echo "Updating ap-flash-image..."
+	dd if=$archive/fip.bin of=$archive/fip_gpt.bin bs=1 seek=0 conv=notrunc
+	dd if=$archive/fip.bin of=$archive/fip_gpt.bin bs=1 seek=$((0x200000)) conv=notrunc
+	echo "Succesfully updated."
+}
