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>
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)
 {