config BOARD_SUPERMICRO_BASEBOARD_X11_LGA1151_SERIES
	def_bool n
	select BOARD_ROMSIZE_KB_16384
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select HAVE_CMOS_DEFAULT
	select SOC_INTEL_KABYLAKE
	select SKYLAKE_SOC_PCH_H
	select MAINBOARD_HAS_LPC_TPM
	select DRIVERS_ASPEED_AST2050
	select SUPERIO_ASPEED_AST2400
	select IPMI_KCS
	select MAINBOARD_NO_FSP_GOP
	select SUPERIO_ASPEED_HAS_UART_DELAY_WORKAROUND
	select NO_FADT_8042
	select DRIVERS_UART_8250IO
	select SOC_INTEL_COMMON_BLOCK_LPC_COMB_ENABLE

if BOARD_SUPERMICRO_BASEBOARD_X11_LGA1151_SERIES

config MAINBOARD_FAMILY
	string
	default "Supermicro_X11_LGA1151_SERIES"

config MAINBOARD_PART_NUMBER
	string
	default "X11SSH-TF"	if BOARD_SUPERMICRO_X11SSH_TF
	default "X11SSM-F"	if BOARD_SUPERMICRO_X11SSM_F
	default "X11SSH-F/LN4F"	if BOARD_SUPERMICRO_X11SSH_F

config MAINBOARD_DIR
	string
	default "supermicro/x11-lga1151-series"

config VARIANT_DIR
	string
	default "x11ssh-tf"	if BOARD_SUPERMICRO_X11SSH_TF
	default "x11ssm-f"	if BOARD_SUPERMICRO_X11SSM_F
	default "x11ssh-f"	if BOARD_SUPERMICRO_X11SSH_F

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

config VBOOT
	select VBOOT_NO_BOARD_SUPPORT
	select GBB_FLAG_DISABLE_LID_SHUTDOWN
	select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
	select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
	select GBB_FLAG_DISABLE_FWMP

if VBOOT

config VBOOT_SLOTS_RW_AB
	default y

endif

config VBOOT_VBNV_OFFSET
	hex
	default 0x2a

config FMDFILE
	string
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/vboot-ro-rwab.fmd" if VBOOT_SLOTS_RW_AB

config DRIVERS_IPMI_SUPERMICRO_OEM
	bool
	default y

config CBFS_SIZE
	hex
	default 0xb00000

config IRQ_SLOT_COUNT
	int
	default 18

config CONSOLE_POST
	bool
	default y

config POST_DEVICE
	bool
	default n

config DIMM_SPD_SIZE
	int
	default 512

config SUPERMICRO_BOARDID
	string
	default "0896"	if BOARD_SUPERMICRO_X11SSM_F
	default "089C"	if BOARD_SUPERMICRO_X11SSH_TF
	default "0884"	if BOARD_SUPERMICRO_X11SSH_F

endif  # BOARD_SUPERMICRO_BASEBOARD_X11_LGA1151_SERIES
