vendorcode/google: add common smbios mainboard version support

Provide an option to deliver the mainboard smbios version in the
form of 'rev%d' based on the board_id() value.

BUG=chromium:663243

Change-Id: If0a34935f570612da6e0c950fd7e8f0d92b6984f
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/17290
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins)
diff --git a/src/vendorcode/google/Kconfig b/src/vendorcode/google/Kconfig
index f275e6c..fcb28df 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 6e950a1..60ff84d 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 0000000..7b147cd
--- /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;
+}