[U-Boot-Users] ECC DIMM's with walnut board

Thomas Schäfer
2003-04-28T14:07:54Z

Hi all,

I tried to boot a walnut board with a 256 ECC DIMM using u-boot 0.3.0, but
didn't succeed. When examining the code in the function spd_sdram in
cpu/ppc4xx/spd_sdram, I found that the ECC configuration code is probably
wrong. I suppose, that the following lines

/* now check for ECC ability of module. We only support ECC
* on 32 bit wide devices with 8 bit ECC.
*/
if ( (read_spd(11)==2) && ((read_spd(6)==40) || (read_spd(14)==8)) ){
sdram0_ecccfg=0xf<<SDRAM0_ECCCFG_SHIFT;
ecc_on = 1;

should be replaced with

/* now check for ECC ability of module. We only support ECC
* on 32 bit wide devices with 8 bit ECC.
*/
==> if ( (read_spd(11)==2) && ((read_spd(6)==40) &&
read_spd(14)==8)) ){ <==
sdram0_ecccfg=0xf<<SDRAM0_ECCCFG_SHIFT;
ecc_on = 1;

The reason is, that the if statement in the first code is also true for 72
bit ECC devices. So ECC is enabled for such a device which fails in the
following. The changed code works for me with several DIMM types (32MB
without ECC, 256 MB with ECC and without ECC), but I'm not an expert with
all types of SDRAM and so I'm not sure if I fully understood the code in
that place. Any ideas, comments?

Best regards

Thomas Sch?fer

____________________________________

GIGA STREAM - UMTS Technologies GmbH

Konrad-Zuse-Str. 7
66115 Saarbr?cken

Tel.: + 49 (0)681 / 95916 - 203
Fax: + 49 (0)681 / 95916 - 100
E-mail: tschaefer@giga-stream.de