chromeec: Provide helper routine to read boardid from Chrome EC

Instead of duplicating the code across multiple mainboards, provide a
helper function to read boardid from Chrome EC.

Change-Id: I2008de7032bc880e90b2c3c385b2a67bfb8724cc
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/21681
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
This commit is contained in:
Furquan Shaikh 2017-09-25 08:04:49 -07:00 committed by Furquan Shaikh
parent d4955f0ade
commit a2094835b1
3 changed files with 36 additions and 0 deletions

View File

@ -11,6 +11,12 @@ config EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
not defined, the memmap data is instead accessed on 900h-9ffh via
the LPC bus.
config EC_GOOGLE_CHROMEEC_BOARDID
depends on EC_GOOGLE_CHROMEEC
def_bool n
help
Provides common routine for reading boardid from Chrome EC.
config EC_GOOGLE_CHROMEEC_I2C
depends on EC_GOOGLE_CHROMEEC
bool

View File

@ -1,5 +1,8 @@
ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC),y)
romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
bootblock-y += ec.c
bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c

View File

@ -0,0 +1,27 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2017 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 <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;
}