Platform: Add option for multiple mmio regions

Store the list of peripherals assigned to a secure partition in an
array, to make assigning multiple peripherals to a secure partition
possible.

Change-Id: If61d2b5b4e87a4685ae487130cf885802572836c
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
diff --git a/secure_fw/spm/spm_api_ipc.c b/secure_fw/spm/spm_api_ipc.c
index a8b6c14..338c3b8 100644
--- a/secure_fw/spm/spm_api_ipc.c
+++ b/secure_fw/spm/spm_api_ipc.c
@@ -527,6 +527,7 @@
     uint32_t i, j, num;
     struct spm_partition_desc_t *partition;
     struct tfm_thrd_ctx *pth, this_thrd;
+    const struct tfm_spm_partition_platform_data_t **platform_data_p;
 
     tfm_pool_init(conn_handle_pool,
                   POOL_BUFFER_SIZE(conn_handle_pool),
@@ -544,7 +545,14 @@
             continue;
         }
 
-        tfm_spm_hal_configure_default_isolation(partition->platform_data);
+        platform_data_p = partition->platform_data_list;
+        if (platform_data_p != NULL) {
+            while ((*platform_data_p) != NULL) {
+                tfm_spm_hal_configure_default_isolation(*platform_data_p);
+                ++platform_data_p;
+            }
+        }
+
         if ((tfm_spm_partition_get_flags(i) & SPM_PART_FLAG_IPC) == 0) {
             continue;
         }