[U-Boot] PPC440GX: DDR ECC init time.

Stefan Roese sr at denx.de
Mon Sep 7 16:23:22 CEST 2009


On Monday 07 September 2009 15:57:19 Wouter Eckhardt wrote:
> Well, I've been trying to work this into my U-Boot. I haven't succeeded
> so far. Basically, the cache stuff in 4xx_spd_ddr2.c consists of setting
> up a TLB without the CACHE_INHIBITED bit and then using some cache
> instructions to fill up memory. That's what I've been trying to do, but
> my call to change_tlb() hangs because of the invalidate_dcache() call
> (bad trap exceptions). What could be going on here?
> 
> I'll try and set up the DDR TLB dynamically instead of statically (in
> init.S) and see if I can get that working.

Yes. That's what I would do as well.
 
> By the way, I've also stumbled upon some other VERY strange behavior. If
> I leave the ecc_init() in its original state and just add in a puts(" ")
> call at the beginning of the function, ECC generation is finished VERY
> quickly. What influence could adding the puts() call possibly have on
> the speed of generating ECC values in DDR?

That's strange indeed. I suspect a problem in the code then. Try looking at 
the generated assembler code and/or debug with an BDI2000/3000.

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de


More information about the U-Boot mailing list