# This image was built using coreboot 4.6-1272-gd533b16669
CONFIG_CCACHE=y
CONFIG_USE_OPTION_TABLE=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_USE_BLOBS=y
CONFIG_VENDOR_LENOVO=y
CONFIG_CBFS_SIZE=0xfe0000
CONFIG_PAYLOAD_CONFIGFILE="~/git/coreboot/seabios-disable-tcg.cfg"
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_HAVE_IFD_BIN=y
CONFIG_HAVE_ME_BIN=y
CONFIG_HAVE_GBE_BIN=y
CONFIG_BOARD_LENOVO_T430S=y
CONFIG_USBDEBUG=y
CONFIG_PCIEXP_L1_SUB_STATE=y
CONFIG_PCIEXP_CLK_PM=y
CONFIG_UART_PCI_ADDR=0
CONFIG_NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES=y
CONFIG_CHECK_ME=y
CONFIG_BOOTBLOCK_NORMAL=y
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_USBDEBUG_DEFAULT_PORT=2
CONFIG_USBDEBUG_DONGLE_FTDI_FT232H=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_LPC_TPM=y
CONFIG_CONSOLE_POST=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_NVRAMCUI_SECONDARY_PAYLOAD=y
CONFIG_TINT_SECONDARY_PAYLOAD=y
CONFIG_DEBUG_CBFS=y
CONFIG_DEBUG_RAM_SETUP=y
CONFIG_DEBUG_SMI=y
CONFIG_DEBUG_MALLOC=y
CONFIG_DEBUG_ACPI=y
CONFIG_DEBUG_SPI_FLASH=y
CONFIG_DEBUG_ADA_CODE=y
