
Hi all, I'm trying to power on custom A10 hardware based on Cubieboard1. DDR3 modules used are MT41J64M16 [1] - at least FBGA Code D9MNQ match this hardware.
I'm using mainline U-Boot built using Buildroot with Cubieboard defconfig. Unfortunately U-Boot hangs "randomly" at various locations. Farthest I can get is:
## Booting kernel from Legacy Image at 48000000 ... Image Name: Linux-3.4.103 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4358824 Bytes = 4.2 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ...
This hangs in crc32_no_comp [2]. Although this is not 100% reproducible. Full bootlog [5].
I made tests using various DRAM parameters configurations and those take booting process farthest are with CONFIG_DRAM_CLK=240:
# below gives ~80% chance to get to Verifying Checksum CONFIG_DRAM_CLK=240 CONFIG_DRAM_TIMINGS_DDR3_1066F_1333H=y
# below gives ~85% chance to get to Verifying Checksum CONFIG_DRAM_CLK=240 CONFIG_DRAM_TIMINGS_VENDOR_MAGIC=y
Other configuration like CONFIG_DRAM_CLK=360 give worst results. For 240MHz I was even able get to "Starting kernel ...", but this is sporadic. I disabled in U-Boot as much I could, my defconfig is here [3].
From what I was able to found this is result of incorrect DRAM configuration
[4]. Anyone can confirm that this is correct diagnosis ? If not then what test I can perform to gain better confidence ?
Other question is how to proceed from this point ? I have datasheet for DDR3, but number of possible parameters to tweak seems to be overwhelming. Also as sunxi wiki claim timing from datasheet have to be converted to number of cycles - I'm not sure how to approach that. Is there any guide where to start ? sunxi wiki describe calibration, when it is possible to run system, but what can be done in situation when U-Boot cannot reach that state ?
If anyone more experienced can advise what can be done at this point I would appreciate.
[1] http://www.micron.com/~/media/Documents/Products/Data%20Sheet/DRAM/DDR3/1Gb_... [2] http://git.denx.de/?p=u-boot.git;a=blob;f=lib/crc32.c;h=97592124867abb815d57... [3] https://gist.github.com/pietrushnic/ea41a4ae38b7af8a6fa456113ce19af8 [4] http://www.denx.de/wiki/view/DULG/UBootCrashAfterRelocation [5] https://gist.github.com/pietrushnic/d6a3d6c0b4a20a3226dfb67c4d129142