aboutsummaryrefslogtreecommitdiff
path: root/src/northbridge/intel/i945/raminit.h
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2011-02-21 09:39:17 +0000
committerSven Schnelle <svens@stackframe.org>2011-02-21 09:39:17 +0000
commit541269bc85b7d63b7660cd299e70335a52d5fdf4 (patch)
tree5494ba16137a9830a8a5a9bb3ccd5c856f7962e6 /src/northbridge/intel/i945/raminit.h
parent0c8e664713d4dc726bedb5ba0b2e356eed9ae14c (diff)
[i945] Add SPD adress mapping
The current code works only with dual channel if Channel 0 uses SPD address 0x50/0x51, while the second channel has to use 0x52/0x53. For hardware that uses other addresses (like the ThinkPad X60) this means we get only one module running instead of both. This patch adds a second parameter to sdram_initialize, which is an array with 2 * DIMM_SOCKETS members. It should contain the SPD addresses for every single DIMM socket. If NULL is given as the second parameter, the code uses the old addressing scheme. Signed-off-by: Sven Schnelle <svens@stackframe.org> Acked-by: Patrick Georgi <patrick@georgi-clan.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6374 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/northbridge/intel/i945/raminit.h')
-rw-r--r--src/northbridge/intel/i945/raminit.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/northbridge/intel/i945/raminit.h b/src/northbridge/intel/i945/raminit.h
index ede194cce8..4f77e8efe3 100644
--- a/src/northbridge/intel/i945/raminit.h
+++ b/src/northbridge/intel/i945/raminit.h
@@ -63,11 +63,12 @@ struct sys_info {
u8 banks[2 * DIMM_SOCKETS];
u8 banksize[2 * 2 * DIMM_SOCKETS];
+ const u8 *spd_addresses;
} __attribute__ ((packed));
void receive_enable_adjust(struct sys_info *sysinfo);
-void sdram_initialize(int boot_path);
+void sdram_initialize(int boot_path, const u8 *sdram_addresses);
unsigned long get_top_of_ram(void);
int fixup_i945_errata(void);
void udelay(u32 us);