soc/intel: Provide SPD manufacturer ID and module type to SMBIOS

The DIMM manufacturing ID was not being initialized and so the DIMMs
were not described in SMBIOS tables properly.

The module type can also be provided, but the SMBIOS code expects
SPD module type values from DDR2 so the DDR3/4 values are adjusted
before sending to SMBIOS.

BUG=b:134897498
BRANCH=sarien
TEST=dump and compare with dmidecode

BEFORE:
Type: DDR4
Manufacturer: Unknown (0)
Form Factor: Unknown

AFTER:
Type: DDR4
Manufacturer: Hynix/Hyundai
Form Factor: SODIMM

Change-Id: Id673e08aa6e3dad196009c3c21a3dda2f40c9e42
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33379
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Duncan Laurie
2019-06-10 14:00:56 -07:00
committed by Patrick Georgi
parent d97591c345
commit 1a86cda6db
7 changed files with 40 additions and 6 deletions

View File

@@ -93,6 +93,8 @@ void save_lpddr4_dimm_info_part_num(const char *dram_part_num)
NULL, /* SPD not available */
memory_info_hob->DataWidth,
0,
0,
src_dimm->MfgId,
0);
index++;
}

View File

@@ -99,7 +99,9 @@ void save_lpddr4_dimm_info_part_num(const char *dram_part_num)
src_dimm->SpdSave + SPD_SAVE_OFFSET_SERIAL,
memory_info_hob->DataWidth,
0,
0);
0,
src_dimm->MfgId,
src_dimm->SpdModuleType);
index++;
}
}