From a4ab665a556da24929ec1537901b38fbe9f4252b Mon Sep 17 00:00:00 2001
From: Furquan Shaikh <furquan@chromium.org>
Date: Mon, 25 Sep 2017 08:06:56 -0700
Subject: mb/google/*: Use newly added Chrome EC boardid function

Instead of duplicating code across multiple mainboards, use newly
added helper function to read boardid from Chrome EC.

Change-Id: I1671c0a0b87d0c4c45da5340e8f17a4a798317ca
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/21682
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
---
 src/mainboard/google/chell/Kconfig                 |  1 +
 src/mainboard/google/chell/Makefile.inc            |  2 --
 src/mainboard/google/chell/boardid.c               | 28 --------------------
 src/mainboard/google/cyan/Kconfig                  |  1 +
 src/mainboard/google/cyan/Makefile.inc             |  1 -
 src/mainboard/google/cyan/boardid.c                | 30 ----------------------
 src/mainboard/google/eve/Kconfig                   |  1 +
 src/mainboard/google/eve/Makefile.inc              |  3 ---
 src/mainboard/google/eve/boardid.c                 | 27 -------------------
 src/mainboard/google/fizz/Kconfig                  |  1 +
 src/mainboard/google/fizz/Makefile.inc             |  2 --
 src/mainboard/google/fizz/boardid.c                | 27 -------------------
 src/mainboard/google/glados/Kconfig                |  1 +
 src/mainboard/google/glados/Makefile.inc           |  2 --
 src/mainboard/google/glados/boardid.c              | 28 --------------------
 src/mainboard/google/lars/Kconfig                  |  1 +
 src/mainboard/google/lars/Makefile.inc             |  2 --
 src/mainboard/google/lars/boardid.c                | 28 --------------------
 src/mainboard/google/poppy/Kconfig                 |  1 +
 src/mainboard/google/poppy/Makefile.inc            |  2 --
 src/mainboard/google/poppy/boardid.c               | 28 --------------------
 .../google/poppy/variants/baseboard/Makefile.inc   |  2 --
 .../google/poppy/variants/baseboard/boardid.c      | 22 ----------------
 .../baseboard/include/baseboard/variants.h         |  3 ---
 src/mainboard/google/reef/Kconfig                  |  1 +
 src/mainboard/google/reef/Makefile.inc             |  2 --
 src/mainboard/google/reef/boardid.c                | 29 ---------------------
 .../google/reef/variants/baseboard/Makefile.inc    |  2 --
 .../google/reef/variants/baseboard/boardid.c       | 22 ----------------
 .../baseboard/include/baseboard/variants.h         |  3 ---
 src/mainboard/intel/kunimitsu/Kconfig              |  1 +
 src/mainboard/intel/kunimitsu/Makefile.inc         |  2 --
 src/mainboard/intel/kunimitsu/boardid.c            | 28 --------------------
 src/mainboard/intel/strago/Kconfig                 |  1 +
 src/mainboard/intel/strago/Makefile.inc            |  2 --
 src/mainboard/intel/strago/boardid.c               | 30 ----------------------
 36 files changed, 10 insertions(+), 357 deletions(-)
 delete mode 100644 src/mainboard/google/chell/boardid.c
 delete mode 100644 src/mainboard/google/cyan/boardid.c
 delete mode 100644 src/mainboard/google/eve/boardid.c
 delete mode 100644 src/mainboard/google/fizz/boardid.c
 delete mode 100644 src/mainboard/google/glados/boardid.c
 delete mode 100644 src/mainboard/google/lars/boardid.c
 delete mode 100644 src/mainboard/google/poppy/boardid.c
 delete mode 100644 src/mainboard/google/poppy/variants/baseboard/boardid.c
 delete mode 100644 src/mainboard/google/reef/boardid.c
 delete mode 100644 src/mainboard/google/reef/variants/baseboard/boardid.c
 delete mode 100644 src/mainboard/intel/kunimitsu/boardid.c
 delete mode 100644 src/mainboard/intel/strago/boardid.c

diff --git a/src/mainboard/google/chell/Kconfig b/src/mainboard/google/chell/Kconfig
index d353b44e29..277c98f4c1 100644
--- a/src/mainboard/google/chell/Kconfig
+++ b/src/mainboard/google/chell/Kconfig
@@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DRIVERS_I2C_NAU8825
 	select EC_GOOGLE_CHROMEEC
 	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select EC_GOOGLE_CHROMEEC_MEC
 	select EC_GOOGLE_CHROMEEC_PD
diff --git a/src/mainboard/google/chell/Makefile.inc b/src/mainboard/google/chell/Makefile.inc
index e52eb7edac..91602660c4 100644
--- a/src/mainboard/google/chell/Makefile.inc
+++ b/src/mainboard/google/chell/Makefile.inc
@@ -17,7 +17,6 @@ subdirs-y += spd
 
 bootblock-y += bootblock_mainboard.c
 
-romstage-y += boardid.c
 romstage-y += pei_data.c
 
 bootblock-$(CONFIG_CHROMEOS) += chromeos.c
@@ -27,7 +26,6 @@ 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/chell/boardid.c b/src/mainboard/google/chell/boardid.c
deleted file mode 100644
index 4eb9f4869d..0000000000
--- a/src/mainboard/google/chell/boardid.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.
- */
-
-#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;
-}
diff --git a/src/mainboard/google/cyan/Kconfig b/src/mainboard/google/cyan/Kconfig
index a660c2f796..c02352d5e6 100644
--- a/src/mainboard/google/cyan/Kconfig
+++ b/src/mainboard/google/cyan/Kconfig
@@ -2,6 +2,7 @@ config BOARD_GOOGLE_BASEBOARD_CYAN
 	def_bool n
 	select BOARD_ROMSIZE_KB_8192
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_MEC
 	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
 	select ENABLE_BUILTIN_COM1
