config BOARD_GOOGLE_BASEBOARD_SLIPPY
	def_bool n
	select SYSTEM_TYPE_LAPTOP
	select NORTHBRIDGE_INTEL_HASWELL
	select SOUTHBRIDGE_INTEL_LYNXPOINT
	select INTEL_LYNXPOINT_LP
	select BOARD_ROMSIZE_KB_8192
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_LPC
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select HAVE_ACPI_RESUME
	select MAINBOARD_HAS_CHROMEOS
	select MAINBOARD_HAS_LPC_TPM
	select MAINBOARD_HAS_TPM1
	select INTEL_INT15
	select MAINBOARD_HAS_LIBGFXINIT
	select INTEL_GMA_HAVE_VBT
	select DRIVERS_I2C_RTD2132 if BOARD_GOOGLE_LEON
	select HAVE_SPD_IN_CBFS

if BOARD_GOOGLE_BASEBOARD_SLIPPY

config VBOOT
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select VBOOT_LID_SWITCH
	select VBOOT_VBNV_CMOS

config MAINBOARD_DIR
	string
	default "google/slippy"

config VARIANT_DIR
	string
	default "falco" if BOARD_GOOGLE_FALCO
	default "leon" if BOARD_GOOGLE_LEON
	default "peppy" if BOARD_GOOGLE_PEPPY
	default "wolf" if BOARD_GOOGLE_WOLF

config MAINBOARD_PART_NUMBER
	string
	default "Falco" if BOARD_GOOGLE_FALCO
	default "Leon" if BOARD_GOOGLE_LEON
	default "Peppy" if BOARD_GOOGLE_PEPPY
	default "Wolf" if BOARD_GOOGLE_WOLF

config MAINBOARD_FAMILY
	string
	default "Google_Slippy"

config OVERRIDE_DEVICETREE
	string
	default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"

config VGA_BIOS_FILE
	string
	default "pci8086,0406.rom"

# Override the default variant behavior, since the data.vbt is the same
# for all variants.
config INTEL_GMA_VBT_FILE
	default "src/mainboard/\$(MAINBOARDDIR)/data.vbt"

config MAINBOARD_SMBIOS_MANUFACTURER
	string
	default "GOOGLE"

config ENABLE_DDR_2X_REFRESH
	default y if BOARD_GOOGLE_FALCO

endif # BOARD_GOOGLE_BASEBOARD_SLIPPY
