intel: common: Let mainboard supplement FSP memory info

Since the FSP memory info HOB does not return all the data that we
need about a DIMM add a weak function that will allow the mainboard
to supplement the generated memory_info structure.

Ideally this would not be necessary but until FSP returns the
module part number we need this.

BUG=chrome-os-partner:42975, chrome-os-partner:42561
BRANCH=none
TEST=run "mosys memory spd print all" on glados

Change-Id: Ic6d0ee0a31d23efcf7e7d7f18a74e944e09e7b46
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 34ad7f1906ba526e52d38d5a6bce7b88b83f0c13
Original-Change-Id: I8509c5c627c1605894473fdea567e7f7ede08cf9
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/286876
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/11033
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/soc/intel/common/romstage.c b/src/soc/intel/common/romstage.c
index 99ac890..7a05e17 100644
--- a/src/soc/intel/common/romstage.c
+++ b/src/soc/intel/common/romstage.c
@@ -363,6 +363,10 @@
 						MEMORY_BUS_WIDTH_128;
 					break;
 				}
+
+				/* Add any mainboard specific information */
+				mainboard_add_dimm_info(params, mem_info,
+							channel, dimm, index);
 				index++;
 			}
 		}
@@ -371,6 +375,15 @@
 	printk(BIOS_DEBUG, "%d DIMMs found\n", mem_info->dimm_cnt);
 }
 
+/* Add any mainboard specific information */
+__attribute__((weak)) void mainboard_add_dimm_info(
+	struct romstage_params *params,
+	struct memory_info *mem_info,
+	int channel, int dimm, int index)
+{
+	printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__);
+}
+
 /* Get the memory configuration data */
 __attribute__((weak)) int mrc_cache_get_current(
 	const struct mrc_saved_data **cache)