Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31851
Change subject: mb/google/hatch: Provide DRAM part number from EEPROM ......................................................................
mb/google/hatch: Provide DRAM part number from EEPROM
This change reads DRAM part number from EEPROM if available and returns it using the SoC callback (mainboard_get_dram_part_number).
BUG=b:127609572 TEST=Verify that DRAM part number from EEPROM is added to DMI table 17 (dmidecode -t 17).
Change-Id: I6ade6999828b6d67aa78d04199138f195a97ba8c Signed-off-by: Furquan Shaikh furquan@google.com --- M src/mainboard/google/hatch/romstage.c 1 file changed, 16 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/51/31851/1
diff --git a/src/mainboard/google/hatch/romstage.c b/src/mainboard/google/hatch/romstage.c index 401f41f..9f1aabd 100644 --- a/src/mainboard/google/hatch/romstage.c +++ b/src/mainboard/google/hatch/romstage.c @@ -14,6 +14,9 @@ */
#include <baseboard/variants.h> +#include <console/console.h> +#include <ec/google/chromeec/ec.h> +#include <memory_info.h> #include <soc/cnl_memcfg_init.h> #include <soc/romstage.h>
@@ -27,3 +30,16 @@ cannonlake_memcfg_init(&memupd->FspmConfig, variant_memory_params(), &spd); } + +void mainboard_get_dram_part_num(const char **part_num, size_t *len) +{ + static char part_num_store[DIMM_INFO_PART_NUMBER_SIZE]; + + if (google_chromeec_cbi_get_dram_part_num(&part_num_store[0], + sizeof(part_num_store)) < 0) { + printk(BIOS_ERR, "No DRAM part number in CBI!\n"); + } else { + *part_num = &part_num_store[0]; + *len = sizeof(part_num_store); + } +}