smbios: Add more properties
authorSimon Glass <sjg@chromium.org>
Thu, 5 Nov 2020 13:32:09 +0000 (06:32 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 6 Nov 2020 02:18:20 +0000 (10:18 +0800)
The current tables only support a subset of the available fields defined
by the SMBIOS spec. Add a few more.

We could use CONFIG_SYS_CPU or CONFIG_SYS_SOC as a default for family, but
the meaning of that value relates more to the whole system rather than
just the SoC.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
lib/smbios.c

index 3f9d2ec..a52a9d5 100644 (file)
@@ -173,12 +173,15 @@ static int smbios_write_type1(ulong *current, int handle, ofnode node)
                                                  CONFIG_SMBIOS_MANUFACTURER);
        t->product_name = smbios_add_prop_default(t->eos, node, "product",
                                                  CONFIG_SMBIOS_PRODUCT_NAME);
+       t->version = smbios_add_prop(t->eos, node, "version");
        if (serial_str) {
                t->serial_number = smbios_add_string(t->eos, serial_str);
                strncpy((char *)t->uuid, serial_str, sizeof(t->uuid));
        } else {
                t->serial_number = smbios_add_prop(t->eos, node, "serial");
        }
+       t->sku_number = smbios_add_prop(t->eos, node, "sku");
+       t->family = smbios_add_prop(t->eos, node, "family");
 
        len = t->length + smbios_string_table_len(t->eos);
        *current += len;
@@ -199,6 +202,7 @@ static int smbios_write_type2(ulong *current, int handle, ofnode node)
                                                  CONFIG_SMBIOS_MANUFACTURER);
        t->product_name = smbios_add_prop_default(t->eos, node, "product",
                                                  CONFIG_SMBIOS_PRODUCT_NAME);
+       t->asset_tag_number = smbios_add_prop(t->eos, node, "asset-tag");
        t->feature_flags = SMBIOS_BOARD_FEATURE_HOSTING;
        t->board_type = SMBIOS_BOARD_MOTHERBOARD;