
Hello Reinhard,
Reinhard Meyer wrote:
it seems, that with relocation enabled, some data does not seem to get initialized properly:
w/o relocation:
mmci mci: setting clock 194000 Hz, block size 512 mci: setting clock 194000 Hz, block size 512 mci: setting clock 194000 Hz, block size 512 mci: setting clock 194000 Hz, block size 512 mci: setting clock 24832000 Hz, block size 512 Device: mci Manufacturer ID: 89 OEM: 303 Name: NCard Tran Speed: 25000000 Rd Block Len: 512 SD version 2.0 High Capacity: No Capacity: 2006974464 Bus Width: 4-bit
with relocation:
mmci mci: setting clock 0 Hz, block size 512
Hmm.. mabe something with at91_clock_init()
This is called in arch_cpu_init(), and at the end, clocks are stored in
arch/arm/cpu/arm926ejs/at91/clock.c
in "static unsigned long" vars ... as this code runs before relocation, this seems to me as it could be the reason for your problems ... but I can;t try it here ... can you check this?
mci: setting clock 0 Hz, block size 512 mci: setting clock 0 Hz, block size 512 mci: setting clock 0 Hz, block size 512 mci: setting clock 0 Hz, block size 512 Device: mci Manufacturer ID: 89 OEM: 303 Name: NCard Tran Speed: 25000000 Rd Block Len: 512 SD version 2.0 High Capacity: No Capacity: 2006974464 Bus Width: 4-bit
Do I understand right what the required changes are:
- change dram_init
Yep.
- make sure TEXT_BASE is correct as to where u-boot is loaded
by a preloader and is NOT pointing near top of RAM.
Yep.
- I do not have a board specific .lds - should I now have one?
No.
bye, Heiko