# 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 MAINBOARD_HAS_LPC_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

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
	string
	default "clevo/kbl-u"

config VARIANT_DIR
	string
	default "n13xwu" if BOARD_CLEVO_N130WU

config MAINBOARD_PART_NUMBER
	string
	default "N130WU" if BOARD_CLEVO_N130WU

config CBFS_SIZE
	default 0x600000 if BOARD_CLEVO_N130WU

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

config FMDFILE
	string
	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
	int
	default 2

config DIMM_SPD_SIZE
	int
	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
