diff options
author | Frans Hendriks <fhendriks@eltan.com> | 2019-10-01 13:41:04 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2019-10-03 14:04:35 +0000 |
commit | 0b20b83b7da32fc96f41ca7fe92c920d36a05b05 (patch) | |
tree | 3e411813ced842c2aec58070b2565d4071537a6d | |
parent | 22f009901dd0874909d66122ac2ad37d53d8d366 (diff) | |
download | coreboot-0b20b83b7da32fc96f41ca7fe92c920d36a05b05.tar.xz |
mb/facebook/fbg1701: Add mainboard_read_pcb_version()
PCB version is determined using inb() in actual code.
Create function mainboard_read_pcb_version to read pcb version.
BUG=N/A
TEST=Boot and verified on Facebook FBG-1701
Change-Id: I7c16627f468d84ca4ad2aab8bf9fb555f50dc23c
Signed-off-by: Frans Hendriks <fhendriks@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35741
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
-rw-r--r-- | src/mainboard/facebook/fbg1701/mainboard.c | 10 | ||||
-rw-r--r-- | src/mainboard/facebook/fbg1701/mainboard.h | 1 | ||||
-rw-r--r-- | src/mainboard/facebook/fbg1701/ramstage.c | 6 |
3 files changed, 12 insertions, 5 deletions
diff --git a/src/mainboard/facebook/fbg1701/mainboard.c b/src/mainboard/facebook/fbg1701/mainboard.c index 8524b24000..a8cb34c744 100644 --- a/src/mainboard/facebook/fbg1701/mainboard.c +++ b/src/mainboard/facebook/fbg1701/mainboard.c @@ -16,7 +16,10 @@ * GNU General Public License for more details. */ +#include <arch/io.h> #include <device/device.h> +#include "mainboard.h" +#include "onboard.h" /* * Declare the resources we are using @@ -36,6 +39,13 @@ static void mainboard_reserve_resources(struct device *dev) res->flags = IORESOURCE_IRQ | IORESOURCE_ASSIGNED | IORESOURCE_FIXED; } +/* Read PCB version */ +unsigned int mainboard_read_pcb_version(void) +{ + return ((inb(CPLD_PCB_VERSION_PORT) & CPLD_PCB_VERSION_MASK) >> + CPLD_PCB_VERSION_BIT); +} + /* * mainboard_enable is executed as first thing after * enumerate_buses(). diff --git a/src/mainboard/facebook/fbg1701/mainboard.h b/src/mainboard/facebook/fbg1701/mainboard.h index e161da0396..3cace548b3 100644 --- a/src/mainboard/facebook/fbg1701/mainboard.h +++ b/src/mainboard/facebook/fbg1701/mainboard.h @@ -16,6 +16,7 @@ #ifndef MAINBOARD_H #define MAINBOARD_H +unsigned int mainboard_read_pcb_version(void); void *load_logo(size_t *logo_size); #endif diff --git a/src/mainboard/facebook/fbg1701/ramstage.c b/src/mainboard/facebook/fbg1701/ramstage.c index 5c78bccac5..c5fb79881a 100644 --- a/src/mainboard/facebook/fbg1701/ramstage.c +++ b/src/mainboard/facebook/fbg1701/ramstage.c @@ -324,15 +324,11 @@ static const struct edp_data b101uan08_table[] = { static void mainboard_configure_edp_bridge(void) { - u8 cpld_version; const struct edp_data *edptable; unsigned int loops; int status; - cpld_version = (inb(CPLD_PCB_VERSION_PORT) & CPLD_PCB_VERSION_MASK) >> - CPLD_PCB_VERSION_BIT; - printk(BIOS_DEBUG, "CPLD version: %x\n", cpld_version); - if (cpld_version < 7) + if (mainboard_read_pcb_version() < 7) edptable = b101uan01_table; else edptable = b101uan08_table; |