[U-Boot] [PATCH v2 1/1] meson-gx: reserved memory regions

Heinrich Schuchardt xypron.glpk at gmx.de
Fri Jun 9 20:13:59 UTC 2017


The Odroid C2 has two GiB of memory with two reserved regions.
reg = <0x0 0x0 0x0 0x1000000>;
reg = <0x0 0x10000000 0x0 0x200000>;

Patch
bfcef28ae4cf (arm: add initial support for Amlogic Meson and
ODROID-C2) provided function dram_init_banksize to reserve the
first 16 MiB of RAM for firmware in function dram_init_banksize
in arch/arm/mach-meson/board.c and defined
CONFIG_NR_DRAM_BANKS = 1.

With this patch dram_init_banksize is changed to additionally
reserve the 2MiB region for the ARM Trusted Firmware (BL31).
CONFIG_NR_DRAM_BANKS is set to 2.

Cc: Andreas Färber <afaerber at suse.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
v2:
	Do not change the dtb but the board file as
	suggested by Andreas Färber.
---
 arch/arm/mach-meson/board.c         | 8 +++++---
 include/configs/meson-gxbb-common.h | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-meson/board.c b/arch/arm/mach-meson/board.c
index 273dbeb020..e89c6aace9 100644
--- a/arch/arm/mach-meson/board.c
+++ b/arch/arm/mach-meson/board.c
@@ -37,9 +37,11 @@ int dram_init(void)
 int dram_init_banksize(void)
 {
 	/* Reserve first 16 MiB of RAM for firmware */
-	gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE + (16 * 1024 * 1024);
-	gd->bd->bi_dram[0].size = gd->ram_size - (16 * 1024 * 1024);
-
+	gd->bd->bi_dram[0].start = 0x1000000;
+	gd->bd->bi_dram[0].size  = 0xf000000;
+	/* Reserve 2 MiB for ARM Trusted Firmware (BL31) */
+	gd->bd->bi_dram[1].start = 0x10000000;
+	gd->bd->bi_dram[1].size  = gd->ram_size - 0x10200000;
 	return 0;
 }
 
diff --git a/include/configs/meson-gxbb-common.h b/include/configs/meson-gxbb-common.h
index 89e3807a14..ed55f441a4 100644
--- a/include/configs/meson-gxbb-common.h
+++ b/include/configs/meson-gxbb-common.h
@@ -10,7 +10,7 @@
 
 #define CONFIG_CPU_ARMV8
 #define CONFIG_REMAKE_ELF
-#define CONFIG_NR_DRAM_BANKS		1
+#define CONFIG_NR_DRAM_BANKS		2
 #define CONFIG_ENV_IS_NOWHERE		1
 #define CONFIG_ENV_SIZE			0x2000
 #define CONFIG_SYS_MAXARGS		32
-- 
2.11.0



More information about the U-Boot mailing list