# SPDX-License-Identifier: GPL-2.0-only

config BOARD_CLEVO_KBLU_COMMON
	def_bool n
	select BOARD_ROMSIZE_KB_8192
	select EC_ACPI
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
#	select HAVE_CMOS_DEFAULT
	select INTEL_GMA_HAVE_VBT
	select INTEL_LPSS_UART_FOR_CONSOLE
	select MAINBOARD_HAS_LIBGFXINIT
	select MEMORY_MAPPED_TPM
	select MAINBOARD_HAS_TPM2
	select NO_UART_ON_SUPERIO
	select SOC_INTEL_COMMON_BLOCK_HDA_VERB
	select SOC_INTEL_KABYLAKE
	select SPD_READ_BY_WORD
	select SYSTEM_TYPE_LAPTOP

config BOARD_CLEVO_N130WU_OPTIONS
	bool
	select BOARD_CLEVO_KBLU_COMMON

config BOARD_CLEVO_N130WU
	select BOARD_CLEVO_N130WU_OPTIONS

if BOARD_CLEVO_KBLU_COMMON

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

config MAINBOARD_DIR
	default "clevo/kbl-u"

config VARIANT_DIR
	default "n13xwu" if BOARD_CLEVO_N130WU

config MAINBOARD_PART_NUMBER
	default "N130WU" if BOARD_CLEVO_N130WU

config CBFS_SIZE
	default 0x600000 if BOARD_CLEVO_N130WU

config DEVICETREE
	default "variants/\$(CONFIG_VARIANT_DIR)/devicetree.cb"

config FMDFILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/variants/\$(CONFIG_VARIANT_DIR)/fmds/vboot-ro.fmd"	if VBOOT && !VBOOT_SLOTS_RW_A
	# TODO
#	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/fmds/vboot-roa.fmd"	if VBOOT_SLOTS_RW_A && !VBOOT_SLOTS_RW_AB
#	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/fmds/vboot-roab.fmd"	if VBOOT_SLOTS_RW_AB

config DIMM_MAX
	default 2

config DIMM_SPD_SIZE
	default 512

config VGA_BIOS_ID
	string
	default "8086,5917" if BOARD_CLEVO_N130WU

config PXE_ROM_ID
	string
	default "10ec,8168"

config UART_FOR_CONSOLE
	int
	default 2

config POST_DEVICE
	bool
	default n

config CONSOLE_POST
	bool
	default y

config LINEAR_FRAMEBUFFER_MAX_WIDTH
	int
	default 1920

config LINEAR_FRAMEBUFFER_MAX_HEIGHT
	int
	default 1080

endif
