mb/ocp/deltalake: Use BMC version to represent ec version
In deltalake, there's no embedded controller and BMC version is used to represent ec version. TEST=Build with CB:45138 and CB:46070 Execute "dmidecode -t 0" to check if the firmware version is correct Signed-off-by: Tim Chu <Tim.Chu@quantatw.com> Change-Id: I388efd749170f0ebbb4dd4d32199675d92cc018e Reviewed-on: https://review.coreboot.org/c/coreboot/+/46071 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jonathan Zhang <jonzhang@fb.com> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
278ad21fa9
commit
5ec02680eb
|
@ -26,6 +26,21 @@
|
|||
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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue