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 */
+ };
+ };
+};