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>
This commit is contained in:
parent
22f009901d
commit
0b20b83b7d
|
@ -16,7 +16,10 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <arch/io.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
|
#include "mainboard.h"
|
||||||
|
#include "onboard.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Declare the resources we are using
|
* 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;
|
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
|
* mainboard_enable is executed as first thing after
|
||||||
* enumerate_buses().
|
* enumerate_buses().
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#ifndef MAINBOARD_H
|
#ifndef MAINBOARD_H
|
||||||
#define MAINBOARD_H
|
#define MAINBOARD_H
|
||||||
|
|
||||||
|
unsigned int mainboard_read_pcb_version(void);
|
||||||
void *load_logo(size_t *logo_size);
|
void *load_logo(size_t *logo_size);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -324,15 +324,11 @@ static const struct edp_data b101uan08_table[] = {
|
||||||
|
|
||||||
static void mainboard_configure_edp_bridge(void)
|
static void mainboard_configure_edp_bridge(void)
|
||||||
{
|
{
|
||||||
u8 cpld_version;
|
|
||||||
const struct edp_data *edptable;
|
const struct edp_data *edptable;
|
||||||
unsigned int loops;
|
unsigned int loops;
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
cpld_version = (inb(CPLD_PCB_VERSION_PORT) & CPLD_PCB_VERSION_MASK) >>
|
if (mainboard_read_pcb_version() < 7)
|
||||||
CPLD_PCB_VERSION_BIT;
|
|
||||||
printk(BIOS_DEBUG, "CPLD version: %x\n", cpld_version);
|
|
||||||
if (cpld_version < 7)
|
|
||||||
edptable = b101uan01_table;
|
edptable = b101uan01_table;
|
||||||
else
|
else
|
||||||
edptable = b101uan08_table;
|
edptable = b101uan08_table;
|
||||||
|
|
Loading…
Reference in New Issue