diff --git a/src/mainboard/google/cyan/Makefile.inc b/src/mainboard/google/cyan/Makefile.inc
index 01c2a91099..0b11aa3b1d 100644
--- a/src/mainboard/google/cyan/Makefile.inc
+++ b/src/mainboard/google/cyan/Makefile.inc
@@ -18,7 +18,6 @@ romstage-$(CONFIG_CHROMEOS) += chromeos.c
 romstage-$(CONFIG_ENABLE_BUILTIN_COM1) += com_init.c
 romstage-y += spd/spd.c
 
-ramstage-y += boardid.c
 ramstage-$(CONFIG_CHROMEOS) += chromeos.c
 ramstage-y += ec.c
 ramstage-y += irqroute.c
diff --git a/src/mainboard/google/cyan/boardid.c b/src/mainboard/google/cyan/boardid.c
deleted file mode 100644
index 5364bb9a0b..0000000000
--- a/src/mainboard/google/cyan/boardid.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 Google Inc.
- * Copyright (C) 2015 Intel Corp.
- *
- * 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 <stdlib.h>
-#include <ec/google/chromeec/ec.h>
-
-uint8_t board_id(void)
-{
-	static int id = -1;
-
-#if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)
-	if (id < 0)
-		id = google_chromeec_get_board_version();
-#endif
-	return id;
-}
diff --git a/src/mainboard/google/eve/Kconfig b/src/mainboard/google/eve/Kconfig
index 16bcbd53f7..f576fa7932 100644
--- a/src/mainboard/google/eve/Kconfig
+++ b/src/mainboard/google/eve/Kconfig
@@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS
 	select DRIVERS_I2C_MAX98927
 	select DRIVERS_SPI_ACPI
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select HAVE_ACPI_RESUME
 	select HAVE_ACPI_TABLES
