summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vendorcode/google/Kconfig8
-rw-r--r--src/vendorcode/google/Makefile.inc2
-rw-r--r--src/vendorcode/google/smbios.c27
3 files changed, 37 insertions, 0 deletions
diff --git a/src/vendorcode/google/Kconfig b/src/vendorcode/google/Kconfig
index f275e6ca35..fcb28dfc97 100644
--- a/src/vendorcode/google/Kconfig
+++ b/src/vendorcode/google/Kconfig
@@ -13,3 +13,11 @@
##
source src/vendorcode/google/chromeos/Kconfig
+
+config GOOGLE_SMBIOS_MAINBOARD_VERSION
+ bool
+ default n
+ depends on GENERATE_SMBIOS_TABLES
+ help
+ Provide a common implementation for mainboard version,
+ which returns a formatted 'rev%d' board_id() string.
diff --git a/src/vendorcode/google/Makefile.inc b/src/vendorcode/google/Makefile.inc
index 6e950a1ebf..60ff84d01e 100644
--- a/src/vendorcode/google/Makefile.inc
+++ b/src/vendorcode/google/Makefile.inc
@@ -14,3 +14,5 @@
##
subdirs-$(CONFIG_CHROMEOS) += chromeos
+
+ramstage-$(CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION) += smbios.c
diff --git a/src/vendorcode/google/smbios.c b/src/vendorcode/google/smbios.c
new file mode 100644
index 0000000000..7b147cdfe4
--- /dev/null
+++ b/src/vendorcode/google/smbios.c
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2016 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <boardid.h>
+#include <smbios.h>
+#include <string.h>
+
+const char *smbios_mainboard_version(void)
+{
+ static char str[8];
+
+ snprintf(str, sizeof(str), "rev%d", board_id());
+
+ return str;
+}