On Fri, 30 May 2008 00:54:01 -0400, "Corey Osgood" corey.osgood@gmail.com wrote:
It's double sided?
Yes, remember the slot is DIMMO and the single-sided onboard is DIMM1
512MB PC133 so-dimm DRB 0x60 = 0x08 x 32 = 256MB DRB 0x61 = 0x10 x 32 = 512MB
64MB PC133 single-sided onboard memory DRB 0x62 = 0x12 x 32 = 576MB DRB 0x63 = 0x12 x 32 = 576MB
60: 08 10 12 12 12 12 00 00 00 00 00 00 00 00 00 00
So, I have a few questions abot the read32(). Is this supposed to just read32() the begining (+ addr_offset) of each dimm???
Or, is it to do a read32() at the begining and then another read32() at the end???
Or, is it just supposed to do a read32() the begining (+ addr_offset) of each side of each dimm???
I'm really confused about this part, is there any jedec docs I can read on how this is supposed to work???
On Fri, May 30, 2008 at 11:00 AM, Joseph Smith joe@settoplinux.org wrote:
On Fri, 30 May 2008 00:54:01 -0400, "Corey Osgood" corey.osgood@gmail.com wrote:
It's double sided?
Yes, remember the slot is DIMMO and the single-sided onboard is DIMM1
512MB PC133 so-dimm DRB 0x60 = 0x08 x 32 = 256MB DRB 0x61 = 0x10 x 32 = 512MB
64MB PC133 single-sided onboard memory DRB 0x62 = 0x12 x 32 = 576MB DRB 0x63 = 0x12 x 32 = 576MB
60: 08 10 12 12 12 12 00 00 00 00 00 00 00 00 00 00
So, I have a few questions abot the read32(). Is this supposed to just read32() the begining (+ addr_offset) of each dimm???
Or, is it to do a read32() at the begining and then another read32() at the end???
Or, is it just supposed to do a read32() the begining (+ addr_offset) of each side of each dimm???
I'm really confused about this part, is there any jedec docs I can read on how this is supposed to work???
The SDRAM specification, from either Intel or JEDEC, explains it. But all you really need to know is, you have to do a read from the beginning of the dimm at each step, except of course for MRS when you read from the addr_offset.
-Corey
-- Thanks, Joseph Smith Set-Top-Linux www.settoplinux.org
Well, Just for the heck of it I hardcoded the do_ram_command() and then I had to hardcode set_dram_row_attributes() just to see if I could get it to boot with the 512MB chip. Horray, it boots! But now there is a very strange Kernel panic everytime I try to boot Linux (see attached bootlog):
BUG: unable to handle kernel paging request at virtual address b71f2410
Well at least I now have some hope, and something to work towards:-)