diff --git a/src/mainboard/google/eve/Makefile.inc b/src/mainboard/google/eve/Makefile.inc
index 8723e0c0f8..c96e23ea49 100644
--- a/src/mainboard/google/eve/Makefile.inc
+++ b/src/mainboard/google/eve/Makefile.inc
@@ -17,14 +17,11 @@ subdirs-y += spd
 
 bootblock-y += bootblock.c
 
-romstage-y += boardid.c
-
 bootblock-$(CONFIG_CHROMEOS) += chromeos.c
 verstage-$(CONFIG_CHROMEOS) += chromeos.c
 romstage-$(CONFIG_CHROMEOS) += chromeos.c
 ramstage-$(CONFIG_CHROMEOS) += chromeos.c
 
-ramstage-y += boardid.c
 ramstage-y += mainboard.c
 ramstage-y += ramstage.c
 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC) += ec.c
diff --git a/src/mainboard/google/eve/boardid.c b/src/mainboard/google/eve/boardid.c
deleted file mode 100644
index e33c094a2d..0000000000
--- a/src/mainboard/google/eve/boardid.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 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 <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;
-}
diff --git a/src/mainboard/google/fizz/Kconfig b/src/mainboard/google/fizz/Kconfig
index 107af9ad38..61158c91a4 100644
--- a/src/mainboard/google/fizz/Kconfig
+++ b/src/mainboard/google/fizz/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS
 	select DRIVERS_I2C_GENERIC
 	select DRIVERS_SPI_ACPI
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select HAVE_ACPI_RESUME
 	select HAVE_ACPI_TABLES
diff --git a/src/mainboard/google/fizz/Makefile.inc b/src/mainboard/google/fizz/Makefile.inc
index d74b70782d..534968cbf5 100644
--- a/src/mainboard/google/fizz/Makefile.inc
+++ b/src/mainboard/google/fizz/Makefile.inc
@@ -18,10 +18,8 @@ bootblock-$(CONFIG_CHROMEOS) += chromeos.c
 
 verstage-$(CONFIG_CHROMEOS) += chromeos.c
 
-romstage-y += boardid.c
 romstage-$(CONFIG_CHROMEOS) += chromeos.c
 
-ramstage-y += boardid.c
 ramstage-$(CONFIG_CHROMEOS) += chromeos.c
 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC) += ec.c
 ramstage-y += mainboard.c
diff --git a/src/mainboard/google/fizz/boardid.c b/src/mainboard/google/fizz/boardid.c
deleted file mode 100644
index 440a5a9f07..0000000000
--- a/src/mainboard/google/fizz/boardid.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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;
-}
diff --git a/src/mainboard/google/glados/Kconfig b/src/mainboard/google/glados/Kconfig
index 254e54aa53..1a19fd1bfa 100644
--- a/src/mainboard/google/glados/Kconfig
+++ b/src/mainboard/google/glados/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DRIVERS_I2C_GENERIC
 	select DRIVERS_I2C_NAU8825
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
 	select EC_GOOGLE_CHROMEEC_LPC
 	select EC_GOOGLE_CHROMEEC_MEC
diff --git a/src/mainboard/google/glados/Makefile.inc b/src/mainboard/google/glados/Makefile.inc
index e52eb7edac..91602660c4 100644
--- a/src/mainboard/google/glados/Makefile.inc
+++ b/src/mainboard/google/glados/Makefile.inc
@@ -17,7 +17,6 @@ subdirs-y += spd
 
 bootblock-y += bootblock_mainboard.c
 
-romstage-y += boardid.c
 romstage-y += pei_data.c
 
 bootblock-$(CONFIG_CHROMEOS) += chromeos.c
