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

config BOARD_GOOGLE_MISTRAL_COMMON  # Umbrella option to be selected by variants
	def_bool n

config BOARD_GOOGLE_MISTRAL
	select BOARD_GOOGLE_MISTRAL_COMMON

if BOARD_GOOGLE_MISTRAL_COMMON

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select BOARD_ROMSIZE_KB_8192
	select COMMON_CBFS_SPI_WRAPPER
	select SOC_QUALCOMM_QCS405
	select SPI_FLASH
	select SPI_FLASH_GIGADEVICE
	select SPI_FLASH_WINBOND
	select MAINBOARD_HAS_CHROMEOS

config VBOOT
	select VBOOT_VBNV_FLASH
	select VBOOT_MOCK_SECDATA
	select VBOOT_NO_BOARD_SUPPORT
	select GBB_FLAG_FORCE_DEV_SWITCH_ON

config MAINBOARD_DIR
	default "google/mistral"

##########################################################
#### Update below when adding a new derivative board. ####
##########################################################

config MAINBOARD_PART_NUMBER
	default "Mistral" if BOARD_GOOGLE_MISTRAL

endif # BOARD_GOOGLE_MISTRAL_COMMON
