summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-09-25 08:06:56 -0700
committerAaron Durbin <adurbin@chromium.org>2017-09-26 15:20:39 +0000
commita4ab665a556da24929ec1537901b38fbe9f4252b (patch)
treec38de001c6207ec7745a9e5eed776d22f7eb9566 /src
parenta2094835b1622039d311d76d26be0b5b456ddfc9 (diff)
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>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/chell/Kconfig1
-rw-r--r--src/mainboard/google/chell/Makefile.inc2
-rw-r--r--src/mainboard/google/chell/boardid.c28
-rw-r--r--src/mainboard/google/cyan/Kconfig1
-rw-r--r--src/mainboard/google/cyan/Makefile.inc1
-rw-r--r--src/mainboard/google/cyan/boardid.c30
-rw-r--r--src/mainboard/google/eve/Kconfig1
-rw-r--r--src/mainboard/google/eve/Makefile.inc3
-rw-r--r--src/mainboard/google/eve/boardid.c27
-rw-r--r--src/mainboard/google/fizz/Kconfig1
-rw-r--r--src/mainboard/google/fizz/Makefile.inc2
-rw-r--r--src/mainboard/google/fizz/boardid.c27
-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.c28
-rw-r--r--src/mainboard/google/lars/Kconfig1
-rw-r--r--src/mainboard/google/lars/Makefile.inc2
-rw-r--r--src/mainboard/google/lars/boardid.c28
-rw-r--r--src/mainboard/google/poppy/Kconfig1
-rw-r--r--src/mainboard/google/poppy/Makefile.inc2
-rw-r--r--src/mainboard/google/poppy/boardid.c28
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/Makefile.inc2
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/boardid.c22
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h3
-rw-r--r--src/mainboard/google/reef/Kconfig1
-rw-r--r--src/mainboard/google/reef/Makefile.inc2
-rw-r--r--src/mainboard/google/reef/boardid.c29
-rw-r--r--src/mainboard/google/reef/variants/baseboard/Makefile.inc2
-rw-r--r--src/mainboard/google/reef/variants/baseboard/boardid.c22
-rw-r--r--src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h3
-rw-r--r--src/mainboard/intel/kunimitsu/Kconfig1
-rw-r--r--src/mainboard/intel/kunimitsu/Makefile.inc2
-rw-r--r--src/mainboard/intel/kunimitsu/boardid.c28
-rw-r--r--src/mainboard/intel/strago/Kconfig1
-rw-r--r--src/mainboard/intel/strago/Makefile.inc2
-rw-r--r--src/mainboard/intel/strago/boardid.c30
36 files changed, 10 insertions, 357 deletions
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;
-}