diff options
-rw-r--r-- | src/mainboard/prodrive/hermes/Makefile.inc | 2 | ||||
-rw-r--r-- | src/mainboard/prodrive/hermes/avalanche-data.vbt | bin | 0 -> 4608 bytes | |||
-rw-r--r-- | src/mainboard/prodrive/hermes/eeprom.h | 1 | ||||
-rw-r--r-- | src/mainboard/prodrive/hermes/mainboard.c | 11 |
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 Binary files differnew file mode 100644 index 0000000000..c3513310bb --- /dev/null +++ b/src/mainboard/prodrive/hermes/avalanche-data.vbt 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) |