From e47043aea3853a74a9aa5726a1faa916d7462ab7 Mon Sep 17 00:00:00 2001 From: Jason Cooper Date: Wed, 4 Jun 2014 13:41:20 +0000 Subject: [PATCH] ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size The OpenBlocks AX3-4 has a non-DT bootloader. It also comes with 1GB of soldered on RAM, and a DIMM slot for expansion. Unfortunately, atags_to_fdt() doesn't work in big-endian mode, so we see the following failure when attempting to boot a big-endian kernel: 686 slab pages 17 pages shared 0 pages swap cached [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name Kernel panic - not syncing: Out of memory and no killable processes... CPU: 1 PID: 351 Comm: kworker/u4:0 Not tainted 3.15.0-rc8-next-20140603 #1 [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x78/0x94) [] (dump_stack) from [] (panic+0x90/0x21c) [] (panic) from [] (out_of_memory+0x320/0x340) [] (out_of_memory) from [] (__alloc_pages_nodemask+0x874/0x930) [] (__alloc_pages_nodemask) from [] (handle_mm_fault+0x744/0x96c) [] (handle_mm_fault) from [] (__get_user_pages+0xd0/0x4c0) [] (__get_user_pages) from [] (get_arg_page+0x54/0xbc) [] (get_arg_page) from [] (copy_strings+0x278/0x29c) [] (copy_strings) from [] (copy_strings_kernel+0x20/0x28) [] (copy_strings_kernel) from [] (do_execve+0x3a8/0x4c8) [] (do_execve) from [] (____call_usermodehelper+0x15c/0x194) [] (____call_usermodehelper) from [] (ret_from_fork+0x14/0x3c) CPU0: stopping CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc8-next-20140603 #1 [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x78/0x94) [] (dump_stack) from [] (handle_IPI+0x138/0x174) [] (handle_IPI) from [] (armada_370_xp_handle_irq+0xb0/0xcc) [] (armada_370_xp_handle_irq) from [] (__irq_svc+0x40/0x50) Exception stack(0xc0b6bf68 to 0xc0b6bfb0) bf60: e9fad598 00000000 00f509a3 00000000 c0b6a000 c0b724c4 bf80: c0b72458 c0b6a000 00000000 00000000 c0b66da0 c0b6a000 00000000 c0b6bfb0 bfa0: c027bb94 c027bb24 60000313 ffffffff [] (__irq_svc) from [] (cpu_startup_entry+0x54/0x214) [] (cpu_startup_entry) from [] (start_kernel+0x318/0x37c) [] (start_kernel) from [<00208078>] (0x208078) ---[ end Kernel panic - not syncing: Out of memory and no killable processes... A similar failure will also occur if ARM_ATAG_DTB_COMPAT isn't selected. Fix this by setting a sane default (1 GB) in the dts file. Signed-off-by: Jason Cooper Tested-by: Kevin Hilman Cc: #v3.13+ Signed-off-by: Arnd Bergmann --- arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index e5c6a0492ca0..4e5a59ee1501 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts @@ -25,7 +25,7 @@ memory { device_type = "memory"; - reg = <0 0x00000000 0 0xC0000000>; /* 3 GB */ + reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */ }; soc { -- 2.20.1