
Hello,
the attached patch fixes a problem with the SDRAM init code for IceCube (Lite5xxx) I experienced when using LOWBOOT images. In my case U-Boot would always die when doing the first access to SDRAM after initialization which is usually done when trying to find out how big the SDRAM is.
I found that no sync instructions where used the synchronize the program flow during SDRAM initialization. This is fixed now. Additionally, I cleaned up the code and moved all the SDRAM chip specific constants into separate include files. The SDRAM initilization itself should be better readable now, too, by merging the DDR / SDR and the MGT5100 / MPC5200 code as cleanly as possible.
The code was tested on a Lite5200 (16 MB Flash, LOWBOOT), a Lite5200DDR (16 MB Flash, LOWBOOT) and a Lite5100 (8MB Flash).
Regards Mark Jonas
* Patch by Mark Jonas, 13 Apr 2004: - Add sync instructions to IceCube SDRAM init code - Move SDRAM chip constants into seperate include files - Unify DDR and SDR initialization code
icecube.c | 226 ++++++++++++++++++++++++++++++++++------------------- mt46v16m16-75.h | 37 ++++++++ mt48lc16m16a2-75.h | 43 ++++++++++ 3 files changed, 228 insertions(+), 78 deletions(-)