ARM: uniphier: make mem_map run-time configurable

Currently, mem_map is hard-coded, and it worked well until the last
SoC. For a planned new SoC, the addresses of peripherals and DRAM
will be changed. Set it up run-time.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
diff --git a/arch/arm/mach-uniphier/arm64/mem_map.c b/arch/arm/mach-uniphier/arm64/mem_map.c
index 35e75e2..7653bd2 100644
--- a/arch/arm/mach-uniphier/arm64/mem_map.c
+++ b/arch/arm/mach-uniphier/arm64/mem_map.c
@@ -7,6 +7,8 @@
 #include <linux/types.h>
 #include <asm/armv8/mmu.h>
 
+#include "../init.h"
+
 static struct mm_region uniphier_mem_map[] = {
 	{
 		.virt = 0x00000000,
@@ -27,3 +29,11 @@
 };
 
 struct mm_region *mem_map = uniphier_mem_map;
+
+void uniphier_mem_map_init(unsigned long dram_base, unsigned long dram_size)
+{
+	uniphier_mem_map[0].size = dram_base;
+	uniphier_mem_map[1].virt = dram_base;
+	uniphier_mem_map[1].phys = dram_base;
+	uniphier_mem_map[1].size = dram_size;
+}