1201_ht_bus0_dev0_fidvid_core.diff
[coreboot.git] / src / sdram / generic_sdram.c
index da14166958044a6759d712cf1d43dd08dd5a3e5f..7591fae9723e8a83d3f6115e6a0a62d11ebe59df 100644 (file)
@@ -1,3 +1,17 @@
+
+#ifndef RAMINIT_SYSINFO
+        #define RAMINIT_SYSINFO 0
+#endif
+
+static inline void print_debug_sdram_8(const char *strval, uint32_t val)
+{
+#if CONFIG_USE_INIT
+        printk_debug("%s%02x\r\n", strval, val);
+#else
+        print_debug(strval); print_debug_hex8(val); print_debug("\r\n");
+#endif
+}
+
 void sdram_no_memory(void)
 {
        print_err("No memory!!\r\n");
@@ -7,31 +21,34 @@ void sdram_no_memory(void)
 }
 
 /* Setup SDRAM */
+#if RAMINIT_SYSINFO == 1
+void sdram_initialize(int controllers, const struct mem_controller *ctrl, void *sysinfo)
+#else
 void sdram_initialize(int controllers, const struct mem_controller *ctrl)
+#endif
 {
        int i;
        /* Set the registers we can set once to reasonable values */
        for(i = 0; i < controllers; i++) {
-#if CONFIG_USE_INIT
-               printk_debug("Ram1.%02x\r\n",i);
-#else
-               print_debug("Ram1.");
-               print_debug_hex8(i);
-               print_debug("\r\n");
-#endif
+               print_debug_sdram_8("Ram1.",i);
+
+       #if RAMINIT_SYSINFO == 1
+               sdram_set_registers(ctrl + i , sysinfo);
+       #else
                sdram_set_registers(ctrl + i);
+       #endif
        }
 
        /* Now setup those things we can auto detect */
        for(i = 0; i < controllers; i++) {
-#if CONFIG_USE_INIT
-                printk_debug("Ram2.%02x\r\n",i);
-#else
-               print_debug("Ram2.");
-               print_debug_hex8(i);
-               print_debug("\r\n");
-#endif
-               sdram_set_spd_registers(ctrl + i);
+                print_debug_sdram_8("Ram2.",i);
+
+       #if RAMINIT_SYSINFO == 1
+               sdram_set_spd_registers(ctrl + i , sysinfo);
+       #else
+                sdram_set_spd_registers(ctrl + i);
+       #endif
+
        }
 
        /* Now that everything is setup enable the SDRAM.
@@ -39,7 +56,12 @@ void sdram_initialize(int controllers, const struct mem_controller *ctrl)
         * we need to it by hand.
         */
        print_debug("Ram3\r\n");
+
+       #if RAMINIT_SYSINFO == 1
+       sdram_enable(controllers, ctrl, sysinfo);
+       #else
        sdram_enable(controllers, ctrl);
+       #endif
 
        print_debug("Ram4\r\n");
 }