if BOARD_GOOGLE_PARROT

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select SYSTEM_TYPE_LAPTOP
	select NORTHBRIDGE_INTEL_SANDYBRIDGE
	select SOUTHBRIDGE_INTEL_C216
	select EC_COMPAL_ENE932
	select BOARD_ROMSIZE_KB_8192
	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 HAVE_IFD_BIN
	select HAVE_ME_BIN
	# Workaround for EC/KBC IRQ1.
	select SERIRQ_CONTINUOUS_MODE
	# This board also feature sandy-bridge CPU's so must have LVDS
	select GFX_GMA_PANEL_1_ON_LVDS
	select MAINBOARD_HAS_LIBGFXINIT
	select SANDYBRIDGE_VBOOT_IN_ROMSTAGE

config VBOOT
	select VBOOT_VBNV_CMOS

config MAINBOARD_DIR
	default "google/parrot"

config MAINBOARD_PART_NUMBER
	default "Parrot"

config MAINBOARD_SMBIOS_MANUFACTURER
	string
	default "GOOGLE"

endif # BOARD_GOOGLE_PARROT
