summaryrefslogtreecommitdiffstats
path: root/src/mainboard
diff options
context:
space:
mode:
authorFrans Hendriks <fhendriks@eltan.com>2019-10-01 13:41:04 +0200
committerFelix Held <felix-coreboot@felixheld.de>2019-10-03 14:04:35 +0000
commit0b20b83b7da32fc96f41ca7fe92c920d36a05b05 (patch)
tree3e411813ced842c2aec58070b2565d4071537a6d /src/mainboard
parent22f009901dd0874909d66122ac2ad37d53d8d366 (diff)
downloadcoreboot-0b20b83b7da32fc96f41ca7fe92c920d36a05b05.tar.gz
coreboot-0b20b83b7da32fc96f41ca7fe92c920d36a05b05.tar.bz2
coreboot-0b20b83b7da32fc96f41ca7fe92c920d36a05b05.zip
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>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/facebook/fbg1701/mainboard.c10
-rw-r--r--src/mainboard/facebook/fbg1701/mainboard.h1
-rw-r--r--src/mainboard/facebook/fbg1701/ramstage.c6
3 files changed, 12 insertions, 5 deletions
diff --git a/src/mainboard/facebook/fbg1701/mainboard.c b/src/mainboard/facebook/fbg1701/mainboard.c
index 8524b24000d1..a8cb34c744e1 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 e161da03965b..3cace548b336 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 5c78bccac584..c5fb79881ae3 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;