summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2015-09-04 10:12:59 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-09-10 09:50:35 +0000
commit1a50d08fc7671cea527299df5b80c0bbfa450f91 (patch)
tree437ff52ad28209abce2bb13bf1718ca0b57ddb11
parent0678bea4b6dcd6c3e90ca400fbb5d5ec65f694f4 (diff)
downloadcoreboot-1a50d08fc7671cea527299df5b80c0bbfa450f91.tar.xz
glados: Add Board ID support
Add support for reading board id and populating it in the coreboot tables so it is exposed to payloads. BUG=chrome-os-partner:40635 BRANCH=none TEST=boot on glados and look for reported board ID Change-Id: Iba93a913b67e3b3230aded289c2e25585dec1195 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 472cb7bc84136a1a8b284d661868e64eca4ec004 Original-Change-Id: I478dc0b2f96310b7adbd84701e70598a57306628 Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/297746 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/11570 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/mainboard/google/glados/Kconfig1
-rw-r--r--src/mainboard/google/glados/Makefile.inc2
-rw-r--r--src/mainboard/google/glados/boardid.c32
3 files changed, 35 insertions, 0 deletions
diff --git a/src/mainboard/google/glados/Kconfig b/src/mainboard/google/glados/Kconfig
index 587002f1c3..26fd08be14 100644
--- a/src/mainboard/google/glados/Kconfig
+++ b/src/mainboard/google/glados/Kconfig
@@ -2,6 +2,7 @@ if BOARD_GOOGLE_GLADOS
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
+ select BOARD_ID_AUTO
select BOARD_ROMSIZE_KB_16384
select CACHE_ROM
select EC_GOOGLE_CHROMEEC
diff --git a/src/mainboard/google/glados/Makefile.inc b/src/mainboard/google/glados/Makefile.inc
index 93fc3d6430..39129e86e5 100644
--- a/src/mainboard/google/glados/Makefile.inc
+++ b/src/mainboard/google/glados/Makefile.inc
@@ -19,6 +19,7 @@
subdirs-y += spd
+romstage-y += boardid.c
romstage-y += pei_data.c
romstage-$(CONFIG_CHROMEOS) += chromeos.c
@@ -26,6 +27,7 @@ ramstage-$(CONFIG_CHROMEOS) += chromeos.c
ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC) += ec.c
+ramstage-y += boardid.c
ramstage-y += mainboard.c
ramstage-y += pei_data.c
ramstage-y += ramstage.c
diff --git a/src/mainboard/google/glados/boardid.c b/src/mainboard/google/glados/boardid.c
new file mode 100644
index 0000000000..59c6fff3b6
--- /dev/null
+++ b/src/mainboard/google/glados/boardid.c
@@ -0,0 +1,32 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Google Inc.
+ * Copyright (C) 2015 Intel Corporation
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc.
+ */
+
+#include <boardid.h>
+#include <ec/google/chromeec/ec.h>
+
+uint8_t board_id(void)
+{
+ MAYBE_STATIC int id = -1;
+
+ if (id < 0)
+ id = google_chromeec_get_board_version();
+
+ return id;
+}