#
# Automatically generated make config: don't edit
# coreboot version: 
# Tue Jul 17 09:31:01 2012
#

#
# General setup
#
CONFIG_EXPERT=y
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set
# CONFIG_SCANBUILD_ENABLE is not set
# CONFIG_CCACHE is not set
# CONFIG_SCONFIG_GENPARSER is not set
# CONFIG_USE_OPTION_TABLE is not set
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_EARLY_CBMEM_INIT=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_USE_BLOBS=y
CONFIG_REQUIRES_BLOB=y

#
# Mainboard
#
# CONFIG_VENDOR_AAEON is not set
# CONFIG_VENDOR_ABIT is not set
# CONFIG_VENDOR_ADVANSUS is not set
# CONFIG_VENDOR_ADVANTECH is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_ARIMA is not set
# CONFIG_VENDOR_ARTECGROUP is not set
# CONFIG_VENDOR_ASI is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_A_TREND is not set
# CONFIG_VENDOR_AVALUE is not set
# CONFIG_VENDOR_AXUS is not set
# CONFIG_VENDOR_AZZA is not set
# CONFIG_VENDOR_BCOM is not set
# CONFIG_VENDOR_BIFFEROS is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BROADCOM is not set
# CONFIG_VENDOR_COMPAL is not set
# CONFIG_VENDOR_COMPAQ is not set
# CONFIG_VENDOR_DIGITALLOGIC is not set
# CONFIG_VENDOR_EAGLELION is not set
# CONFIG_VENDOR_ECS is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_IBM is not set
# CONFIG_VENDOR_IEI is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_IWAVE is not set
# CONFIG_VENDOR_IWILL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LANNER is not set
# CONFIG_VENDOR_LENOVO is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MITAC is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_NEC is not set
# CONFIG_VENDOR_NEWISYS is not set
# CONFIG_VENDOR_NOKIA is not set
# CONFIG_VENDOR_NVIDIA is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_RCA is not set
# CONFIG_VENDOR_RODA is not set
CONFIG_VENDOR_SAMSUNG=y
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SOYO is not set
# CONFIG_VENDOR_SUNW is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_TECHNEXION is not set
# CONFIG_VENDOR_TECHNOLOGIC is not set
# CONFIG_VENDOR_TELEVIDEO is not set
# CONFIG_VENDOR_THOMSON is not set
# CONFIG_VENDOR_TRAVERSE is not set
# CONFIG_VENDOR_TYAN is not set
# CONFIG_VENDOR_VIA is not set
# CONFIG_VENDOR_WINENT is not set
# CONFIG_VENDOR_WYSE is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="samsung/lumpy"
CONFIG_MAINBOARD_PART_NUMBER="Lumpy"
CONFIG_IRQ_SLOT_COUNT=18
CONFIG_MAINBOARD_VENDOR="SAMSUNG"
CONFIG_MAX_CPUS=8
CONFIG_RAMTOP=0x200000
CONFIG_HEAP_SIZE=0x4000
CONFIG_RAMBASE=0x100000
CONFIG_VGA_BIOS_ID="8086,0106"
CONFIG_STACK_SIZE=0x8000
CONFIG_ACPI_SSDTX_NUM=0
CONFIG_DRIVERS_PS2_KEYBOARD=y
CONFIG_WARNINGS_ARE_ERRORS=y
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_VGA_BIOS=y
# CONFIG_CONSOLE_POST is not set
# CONFIG_PCI_ROM_RUN is not set
# CONFIG_UDELAY_IO is not set
CONFIG_DCACHE_RAM_BASE=0xff7f0000
CONFIG_DCACHE_RAM_SIZE=0x10000
CONFIG_DCACHE_RAM_GLOBAL_VAR_SIZE=0x0
# CONFIG_SERIAL_CPU_INIT is not set
CONFIG_VGA_BIOS_FILE="3rdparty/mainboard/samsung/lumpy/snm_2130_coreboot.bin"
CONFIG_BOARD_HAS_FADT=y
# CONFIG_PCI_64BIT_PREF_MEM is not set
CONFIG_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/bd82x6x/bootblock.c"
# CONFIG_MMCONF_SUPPORT_DEFAULT is not set
# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
# CONFIG_GENERATE_PIRQ_TABLE is not set
CONFIG_LOGICAL_CPUS=y
CONFIG_IOAPIC=y
CONFIG_SMP=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
CONFIG_MAXIMUM_CONSOLE_LOGLEVEL=8
# CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL is not set
# CONFIG_CONSOLE_SERIAL8250 is not set
# CONFIG_USBDEBUG is not set
CONFIG_VAR_MTRR_HOLE=y
# CONFIG_LIFT_BSP_APIC_ID is not set
# CONFIG_WAIT_BEFORE_CPUS_INIT is not set
# CONFIG_K8_REV_F_SUPPORT is not set
CONFIG_BOARD_SAMSUNG_LUMPY=y
# CONFIG_BOARD_SAMSUNG_STUMPY is not set
CONFIG_BOARD_ROMSIZE_KB_8192=y
# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
CONFIG_COREBOOT_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
CONFIG_COREBOOT_ROMSIZE_KB=1024
CONFIG_ROM_SIZE=0x100000
CONFIG_CACHE_ROM_SIZE=0x100000
CONFIG_ARCH_X86=y

