Add support to enable/disable builtin GbE (again)

This requires a new system agent binary (v6 / v11 on haswell).
Note that the existing system agent binaries are long time obsolete
and won't work with current coreboot, so this update is overdue.

Change-Id: I48d8649576ca84d2b85ab082ce06f3462e189059
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/3568
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Stefan Reinauer 2013-06-27 15:59:18 -07:00 committed by Ronald G. Minnich
parent e44a89f6fd
commit 1cc3416f5f
6 changed files with 7 additions and 9 deletions

View File

@ -148,6 +148,7 @@ void main(unsigned long bist)
#endif #endif
struct pei_data pei_data = { struct pei_data pei_data = {
.pei_version = PEI_VERSION,
.mchbar = DEFAULT_MCHBAR, .mchbar = DEFAULT_MCHBAR,
.dmibar = DEFAULT_DMIBAR, .dmibar = DEFAULT_DMIBAR,
.epbar = DEFAULT_EPBAR, .epbar = DEFAULT_EPBAR,

View File

@ -183,6 +183,7 @@ void main(unsigned long bist)
}; };
#endif #endif
struct pei_data pei_data = { struct pei_data pei_data = {
pei_version: PEI_VERSION,
mchbar: DEFAULT_MCHBAR, mchbar: DEFAULT_MCHBAR,
dmibar: DEFAULT_DMIBAR, dmibar: DEFAULT_DMIBAR,
epbar: DEFAULT_EPBAR, epbar: DEFAULT_EPBAR,

View File

@ -31,7 +31,7 @@
#define PEI_DATA_H #define PEI_DATA_H
typedef void (*tx_byte_func)(unsigned char byte); typedef void (*tx_byte_func)(unsigned char byte);
#define PEI_VERSION 10 #define PEI_VERSION 11
struct pei_data struct pei_data
{ {
@ -53,6 +53,7 @@ struct pei_data
uint8_t spd_addresses[4]; uint8_t spd_addresses[4];
int boot_mode; int boot_mode;
int ec_present; int ec_present;
int gbe_enable;
// 0 = leave channel enabled // 0 = leave channel enabled
// 1 = disable dimm 0 on channel // 1 = disable dimm 0 on channel
// 2 = disable dimm 1 on channel // 2 = disable dimm 1 on channel

View File

@ -118,8 +118,7 @@ config HAVE_MRC
config MRC_FILE config MRC_FILE
string "Intel System Agent path and filename" string "Intel System Agent path and filename"
depends on HAVE_MRC depends on HAVE_MRC
default "systemagent-ivybridge.bin" if NORTHBRIDGE_INTEL_IVYBRIDGE default "systemagent-r6.bin"
default "systemagent-sandybridge.bin" if NORTHBRIDGE_INTEL_SANDYBRIDGE
help help
The path and filename of the file to use as System Agent The path and filename of the file to use as System Agent
binary. binary.

View File

@ -35,12 +35,7 @@ smm-$(CONFIG_HAVE_SMI_HANDLER) += finalize.c
# We don't ship that, but booting without it is bound to fail # We don't ship that, but booting without it is bound to fail
cbfs-files-$(CONFIG_HAVE_MRC) += mrc.bin cbfs-files-$(CONFIG_HAVE_MRC) += mrc.bin
mrc.bin-file := $(call strip_quotes,$(CONFIG_MRC_FILE)) mrc.bin-file := $(call strip_quotes,$(CONFIG_MRC_FILE))
ifeq ($(CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE),y)
mrc.bin-position := 0xfffa0000 mrc.bin-position := 0xfffa0000
endif
ifeq ($(CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE),y)
mrc.bin-position := 0xfffe0000
endif
mrc.bin-type := 0xab mrc.bin-type := 0xab
$(obj)/mrc.cache: $(obj)/mrc.cache:

View File

@ -38,7 +38,7 @@ typedef struct {
} pch_usb3_controller_settings; } pch_usb3_controller_settings;
typedef void (*tx_byte_func)(unsigned char byte); typedef void (*tx_byte_func)(unsigned char byte);
#define PEI_VERSION 5 #define PEI_VERSION 6
struct pei_data struct pei_data
{ {
@ -61,6 +61,7 @@ struct pei_data
uint8_t ts_addresses[4]; uint8_t ts_addresses[4];
int boot_mode; int boot_mode;
int ec_present; int ec_present;
int gbe_enable;
// 0 = leave channel enabled // 0 = leave channel enabled
// 1 = disable dimm 0 on channel // 1 = disable dimm 0 on channel
// 2 = disable dimm 1 on channel // 2 = disable dimm 1 on channel