[coreboot] ASUS A8V-E Deluxe RAM initialization issues AND dual-core success story

Rudolf Marek r.marek at assembler.cz
Sun Oct 27 00:14:07 CEST 2013


> Anything I can do to debug? Do you have an idea?

Yes it looks like memory is setup in wrong way. I did the port for ASUS A8V-E SE 
board. Possible reasons:

0) something is wrong with placement of dimms

I remember sometimes memory did not work well if in second channel, sometimes 
even the board had it labeled vice versa... Try to put dimm in different slot. 
It could fix single dimm issues

1) something is wrong with dualchannel setup

This is usually sign that the following table is wrong:

You can try to modify it like this as it is on A8V-E SE because the deluxe 
version seems wrong to me (you have only 4 dimm slots)

         static const uint16_t spd_addr[] = {
                 // Node 0
                 DIMM0, DIMM2, 0, 0,
                 0, 0, 0, 0,
                 // Node 1
                 DIMM1, DIMM3, 0, 0,
                 0, 0, 0, 0,
         };

It tells that DIMM0 with i2c address 0x50 is first dimm of channel A and second 
dimm of channel A is 0x52. The channel B is 0x51 and 0x53. You could try to use

modprobe i2c-viapro
modprobe i2c-dev
i2cdetect -l
(now select right bus)
i2cdetect 0

To see if you plug single dimm into diffrent slots how this number changes.

if above does not work it could be:

                 // Node 0
                 DIMM0, DIMM1, 0, 0,
                 0, 0, 0, 0,
                 // Node 1
                 DIMM2, DIMM3, 0, 0,
                 0, 0, 0, 0,

But it is not so likely. You will need to use the above i2cdetec trick to see 
how it maps to i2c addresses.

2) something is wrong with memory init

lets wait if above helps, I suspect it should.

> Some notes:
> - 2x1GB starts up with the vendor BIOS but randomly hangs at booting
> linux (kernel panic or so)

Looks like wrong memory setup too.

> - 1x1GB works with coreboot and vendor BIOS
> - Replacing those 1GB ECC modules (Corsair/Samsung chips) with 512MB ECC
> modules (HP/Samsung or MDT/???) leads to the same results (2 modules
> fail with coreboot; vendor BIOS unknown)
> - 2x512MB non-ECC works!
>
> Why are only 2 modules with ECC failing to boot, but not 2 non-ECC? I
> tried commenting out the contents of hw_enable_ecc() in
> src/northbridge/amd/amdk8/raminit.c but that didn't change anything.
> memtest86+ even still detected ECC (with only one module).
>
> Apart from that I got a little success story: the VIA K8T890 chipset on
> this mainboard had a bug in it's first revision, making it incompatible
> with dual-core CPUs. I was curious if coreboot also had this limitation,
> so I bought a cheap dual-core Opteron 180 and tested it. Vendor BIOS:
> one core detected in linux. coreboot: two cores!!

Yes because I was not aware of this problem while implementing this chipset 
support 6? years ago. Do you have any details?

> I'm not sure if it's stable because I had two hang-ups last weekend, but
> that was probably because I forgot to put in the GPU fan plug.. :)
> If anyone knows the details of this chipset bug I'd be very interested.
> By the way, the RAM issue is the same with a single-core Athlon 64.

I see I have also no clue.

Thanks
Rudolf

>
> Thanks,
> Michael
>
>
>



More information about the coreboot mailing list