diff options
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/olpc/rev_a/auto.c | 10 |
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; |