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>
This commit is contained in:
Duncan Laurie 2015-09-04 10:12:59 -07:00 committed by Patrick Georgi
parent 0678bea4b6
commit 1a50d08fc7
3 changed files with 35 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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;
}