From 3b281aca41dbad65fc0ccc2bed5c2caf684210fc Mon Sep 17 00:00:00 2001
From: =?utf8?q?Marek=20Beh=C3=BAn?= <marek.behun@nic.cz>
Date: Mon, 17 Dec 2018 16:10:09 +0100
Subject: [PATCH] arm: mvebu: turris_mox: Support 1 GB version of Turris Mox
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Use get_ram_size to determine if the RAM size on Turris Mox is 512 MiB
or 1 GiB.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Stefan Roese <sr@denx.de>
---
 arch/arm/mach-mvebu/arm64-common.c   |  4 ++--
 board/CZ.NIC/turris_mox/turris_mox.c | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c
index 47bbf69944..aaf7b7c447 100644
--- a/arch/arm/mach-mvebu/arm64-common.c
+++ b/arch/arm/mach-mvebu/arm64-common.c
@@ -84,7 +84,7 @@ static void a8k_dram_init_banksize(void)
 	}
 }
 
-int dram_init_banksize(void)
+__weak int dram_init_banksize(void)
 {
 	if (CONFIG_IS_ENABLED(ARMADA_8K))
 		a8k_dram_init_banksize();
@@ -94,7 +94,7 @@ int dram_init_banksize(void)
 	return 0;
 }
 
-int dram_init(void)
+__weak int dram_init(void)
 {
 	if (CONFIG_IS_ENABLED(ARMADA_8K)) {
 		gd->ram_size = a8k_dram_scan_ap_sz();
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
index d16d6fd124..65d50a92dd 100644
--- a/board/CZ.NIC/turris_mox/turris_mox.c
+++ b/board/CZ.NIC/turris_mox/turris_mox.c
@@ -41,6 +41,22 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+int dram_init(void)
+{
+	gd->ram_base = 0;
+	gd->ram_size = (phys_size_t)get_ram_size(0, 0x40000000);
+
+	return 0;
+}
+
+int dram_init_banksize(void)
+{
+	gd->bd->bi_dram[0].start = (phys_addr_t)0;
+	gd->bd->bi_dram[0].size = gd->ram_size;
+
+	return 0;
+}
+
 #if defined(CONFIG_OF_BOARD_FIXUP)
 int board_fix_fdt(void *blob)
 {
-- 
2.39.5