Make RAM init on i945GC work
authorPatrick Georgi <patrick.georgi@coresystems.de>
Tue, 20 Apr 2010 15:52:57 +0000 (15:52 +0000)
committerPatrick Georgi <patrick.georgi@coresystems.de>
Tue, 20 Apr 2010 15:52:57 +0000 (15:52 +0000)
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5462 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/northbridge/intel/i945/raminit.c

index 906c8f0dc1240d7f888defbdea17558c95f4e801..db24c93a0d3d0d5c8d7c1b63cf925f552352a362 100644 (file)
@@ -2048,10 +2048,6 @@ static void sdram_program_memory_frequency(struct sys_info *sysinfo)
 {
        u32 clkcfg;
        u8 reg8;
-       u8 offset = 0;
-#ifdef CHIPSET_I945GM
-       offset++;
-#endif
 
        printk(BIOS_DEBUG, "Setting Memory Frequency... ");
 
@@ -2073,9 +2069,9 @@ static void sdram_program_memory_frequency(struct sys_info *sysinfo)
        }
 
        switch (sysinfo->memory_frequency) {
-       case 400: clkcfg |= ((1+offset) << 4); break;
-       case 533: clkcfg |= ((2+offset) << 4); break;
-       case 667: clkcfg |= ((3+offset) << 4); break;
+       case 400: clkcfg |= (2 << 4); break;
+       case 533: clkcfg |= (3 << 4); break;
+       case 667: clkcfg |= (4 << 4); break;
        default: die("Target Memory Frequency Error");
        }
 
@@ -2187,7 +2183,7 @@ static void sdram_program_clock_crossing(void)
 
                0x10080201, 0x00000000, /* DDR400 FSB533 */
                0x00100401, 0x00000000, /* DDR533 FSB533 */
-               0xffffffff, 0xffffffff, /*  nonexistant  */
+               0x00010402, 0x00000000, /* DDR667 FSB533 - fake values */
 
                0xffffffff, 0xffffffff, /*  nonexistant  */
                0xffffffff, 0xffffffff, /*  nonexistant  */
@@ -2209,7 +2205,7 @@ static void sdram_program_clock_crossing(void)
 
                0x00010800, 0x00000402, /* DDR400 FSB533 */
                0x01000400, 0x00000200, /* DDR533 FSB533 */
-               0xffffffff, 0xffffffff, /*  nonexistant  */
+               0x00020904, 0x00000000, /* DDR667 FSB533 - fake values */
 
                0xffffffff, 0xffffffff, /*  nonexistant  */
                0xffffffff, 0xffffffff, /*  nonexistant  */