# This image was built using coreboot 4.5-1441-g1e05435-dirty
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
CONFIG_CBFS_SIZE=0x600000
CONFIG_VGA_BIOS=y
CONFIG_MAINBOARD_SERIAL_NUMBER="System Serial Number"
CONFIG_VGA_BIOS_FILE="3rdparty/blobs/vbios.bin"
CONFIG_HAVE_IFD_BIN=y
CONFIG_HAVE_ME_BIN=y
CONFIG_HAVE_MRC=y
CONFIG_MRC_FILE="3rdparty/blobs/mrc.bin"
CONFIG_HAVE_REFCODE_BLOB=y
CONFIG_REFCODE_BLOB_FILE="3rdparty/blobs/refcode.elf"
# CONFIG_S3_VGA_ROM_RUN is not set
CONFIG_VGA_ROM_RUN=y
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE_11B=y
CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y
CONFIG_BOOTSPLASH=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_SEABIOS_BOOTORDER_FILE="bootorder.txt"
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
