Add ftpm SP deplyoment

Create a new deployment which implemets an fTPM using TPM CRB over FF-A
frontend and ms-tpm-20-ref TPM implementation using MbedTLS crypto
backend. The functionality is currently limited, locality handling is
partially implemented, Locality 4 is not supported.

Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
Change-Id: I09769cfe84190736cce1a261d7fb6de62b2b0d09
diff --git a/deployments/ftpm/config/default-sp/default_ftpm.dts.in b/deployments/ftpm/config/default-sp/default_ftpm.dts.in
new file mode 100644
index 0000000..b0a6237
--- /dev/null
+++ b/deployments/ftpm/config/default-sp/default_ftpm.dts.in
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+@DTS_TAG@
+
+@DTS_NODE@ {
+	compatible = "arm,ffa-manifest-1.0";
+	ffa-version = <@CFG_FFA_VERSION@>; /* 31:16 - Major, 15:0 - Minor */
+	uuid = <@EXPORT_SP_UUID_DT@>;
+	description = "fTPM SP";
+	execution-ctx-count = <1>;
+	exception-level = <1>; /* S-EL0 */
+	execution-state = <0>; /* AArch64 */
+	xlat-granule = <0>; /* 4KiB */
+	boot-order = /bits/ 16 <@EXPORT_SP_BOOT_ORDER@>;
+	messaging-method = <3>; /* Direct messaging only */
+	ns-interrupts-action = <2>; /* Non-secure interrupts are signaled */
+
+	memory-regions {
+		compatible = "arm,ffa-manifest-memory-regions";
+
+		#include "@EXPORT_DTS_MEM_REGIONS@"
+	};
+
+	device-regions {
+		compatible = "arm,ffa-manifest-device-regions";
+
+		tpm-crb-ns {
+			base-address = <@CRB_NS_ADDR_HI@ @CRB_NS_ADDR_LO@>;
+			pages-count = <@TPM_CRB_NS_PAGE_COUNT@>;
+			attributes = <0xb>; /* ns access-read-write */
+		};
+
+		tpm-crb-s {
+			base-address = <@CRB_S_ADDR_HI@ @CRB_S_ADDR_LO@>;
+			pages-count = <@TPM_CRB_S_PAGE_COUNT@>;
+			attributes = <0x3>; /* read-write */
+		};
+
+		trng {
+			/* Armv8-A Base Platform values */
+			base-address = <0x00000000 0x7fe60000>;
+			pages-count = <1>;
+			attributes = <0x3>; /* read-write */
+		};
+	};
+};