#
# Architecture (x86)
#
# CONFIG_AP_IN_SIPI_WAIT is not set
# CONFIG_SIPI_VECTOR_IN_ROM is not set
CONFIG_MAX_REBOOT_CNT=3
CONFIG_X86_BOOTBLOCK_SIMPLE=y
# CONFIG_X86_BOOTBLOCK_NORMAL is not set
CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c"
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_ROMCC is not set
CONFIG_PC80_SYSTEM=y
# CONFIG_HAVE_CMOS_DEFAULT is not set
CONFIG_HAVE_ARCH_MEMSET=y
CONFIG_HAVE_ARCH_MEMCPY=y
# CONFIG_BIG_ENDIAN is not set
CONFIG_LITTLE_ENDIAN=y
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
# CONFIG_PCI_CONF2 is not set

#
# Chipset
#

#
# CPU
#
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_CPU_ADDR_BITS=36
CONFIG_XIP_ROM_SIZE=0x10000
CONFIG_CPU_SPECIFIC_OPTIONS=y
# CONFIG_CPU_AMD_AGESA is not set
CONFIG_HAVE_INIT_TIMER=y
CONFIG_HIGH_SCRATCH_MEMORY_SIZE=0x0
CONFIG_CPU_INTEL_MODEL_206AX=y
CONFIG_BOOTBLOCK_CPU_INIT="cpu/intel/model_206ax/bootblock.c"
CONFIG_SMM_TSEG_SIZE=0x800000
CONFIG_MICROCODE_INCLUDE_PATH="src/cpu/intel/model_206ax"
CONFIG_SSE2=y
CONFIG_CPU_INTEL_SOCKET_RPGA989=y
CONFIG_CACHE_MRC_BIN=y
CONFIG_UDELAY_LAPIC=y
# CONFIG_UDELAY_TSC is not set
# CONFIG_UDELAY_TIMER2 is not set
# CONFIG_TSC_CALIBRATE_WITH_IO is not set
CONFIG_CACHE_ROM=y
CONFIG_SMM_TSEG=y
CONFIG_CACHE_AS_RAM=y
CONFIG_AP_SIPI_VECTOR=0xfffff000
CONFIG_MMX=y
CONFIG_SSE=y
CONFIG_MICROCODE_IN_CBFS=y

#
# Northbridge
#
CONFIG_VIDEO_MB=0
# CONFIG_NORTHBRIDGE_AMD_AGESA is not set
# CONFIG_S3_VGA_ROM_RUN is not set
# CONFIG_AMD_NB_CIMX is not set
# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set
CONFIG_NORTHBRIDGE_INTEL_SANDYBRIDGE=y
CONFIG_CACHE_MRC_SIZE_KB=256
CONFIG_MRC_CACHE_BASE=0xff800000
CONFIG_MRC_CACHE_LOCATION=0x1ec000
CONFIG_MRC_CACHE_SIZE=0x10000
CONFIG_MRC_CACHE_ALIGNMENT=0x1000
CONFIG_EXTERNAL_MRC_BLOB=y
CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x4000
CONFIG_HAVE_MRC=y
CONFIG_MRC_FILE="/build/lumpy/firmware/mrc.bin"

#
# Southbridge
#
CONFIG_EHCI_BAR=0xfef00000
CONFIG_EHCI_DEBUG_OFFSET=0xa0
# CONFIG_AMD_SB_CIMX is not set
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set
CONFIG_SOUTHBRIDGE_INTEL_BD82X6X=y
CONFIG_SOUTH_BRIDGE_OPTIONS=y
# CONFIG_SERIRQ_CONTINUOUS_MODE is not set
CONFIG_PCH_CHIP_NAME="Cougar Point"

#
# Super I/O
#
CONFIG_SUPERIO_SMSC_MEC1308=y

#
# Devices
#
CONFIG_VGA_BRIDGE_SETUP=y
CONFIG_VGA_ROM_RUN=y
# CONFIG_ON_DEVICE_ROM_RUN is not set
CONFIG_PCI_OPTION_ROM_RUN_REALMODE=y
# CONFIG_PCI_OPTION_ROM_RUN_YABEL is not set
# CONFIG_MULTIPLE_VGA_ADAPTERS is not set
# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_AGP_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_COMMON_CLOCK=y
CONFIG_PCIEXP_ASPM=y

#
# Embedded Controllers
#
CONFIG_EC_SMSC_MEC1308=y

#
# Generic Drivers
#
# CONFIG_DRIVERS_OXFORD_OXPCIE is not set
# CONFIG_DRIVERS_SIL_3114 is not set
CONFIG_SPI_FLASH=y
# CONFIG_SPI_FLASH_SMM is not set
CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_SPI_FLASH_NO_FAST_READ=y
# CONFIG_ELOG is not set
CONFIG_PCI_BUS_SEGN_BITS=0
CONFIG_MMCONF_SUPPORT=y

#
# Console
#
CONFIG_HAVE_USBDEBUG=y
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x10000
CONFIG_CONSOLE_CAR_BUFFER_SIZE=0xc00
CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_8=y
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_0 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
# CONFIG_CONSOLE_LOGBUF is not set
# CONFIG_NO_POST is not set
CONFIG_POST_PORT=0x80
CONFIG_HAVE_UART_IO_MAPPED=y
# CONFIG_HAVE_UART_MEMORY_MAPPED is not set
CONFIG_HAVE_ACPI_RESUME=y
# CONFIG_HAVE_ACPI_SLIC is not set
CONFIG_HAVE_HARD_RESET=y
CONFIG_HAVE_MAINBOARD_RESOURCES=y
CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PIRQ_ROUTE is not set
CONFIG_HAVE_SMI_HANDLER=y
# CONFIG_PCI_IO_CFG_EXT is not set
CONFIG_TPM=y
CONFIG_USE_WATCHDOG_ON_BOOT=y
# CONFIG_VGA is not set
CONFIG_GFXUMA=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_GENERATE_ACPI_TABLES=y
# CONFIG_GENERATE_MP_TABLE is not set
CONFIG_GENERATE_SMBIOS_TABLES=y

#
# System tables
#
CONFIG_WRITE_HIGH_TABLES=y
# CONFIG_MULTIBOOT is not set

#
# Payload
#
CONFIG_PAYLOAD_NONE=y
# CONFIG_PAYLOAD_ELF is not set
# CONFIG_PAYLOAD_SEABIOS is not set
# CONFIG_PAYLOAD_FILO is not set
# CONFIG_COMPRESSED_PAYLOAD_NRV2B is not set

#
# VGA BIOS
#

#
# Display
#
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE=0x114
CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y
# CONFIG_BOOTSPLASH is not set

#
# Debugging
#
# CONFIG_GDB_STUB is not set
# CONFIG_DEBUG_CBFS is not set
# CONFIG_HAVE_DEBUG_RAM_SETUP is not set
# CONFIG_HAVE_DEBUG_CAR is not set
# CONFIG_HAVE_DEBUG_SMBUS is not set
# CONFIG_DEBUG_SMI is not set
# CONFIG_DEBUG_SMM_RELOCATION is not set
# CONFIG_DEBUG_MALLOC is not set
CONFIG_DEBUG_ACPI=y
# CONFIG_REALMODE_DEBUG is not set
# CONFIG_DEBUG_TPM is not set
# CONFIG_DEBUG_SPI_FLASH is not set
# CONFIG_DEBUG_INTEL_ME is not set
# CONFIG_LLSHELL is not set
# CONFIG_TRACE is not set
# CONFIG_AP_CODE_IN_CAR is not set
# CONFIG_RAMINIT_SYSINFO is not set
# CONFIG_ENABLE_APIC_EXT_ID is not set
# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set

#
# Deprecated
#
# CONFIG_BOARD_HAS_HARD_RESET is not set
# CONFIG_HAVE_BUS_CONFIG is not set
# CONFIG_PCIE_TUNING is not set
CONFIG_ID_SECTION_OFFSET=0x80
CONFIG_CHROMEOS=y

#
# ChromeOS
#
CONFIG_VBNV_OFFSET=0x26
CONFIG_VBNV_SIZE=0x10
CONFIG_CHROMEOS_RAMOOPS=y
CONFIG_CHROMEOS_RAMOOPS_RAM_START=0x00f00000
CONFIG_CHROMEOS_RAMOOPS_RAM_SIZE=0x00100000
