nb/intel/sandybridge/raminit: Fix DIMM type mapping
The DIMM type read from SPD needs to be converted to make sure SMBIOS fills in the correct formfactor. Tested on Lenovo T430: The Form Factor no longer reads as unknown. Change-Id: Ia0211fa133f4ba9d60dfbd5f0dd45a43df68c030 Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/28192 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
parent
15e6469ef9
commit
08c9a7ce1f
|
@ -112,7 +112,29 @@ static void fill_smbios17(ramctr_timing *ctrl)
|
||||||
memcpy(dimm->module_part_number,
|
memcpy(dimm->module_part_number,
|
||||||
info->dimm[channel][slot].part_number, 16);
|
info->dimm[channel][slot].part_number, 16);
|
||||||
dimm->mod_id = info->dimm[channel][slot].manufacturer_id;
|
dimm->mod_id = info->dimm[channel][slot].manufacturer_id;
|
||||||
dimm->mod_type = info->dimm[channel][slot].dimm_type;
|
|
||||||
|
switch (info->dimm[channel][slot].dimm_type) {
|
||||||
|
case SPD_DIMM_TYPE_SO_DIMM:
|
||||||
|
dimm->mod_type = SPD_SODIMM;
|
||||||
|
break;
|
||||||
|
case SPD_DIMM_TYPE_72B_SO_CDIMM:
|
||||||
|
dimm->mod_type = SPD_72B_SO_CDIMM;
|
||||||
|
break;
|
||||||
|
case SPD_DIMM_TYPE_72B_SO_RDIMM:
|
||||||
|
dimm->mod_type = SPD_72B_SO_RDIMM;
|
||||||
|
break;
|
||||||
|
case SPD_DIMM_TYPE_UDIMM:
|
||||||
|
dimm->mod_type = SPD_UDIMM;
|
||||||
|
break;
|
||||||
|
case SPD_DIMM_TYPE_RDIMM:
|
||||||
|
dimm->mod_type = SPD_RDIMM;
|
||||||
|
break;
|
||||||
|
case SPD_DIMM_TYPE_UNDEFINED:
|
||||||
|
default:
|
||||||
|
dimm->mod_type = SPD_UNDEFINED;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
dimm->bus_width = MEMORY_BUS_WIDTH_64; // non-ECC only
|
dimm->bus_width = MEMORY_BUS_WIDTH_64; // non-ECC only
|
||||||
|
|
||||||
memcpy(dimm->serial, info->dimm[channel][slot].serial,
|
memcpy(dimm->serial, info->dimm[channel][slot].serial,
|
||||||
|
|
Loading…
Reference in New Issue