@@ -27,7 +26,6 @@ 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
deleted file mode 100644
index 4eb9f4869d..0000000000
--- a/src/mainboard/google/glados/boardid.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.
- */
-
-#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;
-}
diff --git a/src/mainboard/google/lars/Kconfig b/src/mainboard/google/lars/Kconfig
index 24e388028b..4a49460b04 100644
--- a/src/mainboard/google/lars/Kconfig
+++ b/src/mainboard/google/lars/Kconfig
@@ -9,6 +9,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DRIVERS_I2C_NAU8825
 	select EC_GOOGLE_CHROMEEC
 	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select EC_GOOGLE_CHROMEEC_MEC
 	select EC_GOOGLE_CHROMEEC_PD
diff --git a/src/mainboard/google/lars/Makefile.inc b/src/mainboard/google/lars/Makefile.inc
index cafa12ca60..c8480f3132 100644
--- a/src/mainboard/google/lars/Makefile.inc
+++ b/src/mainboard/google/lars/Makefile.inc
@@ -18,7 +18,6 @@ subdirs-y += spd
 
 bootblock-y += bootblock_mainboard.c
 
-romstage-y += boardid.c
 romstage-y += pei_data.c
 
 bootblock-$(CONFIG_CHROMEOS) += chromeos.c
@@ -28,7 +27,6 @@ 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/lars/boardid.c b/src/mainboard/google/lars/boardid.c
deleted file mode 100644
index 4eb9f4869d..0000000000
--- a/src/mainboard/google/lars/boardid.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.
- */
-
-#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;
-}
diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig
index 127f8c341e..7eb43989c0 100644
--- a/src/mainboard/google/poppy/Kconfig
+++ b/src/mainboard/google/poppy/Kconfig
@@ -8,6 +8,7 @@ config BOARD_GOOGLE_BASEBOARD_POPPY
 	select DRIVERS_I2C_MAX98927
 	select DRIVERS_SPI_ACPI
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select HAVE_ACPI_RESUME
 	select HAVE_ACPI_TABLES
diff --git a/src/mainboard/google/poppy/Makefile.inc b/src/mainboard/google/poppy/Makefile.inc
index c837acdd5e..133317c07e 100644
--- a/src/mainboard/google/poppy/Makefile.inc
+++ b/src/mainboard/google/poppy/Makefile.inc
@@ -18,10 +18,8 @@ bootblock-$(CONFIG_CHROMEOS) += chromeos.c
 
 verstage-$(CONFIG_CHROMEOS) += chromeos.c
 
-romstage-y += boardid.c
 romstage-$(CONFIG_CHROMEOS) += chromeos.c
 
-ramstage-y += boardid.c
 ramstage-$(CONFIG_CHROMEOS) += chromeos.c
 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC) += ec.c
 ramstage-y += mainboard.c
diff --git a/src/mainboard/google/poppy/boardid.c b/src/mainboard/google/poppy/boardid.c
deleted file mode 100644
index 4607f34453..0000000000
--- a/src/mainboard/google/poppy/boardid.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 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 <baseboard/variants.h>
-#include <boardid.h>
-#include <stddef.h>
-
-uint8_t board_id(void)
-{
-	MAYBE_STATIC int id = -1;
-
-	if (id < 0)
-		id = variant_board_id();
-
-	return id;
-}
diff --git a/src/mainboard/google/poppy/variants/baseboard/Makefile.inc b/src/mainboard/google/poppy/variants/baseboard/Makefile.inc
index b1f70b1ce1..1d25510dff 100644
--- a/src/mainboard/google/poppy/variants/baseboard/Makefile.inc
+++ b/src/mainboard/google/poppy/variants/baseboard/Makefile.inc
@@ -1,8 +1,6 @@
 bootblock-y += gpio.c
 
-romstage-y += boardid.c
 romstage-y += memory.c
 
-ramstage-y += boardid.c
 ramstage-y += gpio.c
 ramstage-y += nhlt.c
