# This image was built using coreboot 4.4-1886-g1ac773f
CONFIG_LOCALVERSION="6QET70WW (1.40)"
CONFIG_USE_OPTION_TABLE=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_BOOTBLOCK_NORMAL=y
CONFIG_VENDOR_LENOVO=y
CONFIG_CBFS_SIZE=0x270000
CONFIG_HAVE_IFD_BIN=y
CONFIG_HAVE_ME_BIN=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_HAVE_GBE_BIN=y
CONFIG_BOARD_LENOVO_X201=y
CONFIG_ENABLE_VMX=y
CONFIG_IFD_BIN_PATH="./blobs/flashregion_0_flashdescriptor.bin"
CONFIG_ME_BIN_PATH="./blobs/flashregion_2_intel_me.bin"
CONFIG_GBE_BIN_PATH="./blobs/flashregion_3_gbe.bin"
# CONFIG_ON_DEVICE_ROM_LOAD is not set
CONFIG_PCIEXP_CLK_PM=y
CONFIG_PCIEXP_L1_SUB_STATE=y
CONFIG_DIGITIZER_ABSENT=y
CONFIG_LPC_TPM=y
CONFIG_PAYLOAD_ELF=y
CONFIG_PAYLOAD_FILE="payloads/grub2.elf"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_NVRAMCUI_SECONDARY_PAYLOAD=y
CONFIG_TINT_SECONDARY_PAYLOAD=y
