[coreboot] ram init help on the i82830
joe at settoplinux.org
Wed May 28 13:53:18 CEST 2008
On Wed, 28 May 2008 00:04:14 -0400, "Corey Osgood" <corey.osgood at gmail.com>
> Actually, lets get some more debugging info, in case that doesn't work.
> quick question though:
> 60: 08 10 12 12 12 12 00 00 00 00 00 00 00 00 00 00
> Are 0x64 and 0x65 also DRBs? Or they just happen to also be 0x12?
Ah, good catch. The datasheet says there is only 4 registers, and the
i82830 only supports 2 dimms, but every northbridge dump (original bios's)
I have done those two extra un-documented DRB registers are calculated. I
think these were a design glitch, anyhow way back I discovered the system
would not boot unless these were set. So in raminit I have this:
/* We need to set the highest DRB value to 0x64 and 0x65.
* These are supposed to be "Reserved" but memory will
* not initialize properly if we don't.
value = pci_read_config8(ctrl->d0, DRB + 3);
pci_write_config8(ctrl->d0, DRB + 4, value);
pci_write_config8(ctrl->d0, DRB + 5, value);
> Either way, this should work, but it will only work for up to 2 sticks.
I've gotten rid of the dual sided junk, I'm about 98% sure
> it's not necessary, so it now just reads the start of the dimm (instead
of row) and reads from that. Please try a memtest payload, if this > boots,
just to make sure it's working right.
I will try it out, and report back. Thanks for your help :-)
More information about the coreboot