Isolation L3 for AN521 and Musca-B1

- Add Isolation L3 region configuration for AN521 and Musca-B1.
- Add level3-specific linker script/scatter load files for these
  two platforms. The other platforms do not support L3 and do not
  need specific load files at current stage.
- Implement level3-specific dynamic MPU region switching function
  tfm_hal_mpu_update_partition_boundary() while isolation level3
  is chosen.

Change-Id: Icc50683c8a9b32494b29948d1ebeedcb59c0bcaa
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
Co-authored-by: Mingyang Sun <mingyang.sun@arm.com>
diff --git a/platform/include/tfm_spm_hal.h b/platform/include/tfm_spm_hal.h
index fc2246a..0b49340 100644
--- a/platform/include/tfm_spm_hal.h
+++ b/platform/include/tfm_spm_hal.h
@@ -43,8 +43,17 @@
  */
 struct tfm_spm_partition_memory_data_t
 {
-    uint32_t stack_bottom; /*!< The bottom of the stack for the partition. */
-    uint32_t stack_top;    /*!< The top of the stack for the partition. */
+#if TFM_LVL == 3
+    uint32_t data_start;    /* Start of the private data region of current
+                             * partition. Specifically, the private data
+                             * includes RW, ZI and the partition stack below.
+                             */
+    uint32_t data_limit;    /* Address of the byte beyond the end of the data
+                             * region of this partition.
+                             */
+#endif
+    uint32_t stack_bottom;  /* The bottom of the stack for the partition. */
+    uint32_t stack_top;     /* The top of the stack for the partition. */
 };
 #endif