mainboard/google/kahlee: Only read a single vendor from oem.bin

Since each variant has a separate build, we don't need to support
multiple manufacturers in a single file.

BUG=b:79874904
TEST=Build, boot, see updated mainboard manufacturer

Change-Id: I0ccf207ba8d5e5200aa4b19c46784bbda82f7b6e
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/28729
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@google.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
This commit is contained in:
Martin Roth 2018-09-24 15:39:12 -06:00
parent ea525006a5
commit 1f42a38e0f
1 changed files with 6 additions and 31 deletions

View File

@ -76,26 +76,10 @@ void board_bh720(struct device *dev)
write32((void *)(sdbar + BH720_MEM_ACCESS_EN), 0x80000000); write32((void *)(sdbar + BH720_MEM_ACCESS_EN), 0x80000000);
} }
static uint8_t calc_oem_id(void)
{
return variant_board_sku() / 0x10;
}
/* "oem.bin" in cbfs contains an array of records using the following structure. */
struct oem_mapping {
uint8_t oem_id;
char oem_name[10];
} __packed;
/* Local buffer to read "oem.bin" */
static char oem_bin_data[200];
const char *smbios_mainboard_manufacturer(void) const char *smbios_mainboard_manufacturer(void)
{ {
uint8_t oem_id; static char oem_bin_data[10];
const struct oem_mapping *oem_entry = (void *)&oem_bin_data;
size_t oem_data_size;
unsigned int i, oem_entries_count;
static const char *manuf; static const char *manuf;
if (!IS_ENABLED(CONFIG_USE_OEM_BIN)) if (!IS_ENABLED(CONFIG_USE_OEM_BIN))
@ -104,20 +88,11 @@ const char *smbios_mainboard_manufacturer(void)
if (manuf) if (manuf)
return manuf; return manuf;
oem_data_size = cbfs_boot_load_file("oem.bin", oem_bin_data, if (cbfs_boot_load_file("oem.bin", oem_bin_data,
sizeof(oem_bin_data), sizeof(oem_bin_data) - 1,
CBFS_TYPE_RAW); CBFS_TYPE_RAW))
oem_id = calc_oem_id(); manuf = &oem_bin_data[0];
oem_entries_count = oem_data_size / sizeof(*oem_entry); else
for (i = 0; i < oem_entries_count; i++) {
if (oem_id == oem_entry->oem_id) {
manuf = oem_entry->oem_name;
break;
}
oem_entry++;
}
if (manuf == NULL)
manuf = CONFIG_MAINBOARD_SMBIOS_MANUFACTURER; manuf = CONFIG_MAINBOARD_SMBIOS_MANUFACTURER;
return manuf; return manuf;