[PATCH] ARM: AM335x: Beaglebone: Fix memory setup for Beaglebone black
Philipp Zabel
p.zabel at pengutronix.de
Mon Jun 16 08:13:54 PDT 2014
From: Philipp Zabel <philipp.zabel at gmail.com>
Commit 0d6392de4ad824a6553c0e3e3e18edef689a7c85 introduced a stripped
down device tree used for both white and black Beaglebone variants
that included the 256 MiB memory node from am335x-bone-common.dtsi.
This leads to the following error in the MLO:
mmu: Critical Error: Can't request SDRAM region for ttb at 9fff4000
This patch removes the (for the Beaglebone black) invalid memory size
from the common device tree and instead registers the memory bank
manually in the board file.
Signed-off-by: Philipp Zabel <philipp.zabel at gmail.com>
---
arch/arm/boards/beaglebone/board.c | 17 +++++++++++++++++
arch/arm/dts/am335x-bone-common.dtsi | 5 -----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/arch/arm/boards/beaglebone/board.c b/arch/arm/boards/beaglebone/board.c
index 993d05b..3042189 100644
--- a/arch/arm/boards/beaglebone/board.c
+++ b/arch/arm/boards/beaglebone/board.c
@@ -51,6 +51,23 @@ static int beaglebone_coredevice_init(void)
}
coredevice_initcall(beaglebone_coredevice_init);
+static int beaglebone_mem_init(void)
+{
+ uint32_t sdram_size;
+
+ if (!of_machine_is_compatible("ti,am335x-bone"))
+ return 0;
+
+ if (is_beaglebone_black())
+ sdram_size = SZ_512M;
+ else
+ sdram_size = SZ_256M;
+
+ arm_add_mem_device("ram0", 0x80000000, sdram_size);
+ return 0;
+}
+mem_initcall(beaglebone_mem_init);
+
static int beaglebone_devices_init(void)
{
int black;
diff --git a/arch/arm/dts/am335x-bone-common.dtsi b/arch/arm/dts/am335x-bone-common.dtsi
index 00271c4..4cf7fdb 100644
--- a/arch/arm/dts/am335x-bone-common.dtsi
+++ b/arch/arm/dts/am335x-bone-common.dtsi
@@ -17,11 +17,6 @@
};
};
- memory {
- device_type = "memory";
- reg = <0x80000000 0x10000000>; /* 256 MB */
- };
-
leds {
pinctrl-names = "default";
pinctrl-0 = <&user_leds_s0>;
--
2.0.0
More information about the barebox
mailing list