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

config BOARD_RAZER_BLADE_STEALTH_KBL
	bool
	select SYSTEM_TYPE_LAPTOP
	select BOARD_ROMSIZE_KB_8192
	select SUPERIO_ITE_IT8528E
	select SOC_INTEL_KABYLAKE
	select SOC_INTEL_COMMON_BLOCK_HDA_VERB
	select MAINBOARD_HAS_LIBGFXINIT
	select HAVE_SPD_IN_CBFS
	select DRIVERS_I2C_HID
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select DRIVERS_GENERIC_CBFS_SERIAL

config BOARD_RAZER_BLADE_H2U
	select BOARD_RAZER_BLADE_STEALTH_KBL
	select MEMORY_MAPPED_TPM
	select MAINBOARD_HAS_TPM2

config BOARD_RAZER_BLADE_H3Q
	select INTEL_GMA_HAVE_VBT
	select BOARD_RAZER_BLADE_STEALTH_KBL

if BOARD_RAZER_BLADE_STEALTH_KBL

config VARIANT_DIR
	default "h2u" if BOARD_RAZER_BLADE_H2U
	default "h3q" if BOARD_RAZER_BLADE_H3Q

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

config MAINBOARD_FAMILY
	string
	default "BLADE_STEALTH"

config MAINBOARD_PART_NUMBER
	default "H2U: RZ09-01962" if BOARD_RAZER_BLADE_H2U
	default "H3Q: RZ09-01963/RZ09-01964" if BOARD_RAZER_BLADE_H3Q

# For now no way to choose the correct the available RAM
config BOARD_RAZER_BLADE_STEALTH_KBL_16GB
	bool "16GB RAM (4x MT52L1G32D4PG)"
	default n

config VGA_BIOS_ID
	string
	default "8086,5916"

config MAINBOARD_VERSION
	string
	default "1.0"

config MAINBOARD_DIR
	default "razer/blade_stealth_kbl"

config MAX_CPUS
	int
	default 4

config NO_POST
	default y

endif
