Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/68785 )
(
2 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: drivers/ocp/dmi: move smbios_ec_revision to ocp folder ......................................................................
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 Tim.Chu@quantatw.com Signed-off-by: Jonzhang Zhang jonzhang@meta.com Change-Id: I898662b78d3dbab1861cee6f1b6e148297a5d11b Reviewed-on: https://review.coreboot.org/c/coreboot/+/68785 Reviewed-by: Angel Pons th3fanbus@gmail.com Reviewed-by: Marc Jones marc@marcjonesconsulting.com Reviewed-by: Paul Menzel paulepanter@mailbox.org Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/drivers/ocp/dmi/smbios.c M src/mainboard/ocp/deltalake/ramstage.c 2 files changed, 36 insertions(+), 15 deletions(-)
Approvals: build bot (Jenkins): Verified Marc Jones: Looks good to me, approved Paul Menzel: Looks good to me, but someone else must approve Angel Pons: Looks good to me, but someone else must approve
diff --git a/src/drivers/ocp/dmi/smbios.c b/src/drivers/ocp/dmi/smbios.c index 51c008d..0ac3334 100644 --- a/src/drivers/ocp/dmi/smbios.c +++ b/src/drivers/ocp/dmi/smbios.c @@ -22,6 +22,21 @@ 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) { diff --git a/src/mainboard/ocp/deltalake/ramstage.c b/src/mainboard/ocp/deltalake/ramstage.c index 0fca920..d553392 100644 --- a/src/mainboard/ocp/deltalake/ramstage.c +++ b/src/mainboard/ocp/deltalake/ramstage.c @@ -30,21 +30,6 @@ extern struct fru_info_str fru_strings; static char slot_id_str[SLOT_ID_LEN];
-/* - * Update SMBIOS type 0 ec version. - * In deltalake, BMC version is used to represent ec version. - * In current version of OpenBMC, it follows IPMI v2.0 to define minor revision as BCD - * encoded, so the format of it must be transferred before send to SMBIOS. - */ -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 2 Location In Chassis from BMC */ const char *smbios_mainboard_location_in_chassis(void) {