diff --git a/src/mainboard/google/poppy/variants/baseboard/boardid.c b/src/mainboard/google/poppy/variants/baseboard/boardid.c
deleted file mode 100644
index 1cb084ac50..0000000000
--- a/src/mainboard/google/poppy/variants/baseboard/boardid.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright 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 <baseboard/variants.h>
-#include <ec/google/chromeec/ec.h>
-
-uint8_t __attribute__((weak)) variant_board_id(void)
-{
-	return google_chromeec_get_board_version();
-}
diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
index f25d34f4ed..62389afaae 100644
--- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
@@ -20,9 +20,6 @@
 #include <stdint.h>
 #include <vendorcode/google/chromeos/chromeos.h>
 
-/* Return the board id for the current variant board. */
-uint8_t variant_board_id(void);
-
 /*
  * The next set of functions return the gpio table and fill in the number of
  * entries for each table.
diff --git a/src/mainboard/google/reef/Kconfig b/src/mainboard/google/reef/Kconfig
index 41d3dcb441..bea7fd0284 100644
--- a/src/mainboard/google/reef/Kconfig
+++ b/src/mainboard/google/reef/Kconfig
@@ -9,6 +9,7 @@ config BOARD_GOOGLE_BASEBOARD_REEF
 	select DRIVERS_I2C_HID
 	select DRIVERS_PS2_KEYBOARD
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select HAVE_ACPI_RESUME
 	select HAVE_ACPI_TABLES
diff --git a/src/mainboard/google/reef/Makefile.inc b/src/mainboard/google/reef/Makefile.inc
index ac654fb39a..3701a91344 100644
--- a/src/mainboard/google/reef/Makefile.inc
+++ b/src/mainboard/google/reef/Makefile.inc
@@ -2,9 +2,7 @@ bootblock-y += bootblock.c
 bootblock-y += ec.c
 
 romstage-$(CONFIG_CHROMEOS) += chromeos.c
-romstage-y += boardid.c
 
-ramstage-y += boardid.c
 ramstage-$(CONFIG_CHROMEOS) += chromeos.c
 ramstage-y += ec.c
 ramstage-y += mainboard.c
diff --git a/src/mainboard/google/reef/boardid.c b/src/mainboard/google/reef/boardid.c
deleted file mode 100644
index f240fca950..0000000000
--- a/src/mainboard/google/reef/boardid.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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.
- */
-
-#include <baseboard/variants.h>
-#include <boardid.h>
-#include <stddef.h>
-
-uint8_t board_id(void)
-{
-	MAYBE_STATIC int id = -1;
-
-	if (id < 0)
-		id = variant_board_id();
-
-	return id;
-}
diff --git a/src/mainboard/google/reef/variants/baseboard/Makefile.inc b/src/mainboard/google/reef/variants/baseboard/Makefile.inc
index d2d344c5e0..63b03a6118 100644
--- a/src/mainboard/google/reef/variants/baseboard/Makefile.inc
+++ b/src/mainboard/google/reef/variants/baseboard/Makefile.inc
@@ -1,9 +1,7 @@
 bootblock-y += gpio.c
 
-romstage-y += boardid.c
 romstage-y += memory.c
 
-ramstage-y += boardid.c
 ramstage-y += gpio.c
 ramstage-y += nhlt.c
 
diff --git a/src/mainboard/google/reef/variants/baseboard/boardid.c b/src/mainboard/google/reef/variants/baseboard/boardid.c
deleted file mode 100644
index 26f158809d..0000000000
--- a/src/mainboard/google/reef/variants/baseboard/boardid.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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 <baseboard/variants.h>
-#include <ec/google/chromeec/ec.h>
-
-uint8_t __attribute__((weak)) variant_board_id(void)
-{
-	return google_chromeec_get_board_version();
-}
diff --git a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h
index 13a52f55d0..18fbf54dbd 100644
--- a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h
@@ -24,9 +24,6 @@
 /* Return the sku id based off the strapping resistors attached to SoC. */
 uint8_t sku_strapping_value(void);
 
