diff --git a/tftf/tests/misc_tests/test_firmware_handoff.c b/tftf/tests/misc_tests/test_firmware_handoff.c
new file mode 100644
index 0000000..bd565ae
--- /dev/null
+++ b/tftf/tests/misc_tests/test_firmware_handoff.c
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <assert.h>
+
+#include <test_helpers.h>
+#include <tftf_lib.h>
+#include <transfer_list.h>
+
+extern u_register_t hw_config_base;
+extern u_register_t ns_tl;
+extern u_register_t tl_signature;
+
+#define DTB_PREAMBLE U(0xedfe0dd0)
+
+test_result_t test_handoff_header(void)
+{
+	struct transfer_list_header *tl = (struct transfer_list_header *)ns_tl;
+
+	assert((uint32_t)tl_signature ==
+	       (REGISTER_CONVENTION_VERSION_MASK | TRANSFER_LIST_SIGNATURE));
+
+	if (transfer_list_check_header(tl) == TL_OPS_NON) {
+		return TEST_RESULT_FAIL;
+	}
+
+	return TEST_RESULT_SUCCESS;
+}
+
+test_result_t test_handoff_dtb_payload(void)
+{
+	tftf_testcase_printf("Validating HW_CONFIG from transfer list.\n");
+	struct transfer_list_header *tl = (struct transfer_list_header *)ns_tl;
+	struct transfer_list_entry *te = (void *)tl + tl->hdr_size;
+	uintptr_t dtb_ptr;
+
+	te = transfer_list_find(tl, TL_TAG_FDT);
+
+	if (te == NULL) {
+		tftf_testcase_printf(
+			"Failed to find HW CONFIG TE in transfer list!");
+		return TEST_RESULT_FAIL;
+	}
+
+	dtb_ptr = (unsigned long)transfer_list_entry_data(te);
+
+	if ((dtb_ptr != hw_config_base) &&
+	    (*(uint32_t *)dtb_ptr != DTB_PREAMBLE)) {
+		return TEST_RESULT_FAIL;
+	}
+
+	return TEST_RESULT_SUCCESS;
+}
diff --git a/tftf/tests/tests-firmware-handoff.mk b/tftf/tests/tests-firmware-handoff.mk
new file mode 100644
index 0000000..515188a
--- /dev/null
+++ b/tftf/tests/tests-firmware-handoff.mk
@@ -0,0 +1,13 @@
+#
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+ifeq (${TRANSFER_LIST}, 1)
+
+TESTS_SOURCES	+=	$(addprefix tftf/tests/misc_tests/,		\
+	test_firmware_handoff.c						\
+)
+
+endif
diff --git a/tftf/tests/tests-firmware-handoff.xml b/tftf/tests/tests-firmware-handoff.xml
new file mode 100644
index 0000000..2761626
--- /dev/null
+++ b/tftf/tests/tests-firmware-handoff.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright (c) 2023, Arm Limited. All rights reserved.
+
+  SPDX-License-Identifier: BSD-3-Clause
+-->
+
+<testsuites>
+  <testsuite name="Firmware Handoff" description="Validate transfer list managed by firmware hanoff framework">
+     <testcase name="Validate transfer list header" function="test_handoff_header" />
+     <testcase name="Validate HW_CONFIG in transfer list" function="test_handoff_dtb_payload" />
+  </testsuite>
+</testsuites>
