summaryrefslogtreecommitdiff
path: root/src/sdram/generic_sdram.c
diff options
context:
space:
mode:
authorEric Biederman <ebiederm@xmission.com>2003-07-21 20:13:45 +0000
committerEric Biederman <ebiederm@xmission.com>2003-07-21 20:13:45 +0000
commit2c018fba95a5f40c4eaaa20421e8c893dffdb62e (patch)
tree3b6ecc6eb72d145dd70bb549fe0130370d7e40fb /src/sdram/generic_sdram.c
parent6d4512cdf976fc071720dbec686cf8a1a40f1db0 (diff)
- First pass at s2880 support.
- SMP cleanups (remove SMP only use CONFIG_SMP) - Minor tweaks to romcc to keep it from taking forever compiling - failover fixes - Get a good implementation of k8_cpufixup and sizeram for the opteron git-svn-id: svn://svn.coreboot.org/coreboot/trunk@998 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/sdram/generic_sdram.c')
-rw-r--r--src/sdram/generic_sdram.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/sdram/generic_sdram.c b/src/sdram/generic_sdram.c
index 7bd801a926..9ec8122afe 100644
--- a/src/sdram/generic_sdram.c
+++ b/src/sdram/generic_sdram.c
@@ -7,22 +7,31 @@ void sdram_no_memory(void)
}
/* Setup SDRAM */
-void sdram_initialize(const struct mem_controller *ctrl)
+void sdram_initialize(int controllers, const struct mem_controller *ctrl)
{
- print_debug("Ram1\r\n");
+ int i;
/* Set the registers we can set once to reasonable values */
- sdram_set_registers(ctrl);
+ for(i = 0; i < controllers; i++) {
+ print_debug("Ram1.");
+ print_debug_hex8(i);
+ print_debug("\r\n");
+ sdram_set_registers(ctrl + i);
+ }
- print_debug("Ram2\r\n");
/* Now setup those things we can auto detect */
- sdram_set_spd_registers(ctrl);
+ for(i = 0; i < controllers; i++) {
+ print_debug("Ram2.");
+ print_debug_hex8(i);
+ print_debug("\r\n");
+ sdram_set_spd_registers(ctrl + i);
+ }
- print_debug("Ram3\r\n");
/* Now that everything is setup enable the SDRAM.
* Some chipsets do the work for use while on others
* we need to it by hand.
*/
- sdram_enable(ctrl);
+ print_debug("Ram3\r\n");
+ sdram_enable(controllers, ctrl);
print_debug("Ram4\r\n");
}