if BOARD_INTEL_STRAGO

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select BOARD_ROMSIZE_KB_8192
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_BOARDID
	select EC_GOOGLE_CHROMEEC_LPC
	select EC_GOOGLE_CHROMEEC_MEC
	select EC_GOOGLE_CHROMEEC_ACPI_MEMMAP
	select ENABLE_BUILTIN_COM1
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select MAINBOARD_HAS_CHROMEOS
	select MAINBOARD_HAS_LPC_TPM
	select SOC_INTEL_BRASWELL
	select PCIEXP_L1_SUB_STATE

config VBOOT
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select VBOOT_LID_SWITCH
	select VBOOT_VBNV_CMOS

config MAINBOARD_DIR
	string
	default "intel/strago"

config MAINBOARD_PART_NUMBER
	string
	default "Strago"

config VGA_BIOS_FILE
	string
	depends on VGA_BIOS
	default "3rdparty/blobs/mainboard/intel/strago/vgabios.bin"
	help
	  The C0 version of the video BIOS gets computed from this name
	  so that they can both be added.  Only the correct one for the
	  system will be run.

config VGA_BIOS_ID
	string
	depends on VGA_BIOS
	default "8086,22b0"
	help
	  The VGA_BIOS_ID for the C0 version of the video BIOS is hardcoded
	  in soc/intel/braswell/Makefile.inc as 8086,22b1

config CBFS_SIZE
	default 0x200000

endif # BOARD_INTEL_STRAGO
