Ronald G Minnich wrote:
Ben Hewson wrote:
Ok I have been playing around a bit and it appears the first line after the #else is skipped Inserting a blank line is enough to make it work.
oh, bother! I wonder if this was it all along? If it is, then let me know how/where to buy you a drink of your choice :-)
You did a darn good job of root cause analysis, btw.
ron
ok I have now put an extra space after every #else in raminit.c and things are better but still have problems.
the sdram_set_spd_registers() function and I guess by that I mean smbus stuff is causing some problems. the code will sometimes hang there or take 2-3 seconds to complete.
also having problems inside sdram_enable() where the code searches for the number and size of ram modules, again probably the smbus stuff, but just guessing, it sometimes hangs again.
assuming the code makes it past there it can still hang on the ram verify, but never on ram fill. not sure why that is. even if the ram is not initialized properly, the worst that should happen is to get random data back surely ?
assuming it makes it past that it goes all the way to trying to boot my kernel image from the hard drive. it usually takes 3 or 4 resets to get this far.
will have to go through the smbus stuff next as I think the ram is being initialized ok at the moment. does anyone have some good links or documents on spd and smbus ?
anyway thats it for me tonight need to go have some food.