summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/prodrive/hermes/Makefile.inc2
-rw-r--r--src/mainboard/prodrive/hermes/avalanche-data.vbtbin0 -> 4608 bytes
-rw-r--r--src/mainboard/prodrive/hermes/eeprom.h1
-rw-r--r--src/mainboard/prodrive/hermes/mainboard.c11
4 files changed, 14 insertions, 0 deletions
diff --git a/src/mainboard/prodrive/hermes/Makefile.inc b/src/mainboard/prodrive/hermes/Makefile.inc
index caaddec7be..63be66c655 100644
--- a/src/mainboard/prodrive/hermes/Makefile.inc
+++ b/src/mainboard/prodrive/hermes/Makefile.inc
@@ -10,3 +10,5 @@ ramstage-y += ramstage.c
ramstage-y += mainboard.c
ramstage-y += eeprom.c
ramstage-y += smbios.c
+
+$(call add_vbt_to_cbfs, vbt-avalanche.bin, avalanche-data.vbt)
diff --git a/src/mainboard/prodrive/hermes/avalanche-data.vbt b/src/mainboard/prodrive/hermes/avalanche-data.vbt
new file mode 100644
index 0000000000..c3513310bb
--- /dev/null
+++ b/src/mainboard/prodrive/hermes/avalanche-data.vbt
Binary files differ
diff --git a/src/mainboard/prodrive/hermes/eeprom.h b/src/mainboard/prodrive/hermes/eeprom.h
index a42a3d7520..4b609dfeab 100644
--- a/src/mainboard/prodrive/hermes/eeprom.h
+++ b/src/mainboard/prodrive/hermes/eeprom.h
@@ -63,6 +63,7 @@ _Static_assert(sizeof(struct eeprom_board_settings) == (10 + sizeof(uint32_t)),
struct __packed eeprom_bmc_settings {
uint8_t pcie_mux;
uint8_t hsi;
+ uint8_t efp3_displayport;
};
#define HERMES_SERIAL_NUMBER_LENGTH 32
diff --git a/src/mainboard/prodrive/hermes/mainboard.c b/src/mainboard/prodrive/hermes/mainboard.c
index 81ed641078..6ca9613b09 100644
--- a/src/mainboard/prodrive/hermes/mainboard.c
+++ b/src/mainboard/prodrive/hermes/mainboard.c
@@ -8,6 +8,7 @@
#include <crc_byte.h>
#include <device/device.h>
#include <device/dram/spd.h>
+#include <drivers/intel/gma/opregion.h>
#include <gpio.h>
#include <intelblocks/gpio.h>
#include <intelblocks/pmclib.h>
@@ -18,6 +19,16 @@
#include "eeprom.h"
#include "gpio.h"
+const char *mainboard_vbt_filename(void)
+{
+ const struct eeprom_bmc_settings *bmc_cfg = get_bmc_settings();
+
+ if (bmc_cfg && bmc_cfg->efp3_displayport)
+ return "vbt-avalanche.bin";
+ else
+ return "vbt.bin"; /* Poseidon */
+}
+
/* FIXME: Example code below */
static void mb_configure_dp1_pwr(bool enable)