[coreboot] v2: Detection of sdram densities.
corey.osgood at gmail.com
Fri Sep 5 16:39:02 CEST 2008
On Fri, Sep 5, 2008 at 8:09 AM, Joseph Smith <joe at settoplinux.org> wrote:
> On Thu, 4 Sep 2008 23:27:50 -0400, "Corey Osgood" <corey.osgood at gmail.com>
>> On Wed, Sep 3, 2008 at 1:26 PM, Mats Erik Andersson
>> <mats.andersson at gisladisker.se> wrote:
>>> Hello again,
>>> I have been experimenting with an algorithm to detect
>>> and register with the northbridge i440bx the correct
>>> amount of sdram present. A C-coded version is appended
>>> to this message. Feel free to comment on the method.
>>> In the actually working code, I had to split the
>>> algorithm into a lower and an upper part, in order
>>> not to run out of internal registers under romcc,
>>> but the idea remains the same.
>>> Since there are also some later stages where I have
>>> not understood how the previous author hard coded
>>> a single 64MB bank, I presently achieve a running
>>> system only when I dynamically detect a distribution
>>> identical to what was earlier hard coded.
>>> My detection works with any combination of 0MB and
>>> 64MB in two rows for DIMM0 and DIMM1.
>>> Question: In case an sdram device has rows of mixed
>>> sizes, can one depend on the larger density being
>>> in row zero, and the smaller content in row one?
>> Yes. The spd spec assumes the larger row will be row 0, any stick that
>> didn't wouldn't follow the standard. At least, that was my
>> understanding of it.
> This can get a little confusing, when you are talking about rows, do you
> mean banks? Or actuall sdram slots?
Banks, I assume, all this terminology gets me confuseded. I'm pretty
sure Mats was talking about each side of the slot/ram pcb.
> As far as it goes with rows/banks, most intel boards only support
> asymmetrical sdrams so if the dimm has two sides the second side has to
> equal the first side.
You mean "only support symmetrical sdrams". IIRC, i810 supports
asymmetrical dimms, but I can't remember...
> As far as sdram slots any combination should work as
> long as it follows the the northbridge criteria. You can look at the i830
> raminit.c, it has a pretty clever way to detect dimms, and it works every
> time no matter what the combination. By the way Uwe was the original author
> of the i440bx code. Hope that helps.
> Joseph Smith
More information about the coreboot