diff options
-rw-r--r-- | src/mainboard/google/samus/Makefile.inc | 3 | ||||
-rw-r--r-- | src/mainboard/google/samus/board_version.c | 37 | ||||
-rw-r--r-- | src/mainboard/google/samus/board_version.h | 30 | ||||
-rw-r--r-- | src/mainboard/google/samus/ec.h | 4 | ||||
-rw-r--r-- | src/mainboard/google/samus/mainboard.c | 12 | ||||
-rw-r--r-- | src/mainboard/google/samus/romstage.c | 5 |
6 files changed, 75 insertions, 16 deletions
diff --git a/src/mainboard/google/samus/Makefile.inc b/src/mainboard/google/samus/Makefile.inc index 502204e990..e8013a8117 100644 --- a/src/mainboard/google/samus/Makefile.inc +++ b/src/mainboard/google/samus/Makefile.inc @@ -28,3 +28,6 @@ smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c romstage-y += pei_data.c ramstage-y += pei_data.c + +romstage-y += board_version.c +ramstage-y += board_version.c diff --git a/src/mainboard/google/samus/board_version.c b/src/mainboard/google/samus/board_version.c new file mode 100644 index 0000000000..4575dd58bd --- /dev/null +++ b/src/mainboard/google/samus/board_version.c @@ -0,0 +1,37 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2014 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. + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include <ec/google/chromeec/ec.h> +#include "board_version.h" + +const char *samus_board_version(void) +{ + switch (google_chromeec_get_board_version()) { + case SAMUS_EC_BOARD_VERSION_EVT1: + return "EVT1"; + case SAMUS_EC_BOARD_VERSION_EVT2: + return "EVT2"; + case SAMUS_EC_BOARD_VERSION_EVT3: + return "EVT3"; + case SAMUS_EC_BOARD_VERSION_EVT4: + return "EVT4"; + default: + return "Unknown"; + } +} diff --git a/src/mainboard/google/samus/board_version.h b/src/mainboard/google/samus/board_version.h new file mode 100644 index 0000000000..8b3fea38b0 --- /dev/null +++ b/src/mainboard/google/samus/board_version.h @@ -0,0 +1,30 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2014 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. + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef SAMUS_BOARD_VERSION_H +#define SAMUS_BOARD_VERSION_H + +#define SAMUS_EC_BOARD_VERSION_EVT1 3 +#define SAMUS_EC_BOARD_VERSION_EVT2 4 +#define SAMUS_EC_BOARD_VERSION_EVT3 5 +#define SAMUS_EC_BOARD_VERSION_EVT4 0 + +const char *samus_board_version(void); + +#endif diff --git a/src/mainboard/google/samus/ec.h b/src/mainboard/google/samus/ec.h index 295d04001f..1ba16777ce 100644 --- a/src/mainboard/google/samus/ec.h +++ b/src/mainboard/google/samus/ec.h @@ -22,10 +22,6 @@ #include <ec/google/chromeec/ec_commands.h> -#define SAMUS_EC_BOARD_VERSION_EVT 3 -#define SAMUS_EC_BOARD_VERSION_EVT2 4 -#define SAMUS_EC_BOARD_VERSION_EVT3 5 - #define EC_SCI_GPI 36 /* GPIO36 is EC_SCI# */ #define EC_SMI_GPI 34 /* GPIO34 is EC_SMI# */ diff --git a/src/mainboard/google/samus/mainboard.c b/src/mainboard/google/samus/mainboard.c index 85e9dfbbee..53f31a59f8 100644 --- a/src/mainboard/google/samus/mainboard.c +++ b/src/mainboard/google/samus/mainboard.c @@ -32,7 +32,7 @@ #include <arch/io.h> #include <arch/interrupt.h> #include <boot/coreboot_tables.h> -#include <ec/google/chromeec/ec.h> +#include "board_version.h" #include "ec.h" void mainboard_suspend_resume(void) @@ -41,15 +41,7 @@ void mainboard_suspend_resume(void) const char *smbios_mainboard_version(void) { - switch (google_chromeec_get_board_version()) { - case SAMUS_EC_BOARD_VERSION_EVT: - return "EVT"; - case SAMUS_EC_BOARD_VERSION_EVT2: - return "EVT2"; - case SAMUS_EC_BOARD_VERSION_EVT3: - return "EVT3"; - } - return "Unknown"; + return samus_board_version(); } static void mainboard_init(device_t dev) diff --git a/src/mainboard/google/samus/romstage.c b/src/mainboard/google/samus/romstage.c index 55658f5bd9..7c9aa6ee2b 100644 --- a/src/mainboard/google/samus/romstage.c +++ b/src/mainboard/google/samus/romstage.c @@ -30,6 +30,8 @@ #include <soc/romstage.h> #include <mainboard/google/samus/spd/spd.h> #include <mainboard/google/samus/gpio.h> +#include <ec/google/chromeec/ec.h> +#include "board_version.h" void mainboard_romstage_entry(struct romstage_params *rp) { @@ -40,8 +42,7 @@ void mainboard_romstage_entry(struct romstage_params *rp) if (rp->power_state->prev_sleep_state != SLEEP_STATE_S3) google_chromeec_kbbacklight(100); - printk(BIOS_INFO, "MLB: board version %d\n", - google_chromeec_get_board_version()); + printk(BIOS_INFO, "MLB: board version %s\n", samus_board_version()); /* Ensure the EC and PD are in the right mode for recovery */ google_chromeec_early_pd_init(); |