On 9/8/09 2:49 AM, Stefan Roese wrote: > On Tuesday 08 September 2009 11:19:41 Felix Radensky wrote: >> Not exactly related to the subject under discussion, but I thought I'd >> mention it. >> >> I had problems with ecc_init() on a custom 460EX board with soldered DDR2. >> Right after ecc_init() u-boot was crashing on PLB access. I've modified >> the code >> to use program_ecc_addr() instead of ecc_init(), and problem was solved. >> I was >> wandering why use two different ECC initialization routines for SPD and >> soldered >> cases, when program_ecc_addr() can do the job in both cases, while >> ecc_init() >> apparently has issues ? > > Most likely historic reasons. I added Grant Erickson to Cc, IIRC he > added/tested this ecc_init() code. Maybe he can shed some more light into > this. > > But from looking at it, it seems to me that we should get rid of one of those > routines. program_ecc_addr() seems more generic to me. Patches welcome. ;) > > Thanks. > > Cheers, > Stefan
Felix: Stefan is correct. IIRC, bits of the various 4xx/44x RAM initialization functions were evolving in parallel at that time. I believe I used ecc_init at the time because it was more fitting to the soldered DDR2 405EXr board I was using vs. program_ecc_addr which was more tuned to 440, SPD socketed RAM. Looking at the code today, that no longer appears to be the case. So, I agree with Stefan. For the present, these implementations should be merged and unified and any duplicate code eliminated. Regards, Grant _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot