if BOARD_SAMSUNG_LUMPY

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select SYSTEM_TYPE_LAPTOP
	select BOARD_ROMSIZE_KB_8192
	select MAINBOARD_HAS_CHROMEOS
	select MAINBOARD_HAS_LPC_TPM
	select MAINBOARD_HAS_TPM1
	select EC_SMSC_MEC1308
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select NORTHBRIDGE_INTEL_SANDYBRIDGE
	select MAINBOARD_HAS_LIBGFXINIT
	select GFX_GMA_PANEL_1_ON_LVDS
	select SOUTHBRIDGE_INTEL_BD82X6X
	select SUPERIO_SMSC_MEC1308
	select HAVE_IFD_BIN
	select HAVE_ME_BIN
# LPC47N207 selected for external LPC card
# not on board, should be made selectable.
	select SUPERIO_SMSC_LPC47N207
	select DRIVERS_GENERIC_IOAPIC
	select INTEL_INT15
	select SANDYBRIDGE_VBOOT_IN_ROMSTAGE
	select HAVE_SPD_IN_CBFS

config VBOOT
	select VBOOT_VBNV_CMOS

config MAINBOARD_DIR
	default "samsung/lumpy"

config MAINBOARD_PART_NUMBER
	default "Lumpy"

if EARLY_PCI_BRIDGE

config EARLY_PCI_BRIDGE_DEVICE
	hex
	default 0x1c

config EARLY_PCI_BRIDGE_FUNCTION
	hex
	default 0x0

config EARLY_PCI_MMIO_BASE
	hex
	default 0xe0400000

endif

endif # BOARD_SAMSUNG_LUMPY
