
Hi!
maybe this helps? I just stepped into same problem on an am335x, but had not yet time to look deeper in it ...
I did not try the cleanup_before_linux(), but "dcache off" should have same effect, right?
Hmm.. not exactly... cleanup_before_linux() does also disable the mmu.
Seems like I found the reason. CONFIG_THUMB_BUILD was set, and that causes problems in put_dec_trunc() function (and elsewhere).
commit 1602a502985d42bafb58cc6862b469ac03a7d634 Author: Pavel pavel@ucw.cz Date: Wed Apr 8 14:08:18 2015 +0200
Disable thumb build; it breaks put_dec_trunc() function on toolchain from eldk-5.6 and eldk-5.4, and some other place, too.
Signed-off-by: Pavel Machek pavel@denx.de
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h index 6d93472..6608d7d 100644 --- a/include/configs/socfpga_common.h +++ b/include/configs/socfpga_common.h @@ -11,7 +11,7 @@ /* Virtual target or real hardware */ #undef CONFIG_SOCFPGA_VIRTUAL_TARGET
-#define CONFIG_SYS_THUMB_BUILD +#undef CONFIG_SYS_THUMB_BUILD
#define CONFIG_SOCFPGA