summaryrefslogtreecommitdiff
path: root/src/mainboard/google/glados
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2015-07-20 16:59:20 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-07-23 16:42:35 +0200
commit82286219557baa0a46ab110d8f21afc1980553ac (patch)
treead7b40f132c6af1c24c17e41fc7d66e9f475d950 /src/mainboard/google/glados
parent46a2c77aaf6e2a74cffbe6ebcfed568a1277f738 (diff)
downloadcoreboot-82286219557baa0a46ab110d8f21afc1980553ac.tar.xz
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@chromium.org> Original-Commit-Id: 7feece45900e5166864927047ad3ab7b997f8258 Original-Change-Id: Id2bc544ac5faf53f0f676fe132fea1db5640a401 Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/286877 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/11034 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/mainboard/google/glados')
-rw-r--r--src/mainboard/google/glados/romstage.c24
-rw-r--r--src/mainboard/google/glados/spd/spd.h1
2 files changed, 17 insertions, 8 deletions
diff --git a/src/mainboard/google/glados/romstage.c b/src/mainboard/google/glados/romstage.c
index afcad8cad7..4d9aaf4208 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 abb964ed82..f1b733f756 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