ddr3: Plumber DIMM type to parsed structure.
Useful for distinguishing registered modules.
Change-Id: Ibf4a0f2cde6d50a1c5c1da0f50e3022a2bc7ccd7
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/7686
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Tested-by: build bot (Jenkins)
diff --git a/src/device/dram/ddr3.c b/src/device/dram/ddr3.c
index 00f2ba9..86abea8 100644
--- a/src/device/dram/ddr3.c
+++ b/src/device/dram/ddr3.c
@@ -126,6 +126,7 @@
return SPD_STATUS_INVALID;
}
dimm->dram_type = SPD_MEMORY_TYPE_SDRAM_DDR3;
+ dimm->dimm_type = spd[3] & 0xf;
crc = spd_ddr3_calc_crc(spd, sizeof(*spd));
/* Compare with the CRC in the SPD */
diff --git a/src/include/device/dram/ddr3.h b/src/include/device/dram/ddr3.h
index ef0d0ec..10924a2 100644
--- a/src/include/device/dram/ddr3.h
+++ b/src/include/device/dram/ddr3.h
@@ -135,6 +135,7 @@
*/
typedef struct dimm_attr_st {
enum spd_memory_type dram_type;
+ enum spd_dimm_type dimm_type;
u16 cas_supported;
/* Flags extracted from SPD */
dimm_flags_t flags;