[coreboot-gerrit] New patch to review for coreboot: glados: Add SPD manufacturer and part number

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Jul 22 21:11:30 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11034

-gerrit

commit 6a1d33ed5d786993e242b2d66a386cc39e9309d5
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Mon Jul 20 16:59:20 2015 -0700

    glados: Add SPD manufacturer and part number
    
    The FSP memory info hob does not return this data so we need
    to supply it from the SPD included with the mainboard.
    
    BUG=chrome-os-partner:42975, chrome-os-partner:42561
    BRANCH=none
    TEST=execute "mosys memory spd print all" on glados
    
    Change-Id: Idfb71d36d1f8163d0daceb68675b10194db7cde7
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 7feece45900e5166864927047ad3ab7b997f8258
    Original-Change-Id: Id2bc544ac5faf53f0f676fe132fea1db5640a401
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/286877
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/google/glados/romstage.c | 24 ++++++++++++++++--------
 src/mainboard/google/glados/spd/spd.h  |  1 +
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/mainboard/google/glados/romstage.c b/src/mainboard/google/glados/romstage.c
index afcad8c..4d9aaf4 100644
--- a/src/mainboard/google/glados/romstage.c
+++ b/src/mainboard/google/glados/romstage.c
@@ -21,6 +21,7 @@
 
 #include <cbfs.h>
 #include <console/console.h>
+#include <memory_info.h>
 #include <string.h>
 #include <ec/google/chromeec/ec.h>
 #include <soc/pei_data.h>
@@ -45,14 +46,6 @@ void mainboard_memory_init_params(struct romstage_params *params,
 				(UINT32)(params->pei_data->spd_data[0][0]);
 		memory_params->MemorySpdPtr10 =
 				(UINT32)(params->pei_data->spd_data[1][0]);
-		printk(BIOS_SPEW, "0x%08x: SpdDataBuffer_0_0\n",
-				memory_params->MemorySpdPtr00);
-		printk(BIOS_SPEW, "0x%08x: SpdDataBuffer_0_1\n",
-				memory_params->MemorySpdPtr01);
-		printk(BIOS_SPEW, "0x%08x: SpdDataBuffer_1_0\n",
-				memory_params->MemorySpdPtr10);
-		printk(BIOS_SPEW, "0x%08x: SpdDataBuffer_1_1\n",
-				memory_params->MemorySpdPtr11);
 	}
 	memcpy(memory_params->DqByteMapCh0, params->pei_data->dq_map[0],
 			sizeof(params->pei_data->dq_map[0]));
@@ -69,3 +62,18 @@ void mainboard_memory_init_params(struct romstage_params *params,
 	memory_params->MemorySpdDataLen = SPD_LEN;
 	memory_params->DqPinsInterleaved = FALSE;
 }
+
+void mainboard_add_dimm_info(struct romstage_params *params,
+			     struct memory_info *mem_info,
+			     int channel, int dimm, int index)
+{
+	/* Set the manufacturer */
+	memcpy(&mem_info->dimm[index].mod_id,
+	       &params->pei_data->spd_data[channel][dimm][SPD_MANU_OFF],
+	       sizeof(mem_info->dimm[index].mod_id));
+
+	/* Set the module part number */
+	memcpy(mem_info->dimm[index].module_part_number,
+	       &params->pei_data->spd_data[channel][dimm][SPD_PART_OFF],
+	       sizeof(mem_info->dimm[index].module_part_number));
+}
diff --git a/src/mainboard/google/glados/spd/spd.h b/src/mainboard/google/glados/spd/spd.h
index abb964e..f1b733f 100644
--- a/src/mainboard/google/glados/spd/spd.h
+++ b/src/mainboard/google/glados/spd/spd.h
@@ -32,5 +32,6 @@
 #define SPD_BUS_DEV_WIDTH	8
 #define SPD_PART_OFF		128
 #define  SPD_PART_LEN		18
+#define SPD_MANU_OFF		148
 
 #endif



More information about the coreboot-gerrit mailing list