# This image was built using coreboot 4.5-23-g8e64174
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_NVRAMCUI_SECONDARY_PAYLOAD=y
CONFIG_TINT_SECONDARY_PAYLOAD=y
