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:
parent
ea525006a5
commit
1f42a38e0f
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue