On Fri, Sep 5, 2008 at 8:09 AM, Joseph Smith joe@settoplinux.org wrote:
On Thu, 4 Sep 2008 23:27:50 -0400, "Corey Osgood" corey.osgood@gmail.com wrote:
On Wed, Sep 3, 2008 at 1:26 PM, Mats Erik Andersson mats.andersson@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...
-Corey
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.
-- Thanks, Joseph Smith Set-Top-Linux www.settoplinux.org