mdm9625: Add support to use non contiguous DDR regions for SCRATCH space.

Change-Id: I28727f5e3245ac5dbca3ca5d33bcca86061bb211
diff --git a/target/mdm9625/meminfo.c b/target/mdm9625/meminfo.c
index 96b1b5b..7f88b56 100644
--- a/target/mdm9625/meminfo.c
+++ b/target/mdm9625/meminfo.c
@@ -32,6 +32,7 @@
 #include <smem.h>
 #include <stdint.h>
 #include <libfdt.h>
+#include <platform.h>
 #include <platform/iomap.h>
 #include <dev_tree.h>
 
@@ -42,6 +43,8 @@
 	uint32_t start_addr;
 }mem_info;
 
+static struct smem_ram_ptable ram_ptable;
+
 mem_info mdm9625_default_fixed_memory[] = {
 	{	.size = (29 * SIZE_1M),
 		.start_addr = SDRAM_START_ADDR +
@@ -53,6 +56,14 @@
 	},
 };
 
+struct smem_ram_ptable* target_smem_ram_ptable_init()
+{
+   /* Make sure RAM partition table is initialized */
+   ASSERT(smem_ram_ptable_init(&ram_ptable));
+
+   return &ram_ptable;
+}
+
 int target_add_first_mem_bank(void *fdt,
 							  uint32_t offset,
 							  mem_info usable_mem_map[],
@@ -81,15 +92,11 @@
  */
 uint32_t target_dev_tree_mem(void *fdt, uint32_t memory_node_offset)
 {
-    struct smem_ram_ptable ram_ptable;
     uint32_t last_fixed_addr;
     int n;
     unsigned int i;
 	int ret;
 
-	/* Make sure RAM partition table is initialized */
-	ASSERT(smem_ram_ptable_init(&ram_ptable));
-
     n = ARRAY_SIZE(mdm9625_default_fixed_memory);
 
     last_fixed_addr = mdm9625_default_fixed_memory[n-1].start_addr +
@@ -155,10 +162,10 @@
 
 void *target_get_scratch_address(void)
 {
-	return ((void *)SCRATCH_ADDR);
+	return ((void *) VA((addr_t)SCRATCH_REGION1));
 }
 
 unsigned target_get_max_flash_size(void)
 {
-	return (28 * 1024 * 1024);
+	return (SCRATCH_REGION1_SIZE + SCRATCH_REGION2_SIZE);
 }