From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Erickson Date: Tue, 08 Sep 2009 08:19:36 -0700 Subject: [U-Boot] PPC440GX: DDR ECC init time. In-Reply-To: <200909081149.44534.sr@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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