aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/libc/coreboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/libc/coreboot.c')
-rw-r--r--payloads/libpayload/libc/coreboot.c32
1 files changed, 9 insertions, 23 deletions
diff --git a/payloads/libpayload/libc/coreboot.c b/payloads/libpayload/libc/coreboot.c
index c48b6cffd8..b7d2a537b5 100644
--- a/payloads/libpayload/libc/coreboot.c
+++ b/payloads/libpayload/libc/coreboot.c
@@ -143,22 +143,13 @@ static void cb_parse_acpi_gnvs(unsigned char *ptr, struct sysinfo_t *info)
info->acpi_gnvs = get_cbmem_addr(ptr);
}
-static void cb_parse_board_id(unsigned char *ptr, struct sysinfo_t *info)
+static void cb_parse_board_config(unsigned char *ptr, struct sysinfo_t *info)
{
- struct cb_strapping_id *const cbbid = (struct cb_strapping_id *)ptr;
- info->board_id = cbbid->id_code;
-}
-
-static void cb_parse_ram_code(unsigned char *ptr, struct sysinfo_t *info)
-{
- struct cb_strapping_id *const ram_code = (struct cb_strapping_id *)ptr;
- info->ram_code = ram_code->id_code;
-}
-
-static void cb_parse_sku_id(unsigned char *ptr, struct sysinfo_t *info)
-{
- struct cb_strapping_id *const sku_id = (struct cb_strapping_id *)ptr;
- info->sku_id = sku_id->id_code;
+ struct cb_board_config *const config = (struct cb_board_config *)ptr;
+ info->fw_config = cb_unpack64(config->fw_config);
+ info->board_id = config->board_id;
+ info->ram_code = config->ram_code;
+ info->sku_id = config->sku_id;
}
#if CONFIG(LP_NVRAM)
@@ -290,6 +281,7 @@ int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
info->board_id = UNDEFINED_STRAPPING_ID;
info->ram_code = UNDEFINED_STRAPPING_ID;
info->sku_id = UNDEFINED_STRAPPING_ID;
+ info->fw_config = UNDEFINED_FW_CONFIG;
/* Now, walk the tables. */
ptr += header->header_bytes;
@@ -381,14 +373,8 @@ int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
case CB_TAG_ACPI_GNVS:
cb_parse_acpi_gnvs(ptr, info);
break;
- case CB_TAG_BOARD_ID:
- cb_parse_board_id(ptr, info);
- break;
- case CB_TAG_RAM_CODE:
- cb_parse_ram_code(ptr, info);
- break;
- case CB_TAG_SKU_ID:
- cb_parse_sku_id(ptr, info);
+ case CB_TAG_BOARD_CONFIG:
+ cb_parse_board_config(ptr, info);
break;
case CB_TAG_WIFI_CALIBRATION:
cb_parse_wifi_calibration(ptr, info);