From b09517b2fb0d423275c1228332bf7bf9e8607482 Mon Sep 17 00:00:00 2001 From: Jonathan Zhang Date: Tue, 25 Oct 2022 09:51:52 -0700 Subject: drivers/ocp/dmi: move smbios_ec_revision to ocp folder Move smbios_ec_revision to ocp folder so that all ocp boards share the same function without implementing again. TESTED=Execute "dmidecode -t 0" to check corresponding field. Signed-off-by: Tim Chu Signed-off-by: Jonzhang Zhang Change-Id: I898662b78d3dbab1861cee6f1b6e148297a5d11b Reviewed-on: https://review.coreboot.org/c/coreboot/+/68785 Reviewed-by: Angel Pons Reviewed-by: Marc Jones Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) --- src/drivers/ocp/dmi/smbios.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/drivers/ocp') diff --git a/src/drivers/ocp/dmi/smbios.c b/src/drivers/ocp/dmi/smbios.c index 51c008d405..0ac3334751 100644 --- a/src/drivers/ocp/dmi/smbios.c +++ b/src/drivers/ocp/dmi/smbios.c @@ -22,6 +22,21 @@ struct fru_info_str fru_strings = {0}; msr_t xeon_sp_ppin[2] = {0}; static bool remote_ppin_done = false; +/* + * Update SMBIOS type 0 ec version. + * For OCP platforms, BMC version is used to represent ec version. + * Refer to IPMI v2.0 spec, minor revision is defined as BCD encoded, + * format it accordingly. + */ +void smbios_ec_revision(uint8_t *ec_major_revision, uint8_t *ec_minor_revision) +{ + uint8_t bmc_major_revision, bmc_minor_revision; + + ipmi_bmc_version(&bmc_major_revision, &bmc_minor_revision); + *ec_major_revision = bmc_major_revision & 0x7f; /* bit[6:0] Major Firmware Revision */ + *ec_minor_revision = ((bmc_minor_revision / 16) * 10) + (bmc_minor_revision % 16); +} + /* Override SMBIOS type 1 data. */ const char *smbios_system_manufacturer(void) { -- cgit v1.2.3