plat(n1sdp): initial commit of N1SDP platform port

This patch allows TFTF to run on N1SDP in a limited manner and is still in
development, some tests are disabled using the file
plat/arm/n1sdp/tests_to_skip.txt.

The major known issue now is with PSCI commands waking up and powering
down cores, and SGIs do not wake up powered off cores.

Build command: "make CROSS_COMPILE=aarch64-none-elf- PLAT=n1sdp tftf"

To run TFTF on N1SDP, copy tftf.bin to the /SOFTWARE directory on the SD
card and edit the images.txt file to load tftf.bin instead of uefi.bin.

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I897ba665306413c594544d6a231555475e7c8111
diff --git a/plat/arm/n1sdp/n1sdp_mem_prot.c b/plat/arm/n1sdp/n1sdp_mem_prot.c
new file mode 100644
index 0000000..1ee602d
--- /dev/null
+++ b/plat/arm/n1sdp/n1sdp_mem_prot.c
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <platform.h>
+
+#define N1SDP_DRAM1_NS_START	(TFTF_BASE + 0x4000000)
+#define N1SDP_DRAM1_NS_SIZE	0x10000000
+
+static const mem_region_t n1sdp_ram_ranges[] = {
+	{ N1SDP_DRAM1_NS_START, N1SDP_DRAM1_NS_SIZE }
+};
+
+const mem_region_t *plat_get_prot_regions(int *nelem)
+{
+	*nelem = ARRAY_SIZE(n1sdp_ram_ranges);
+	return n1sdp_ram_ranges;
+}