diff options
author | Patrick Rudolph <siro@das-labor.org> | 2016-02-29 18:21:00 +0100 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-03-03 20:42:00 +0100 |
commit | 076915955fa3bf05a1c324327827522063b9f757 (patch) | |
tree | 7efb31f6900ceebb023bf649efb03159d8cdeb43 /src/device | |
parent | c3a08a9d5e47f252b3f7b19bb153054eab35674e (diff) |
src/device/dram/ddr3: Parse additional information
Parse manufacturer id and ASCII serial.
Required for SMBIOS type 17 field.
Change-Id: I710de1a6822e4777c359d0bfecc6113cb2a5ed8e
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/13862
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/device')
-rw-r--r-- | src/device/dram/ddr3.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/device/dram/ddr3.c b/src/device/dram/ddr3.c index 6bfaabcd76..b5658efede 100644 --- a/src/device/dram/ddr3.c +++ b/src/device/dram/ddr3.c @@ -23,6 +23,7 @@ #include <console/console.h> #include <device/device.h> #include <device/dram/ddr3.h> +#include <string.h> /*============================================================================== * = DDR3 SPD decoding helpers @@ -340,6 +341,13 @@ int spd_decode_ddr3(dimm_attr * dimm, spd_raw_data spd) dimm->reference_card = spd[62] & 0x1f; printram(" DIMM Reference card %c\n", 'A' + dimm->reference_card); + dimm->manufacturer_id = (spd[118] << 8) | spd[117]; + printram(" DIMM Manufacturer ID %x\n", dimm->manufacturer_id); + + dimm->part_number[16] = 0; + memcpy(dimm->part_number, &spd[128], 16); + printram(" DIMM Part number %s\n", dimm->part_number); + return ret; } |