feat: secure hafnium build fro RD Fremont platform

RD (Reference Design) is a collection of resources to provide a
representative view of typical compute subsystems that can be designed
and implemented using specific generations of Arm IP.
RD-Fremont supports S-EL2 and needs S-EL2 SPMC/Hafnium to manage its
secure partitions running at S-EL0.

Change-Id: I1aebd791757e555cd38ad3240d9a99c77de4ff14
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
diff --git a/BUILD.gn b/BUILD.gn
index 08259d9..a3423c9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -14,6 +14,7 @@
     "//src:hafnium(:rpi4_clang)",
     "//src:hafnium(:secure_aem_v8a_fvp_vhe_clang)",
     "//src:hafnium(:secure_qemu_aarch64_clang)",
+    "//src:hafnium(:secure_rd_fremont_clang)",
     "//src:hafnium(:secure_tc_clang)",
     "//src/arch/aarch64/qemuloader:bl(:qemu_aarch64_vhe_clang)",
   ]
@@ -48,6 +49,37 @@
   max_vms = 6
 }
 
+# RD (Reference Design) is a collection of resources to provide a representative
+# view of typical compute subsystems that can be designed and implemented using
+# specific generations of Arm IP. RD-Fremont is the first RD platform with Realm
+# Management Extension (RME) support.
+# For more information please refer:
+# https://neoverse-reference-design.docs.arm.com/en/latest/platforms/rdfremont/readme.html
+aarch64_toolchains("secure_rd_fremont") {
+  cpu = "cortex-a57"
+  origin_address = "0xF9000000"
+  boot_flow = "//src/boot_flow:spmc"
+  console = "//src/arch/aarch64/pl011"
+  iommu = "//src/iommu:absent"
+  gic_version = 4
+  gicd_base_address = "0x30000000"
+  gicr_base_address = "0x301C0000"
+  gicr_frames = 16
+  heap_pages = 180
+  max_cpus = 16
+  max_vms = 16
+  toolchain_args = {
+    plat_ffa = "//src/arch/aarch64/plat/ffa:spmc"
+    plat_psci = "//src/arch/aarch64/plat/psci:spmc"
+    plat_interrupts = "//src/arch/aarch64/plat/interrupts:gicv3"
+    secure_world = "1"
+    pl011_base_address = "0x2A410000"
+    enable_mte = "1"
+    plat_log_level = "LOG_LEVEL_INFO"
+    plat_num_virtual_interrupts_ids = 1024
+  }
+}
+
 aarch64_toolchains("secure_aem_v8a_fvp_vhe") {
   cpu = "cortex-a57"
   origin_address = "0x06000000"
diff --git a/secure_rd_fremont/BUILD.gn b/secure_rd_fremont/BUILD.gn
new file mode 100644
index 0000000..39c4914
--- /dev/null
+++ b/secure_rd_fremont/BUILD.gn
@@ -0,0 +1,8 @@
+# Copyright 2023 The Hafnium Authors.
+#
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/BSD-3-Clause.
+
+source_set("secure_rd_fremont") {
+}