summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/olpc/rev_a/auto.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mainboard/olpc/rev_a/auto.c b/src/mainboard/olpc/rev_a/auto.c
index 1e11ec0081..53ac114a63 100644
--- a/src/mainboard/olpc/rev_a/auto.c
+++ b/src/mainboard/olpc/rev_a/auto.c
@@ -81,7 +81,10 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl)
/* get the module bank density, SPD byte 31 */
/* this is multiples of 8 MB */
- val = 128 / 8;
+ /* actually it is 2^x*4, where x is the value you put in */
+ /* for OLPC, set default size */
+ /* dimm size - hardcoded 128Mb */
+ val = 5;
msr.hi &= ~(0xf << CF07_UPPER_D0_SZ_SHIFT);
msr.hi |= (val << CF07_UPPER_D0_SZ_SHIFT);
@@ -94,11 +97,6 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl)
print_debug_hex32(msr.hi);
print_debug("\r\n");
- /* for OLPC, set default size */
- /* dimm size - hardcoded 128Mb */
-// msr.hi &= ~(0xf << CF07_UPPER_D0_SZ_SHIFT);
-// msr.hi |= (5 << CF07_UPPER_D0_SZ_SHIFT);
-
/* this is a standard value, DOES NOT PROBABLY MATCH FROM ABOVE */
/* well, it may be close. It's about 200,000 ticks */
msr.lo = 0x00003000;