nb/intel/sandybridge/raminit: Separate Sandybridge and Ivybridge
Add custom files for Sandybridge and IvyBridge functions.
Move only the minimal required functions into separate files.
Both files' functions are going to call raminit_common functions.
No functionality is changed.
Sandybridge code path tested on Lenovo T420.
Change-Id: I1b1dfbd0857b59d3ae4392b73c033ee7a5aed243
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/17605
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
diff --git a/src/northbridge/intel/sandybridge/raminit_common.h b/src/northbridge/intel/sandybridge/raminit_common.h
index 4655ed5..7aec735 100644
--- a/src/northbridge/intel/sandybridge/raminit_common.h
+++ b/src/northbridge/intel/sandybridge/raminit_common.h
@@ -76,6 +76,7 @@
typedef struct ramctr_timing_st {
u16 spd_crc[NUM_CHANNELS][NUM_SLOTS];
int mobile;
+ int sandybridge;
u16 cas_supported;
/* tLatencies are in units of ns, scaled by x256 */
@@ -176,5 +177,10 @@
void final_registers(ramctr_timing * ctrl);
void restore_timings(ramctr_timing * ctrl);
-#endif
+int try_init_dram_ddr3_sandy(ramctr_timing *ctrl, int fast_boot,
+ int s3_resume, int me_uma_size);
+int try_init_dram_ddr3_ivy(ramctr_timing *ctrl, int fast_boot,
+ int s3_resume, int me_uma_size);
+
+#endif