diff options
author | Martin Roth <gaumless@gmail.com> | 2023-02-23 16:23:34 -0700 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-02-27 16:40:57 +0000 |
commit | d712c628e7686d344698b8185f03e019bcee50ec (patch) | |
tree | 85369aa147bb3972ce945cf4a400c01b3cad53d5 | |
parent | 2c6c353b5bf2db5e0a000b5544764e40fe219058 (diff) |
soc/amd/common/fsp/dmi.c: Fill in mem manufacturer from CBI
Because the ChromeOS boards don't fill a manufacturer in for the memory
SPDs, that information isn't available from the FSP. We can get the
Manufacturer ID based on the memory name from CBI instead. Use this
information to fill in an ID so that the manufacturer name is available
in the SMBIOS information.
BUG=None
TEST=Look at dmidecode output
Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I810c3191180dd3b566d7ea64006f29b625b10526
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73255
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
-rw-r--r-- | src/soc/amd/common/fsp/dmi.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/soc/amd/common/fsp/dmi.c b/src/soc/amd/common/fsp/dmi.c index 9c89792123..a671476c9d 100644 --- a/src/soc/amd/common/fsp/dmi.c +++ b/src/soc/amd/common/fsp/dmi.c @@ -234,6 +234,22 @@ static void prepare_dmi_16_17(void *unused) null terminated */ strncpy((char *)dimm_info->module_part_number, cbi_part_number, sizeof(dimm_info->module_part_number) - 1); + + /* These ID values match what's used in device/dram/spd.c */ + switch (dimm_info->module_part_number[0]) { + case 'H': + dimm_info->mod_id = 0xad00; // Hynix + break; + case 'K': + dimm_info->mod_id = 0x9801; // Kingston + break; + case 'M': + dimm_info->mod_id = 0x2c00; // Micron + break; + case 'N': + dimm_info->mod_id = 0x0b83; // Nanya + break; + } } print_dimm_info(dimm_info); dimm_cnt++; |