# This image was built using coreboot 4.12-284-g165efa1b86
# CONFIG_COLLECT_TIMESTAMPS is not set
CONFIG_VENDOR_LENOVO=y
CONFIG_NO_POST=y
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_HAVE_IFD_BIN=y
CONFIG_BOARD_LENOVO_X201=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_SEABIOS_PS2_TIMEOUT=3000
CONFIG_HAVE_ME_BIN=y
CONFIG_CHECK_ME=y
CONFIG_HAVE_GBE_BIN=y
# CONFIG_INTEL_GMA_ADD_VBT is not set
CONFIG_DRIVERS_PS2_KEYBOARD=y
CONFIG_TPM_DEACTIVATE=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6=y
