config BOARD_STARLABS_STARBOOK_SERIES
	def_bool n
	select DRIVERS_I2C_HID
	select EC_STARLABS_ITE
	select EC_STARLABS_FAN
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_CMOS_DEFAULT
	select HAVE_OPTION_TABLE
	select INTEL_GMA_HAVE_VBT
	select INTEL_LPSS_UART_FOR_CONSOLE
	select MAINBOARD_HAS_TPM2
	select NO_S0IX_SUPPORT
	select NO_UART_ON_SUPERIO
	select SOC_INTEL_COMMON_BLOCK_HDA_VERB
	select SYSTEM_TYPE_LAPTOP

config BOARD_STARLABS_LABTOP_KBL
	select BOARD_ROMSIZE_KB_8192
	select BOARD_STARLABS_STARBOOK_SERIES
	select CRB_TPM
	select HAVE_INTEL_PTT
	select HAVE_SPD_IN_CBFS
	select MAINBOARD_HAS_LIBGFXINIT
	select SOC_INTEL_KABYLAKE
	select SPI_FLASH_GIGADEVICE

config BOARD_STARLABS_LABTOP_CML
	select BOARD_ROMSIZE_KB_16384
	select BOARD_STARLABS_STARBOOK_SERIES
	select EC_STARLABS_MAX_CHARGE
	select EC_STARLABS_NEED_ITE_BIN
	select HAVE_INTEL_PTT
	select HAVE_SPD_IN_CBFS
	select CRB_TPM
	select MAINBOARD_HAS_LIBGFXINIT
	select SOC_INTEL_COMETLAKE_1
	select SPI_FLASH_WINBOND

config BOARD_STARLABS_STARBOOK_TGL
	select BOARD_ROMSIZE_KB_16384
	select BOARD_STARLABS_STARBOOK_SERIES
	select DRIVERS_INTEL_PMC
	select DRIVERS_INTEL_USB4_RETIMER
	select EC_STARLABS_KBL_LEVELS
	select EC_STARLABS_MAX_CHARGE
	select EC_STARLABS_NEED_ITE_BIN
	select MEMORY_MAPPED_TPM
	select SOC_INTEL_COMMON_BLOCK_TCSS
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
	select SOC_INTEL_TIGERLAKE
	select SPI_FLASH_WINBOND
	select TPM_MEASURED_BOOT

config BOARD_STARLABS_STARBOOK_ADL
	select BOARD_ROMSIZE_KB_32768
	select BOARD_STARLABS_STARBOOK_SERIES
	select DRIVERS_INTEL_PMC
	select EC_STARLABS_KBL_LEVELS
	select EC_STARLABS_MAX_CHARGE
	select EC_STARLABS_NEED_ITE_BIN
	select MEMORY_MAPPED_TPM
	select SOC_INTEL_ALDERLAKE
	select SOC_INTEL_ALDERLAKE_PCH_P
	select SPI_FLASH_WINBOND
	select TPM_MEASURED_BOOT
	select PCIEXP_SUPPORT_RESIZABLE_BARS

if BOARD_STARLABS_STARBOOK_SERIES

config CCD_PORT
	int
	default 6 if BOARD_STARLABS_LABTOP_CML
	default 4 if BOARD_STARLABS_STARBOOK_ADL
	default 3

config CMOS_DEFAULT_FILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/variants/\$(CONFIG_VARIANT_DIR)/cmos.default" if BOARD_STARLABS_STARBOOK_TGL

config CMOS_LAYOUT_FILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/variants/\$(CONFIG_VARIANT_DIR)/cmos.layout" if BOARD_STARLABS_STARBOOK_TGL

config CONSOLE_SERIAL
	default n if !EDK2_DEBUG

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

config DIMM_SPD_SIZE
	default 512

config DRIVER_TPM_SPI_CHIP
	default 2

config EC_GPE_SCI
	default 0x6e if BOARD_STARLABS_STARBOOK_TGL || BOARD_STARLABS_STARBOOK_ADL
	default 0x50

config EC_STARLABS_ADD_ITE_BIN
	default y

config EC_STARLABS_ITE_BIN_PATH
	string
	depends on EC_STARLABS_NEED_ITE_BIN
	default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/ec.bin"

config EC_VARIANT_DIR
	default "kbl" if !EC_STARLABS_MERLIN && BOARD_STARLABS_LABTOP_KBL
	default "cml" if !EC_STARLABS_MERLIN && BOARD_STARLABS_LABTOP_CML
	default "tgl" if !EC_STARLABS_MERLIN && BOARD_STARLABS_STARBOOK_TGL
	default "adl" if !EC_STARLABS_MERLIN && BOARD_STARLABS_STARBOOK_ADL

config FMDFILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/variants/\$(CONFIG_VARIANT_DIR)/board.fmd"

config IFD_BIN_PATH
	string
	default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/flashdescriptor.bin"

config MAINBOARD_DIR
	default "starlabs/starbook"

config MAINBOARD_FAMILY
	string
	default "L3" if BOARD_STARLABS_LABTOP_KBL
	default "L4" if BOARD_STARLABS_LABTOP_CML
	default "B5" if BOARD_STARLABS_STARBOOK_TGL
	default "B6-I" if BOARD_STARLABS_STARBOOK_ADL

config MAINBOARD_PART_NUMBER
	default "LabTop Mk III" if BOARD_STARLABS_LABTOP_KBL
	default "LabTop Mk IV" if BOARD_STARLABS_LABTOP_CML
	default "StarBook Mk V" if BOARD_STARLABS_STARBOOK_TGL
	default "StarBook Mk VI" if BOARD_STARLABS_STARBOOK_ADL

config MAINBOARD_SMBIOS_PRODUCT_NAME
	default "StarBook" if BOARD_STARLABS_STARBOOK_TGL || BOARD_STARLABS_STARBOOK_ADL
	default "LabTop"

config ME_BIN_PATH
	string
	default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/\$(CONFIG_VARIANT_DIR)/intel_me.bin"

config EDK2_BOOTSPLASH_FILE
	string
	default "3rdparty/blobs/mainboard/starlabs/Logo.bmp"

config PCIEXP_ASPM
	bool
	default n
	help
	  FSP is already taking care of ASPM, which is configured through the devicetree in coreboot
	  on Alderlake Platforms. Disable it to save some boot time.

config PCIEXP_DEFAULT_MAX_RESIZABLE_BAR_BITS
	default 32

config PCIEXP_L1_SUB_STATE
	bool
	default n
	help
	  Enabling PCIe L1 sub states is already done in FSP.
	  Disable it to save some boot time.

config PCIEXP_CLK_PM
	bool
	default n
	help
	  Enabling PCIe clock power management is already done in FSP.
	  Disable it to save some boot time

config SOC_INTEL_CSE_SEND_EOP_EARLY
	default n if BOARD_STARLABS_STARBOOK_ADL

config UART_FOR_CONSOLE
	default 0 if BOARD_STARLABS_STARBOOK_ADL
	default 2

config USE_PM_ACPI_TIMER
	default n if BOARD_STARLABS_STARBOOK_TGL || BOARD_STARLABS_STARBOOK_ADL

config VARIANT_DIR
	default "kbl" if BOARD_STARLABS_LABTOP_KBL
	default "cml" if BOARD_STARLABS_LABTOP_CML
	default "tgl" if BOARD_STARLABS_STARBOOK_TGL
	default "adl" if BOARD_STARLABS_STARBOOK_ADL

endif
