[U-Boot] AM335x not working anymore

Hannes Petermaier hannes at petermaier.org
Tue Sep 16 14:17:01 CEST 2014


Hi,

i've just pulled newest u-boot and tried it on my custom AM335x board 
without success. It hangs after (successful) running init_s function.

....
Enable clock module - 44e0001c
Enable clock module - 44e000d0
Enable clock module - 44e00028

is the last debug output.
After some time the watchdog is doing his job and restarts again.

Okay ... thinking maybe something had become incompatible with my 
customization ... so let's try the beaglebone board.
Same behaviour :-(

I debugged around and found finally this commit, which breaks the support:
/
//commit id: f0c3a6c4ad09210d5d4aeafe87685ee75e5683d6//
//
//    ARM: SPL: do not set gd again//
////
//    Just before calling board_init_f, crt0.S has already//
//    reserved space for the initial gd on the stack. There//
//    should be no need to allocate it again.//
////
//    cc: Albert ARIBAUD <albert.u.boot at aribaud.net>//
//    Signed-off-by: Jeroen Hofstee <jeroen at myspectrum.nl>/

I have reverted this commit in my branch and everything works fine.
Finally i have to admit, that i do not fully understand whats going on 
there in detail.

What i can see, is that there live more than one instance of the "gd". 
One is setup in arch/arm/lib/cpu/armv7/lowlevel_init.S, another one is 
setup in arch/arm/lib/crt0.S.
Within the "gd-ptr" is loaded to &gdata (gdata __attribute__ 
((section(".data")))

I am a bit confused all about this :-)

Any ideas ?

best regards,
Hannes


More information about the U-Boot mailing list