-/* Return the board id for the current variant board. */
-uint8_t variant_board_id(void);
-
 /* The next set of functions return the gpio table and fill in the number of
  * entries for each table. */
 const struct pad_config *variant_gpio_table(size_t *num);
diff --git a/src/mainboard/intel/kunimitsu/Kconfig b/src/mainboard/intel/kunimitsu/Kconfig
index 71b465ddcc..49991b89c0 100644
--- a/src/mainboard/intel/kunimitsu/Kconfig
+++ b/src/mainboard/intel/kunimitsu/Kconfig
@@ -9,6 +9,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select DRIVERS_I2C_NAU8825
 	select EC_GOOGLE_CHROMEEC
 	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_LPC
 	select EC_GOOGLE_CHROMEEC_MEC
 	select EC_GOOGLE_CHROMEEC_PD
diff --git a/src/mainboard/intel/kunimitsu/Makefile.inc b/src/mainboard/intel/kunimitsu/Makefile.inc
index 86be420f46..dc4b83c0bb 100644
--- a/src/mainboard/intel/kunimitsu/Makefile.inc
+++ b/src/mainboard/intel/kunimitsu/Makefile.inc
@@ -18,7 +18,6 @@ subdirs-y += spd
 
 bootblock-y += bootblock_mainboard.c
 
-romstage-y += boardid.c
 romstage-y += pei_data.c
 
 bootblock-$(CONFIG_CHROMEOS) += chromeos.c
@@ -28,7 +27,6 @@ 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/intel/kunimitsu/boardid.c b/src/mainboard/intel/kunimitsu/boardid.c
deleted file mode 100644
index 4eb9f4869d..0000000000
--- a/src/mainboard/intel/kunimitsu/boardid.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.
- */
-
-#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;
-}
diff --git a/src/mainboard/intel/strago/Kconfig b/src/mainboard/intel/strago/Kconfig
index 44ca249dc9..bef0e63c78 100644
--- a/src/mainboard/intel/strago/Kconfig
+++ b/src/mainboard/intel/strago/Kconfig
@@ -4,6 +4,7 @@ config BOARD_SPECIFIC_OPTIONS
 	def_bool y
 	select BOARD_ROMSIZE_KB_8192
 	select EC_GOOGLE_CHROMEEC
+	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_MEC
 	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
 	select ENABLE_BUILTIN_COM1
diff --git a/src/mainboard/intel/strago/Makefile.inc b/src/mainboard/intel/strago/Makefile.inc
index 5ba7bcce8d..bbef8b956e 100644
--- a/src/mainboard/intel/strago/Makefile.inc
+++ b/src/mainboard/intel/strago/Makefile.inc
@@ -14,11 +14,9 @@
 ## GNU General Public License for more details.
 ##
 
-romstage-y += boardid.c
 romstage-$(CONFIG_MAINBOARD_HAS_CHROMEOS) += chromeos.c
 romstage-$(CONFIG_ENABLE_BUILTIN_COM1) += com_init.c
 
-ramstage-y += boardid.c
 ramstage-$(CONFIG_MAINBOARD_HAS_CHROMEOS) += chromeos.c
 ramstage-$(CONFIG_MAINBOARD_HAS_CHROMEOS) += ec.c
 ramstage-$(CONFIG_MAINBOARD_HAS_CHROMEOS) += gpio.c
diff --git a/src/mainboard/intel/strago/boardid.c b/src/mainboard/intel/strago/boardid.c
deleted file mode 100644
index b531778531..0000000000
--- a/src/mainboard/intel/strago/boardid.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright(C) 2013 Google Inc.
- * Copyright (C) 2015 Intel Corp.
- *
- * 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 <stdlib.h>
-#include "ec/google/chromeec/ec.h"
-
-uint8_t board_id(void)
-{
-	MAYBE_STATIC int id = -1;
-
-#if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)
-	if (id < 0)
-		id = google_chromeec_get_board_version();
-#endif
-	return id;
-}
-- 
cgit v1.2.3