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

config BOARD_GOOGLE_GERALT_COMMON
	def_bool BOARD_GOOGLE_CIRI || \
		 BOARD_GOOGLE_GERALT

if BOARD_GOOGLE_GERALT_COMMON

config GERALT_SDCARD_INIT
	def_bool BOARD_GOOGLE_GERALT

config GERALT_USE_MAX98390
	def_bool BOARD_GOOGLE_CIRI || \
		 BOARD_GOOGLE_GERALT

config GERALT_USE_NAU8318
	def_bool n

config VBOOT
	select VBOOT_VBNV_FLASH
	select EC_GOOGLE_CHROMEEC_SWITCHES

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select SOC_MEDIATEK_MT8188
	select BOARD_ROMSIZE_KB_8192
	select MAINBOARD_HAS_CHROMEOS
	select CHROMEOS_USE_EC_WATCHDOG_FLAG if CHROMEOS
	select COMMON_CBFS_SPI_WRAPPER
	select SPI_FLASH
	select SPI_FLASH_INCLUDE_ALL_DRIVERS
	select COMMONLIB_STORAGE
	select COMMONLIB_STORAGE_MMC
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_BOARDID
	select EC_GOOGLE_CHROMEEC_SKUID
	select EC_GOOGLE_CHROMEEC_SPI
	select I2C_TPM if VBOOT
	select MAINBOARD_HAS_TPM2 if VBOOT
	select TPM_GOOGLE_TI50 if VBOOT
	select MAINBOARD_HAS_NATIVE_VGA_INIT
	select HAVE_LINEAR_FRAMEBUFFER
	select RTC
	select MIPI_PANEL_BOE_TV110C9M_LL0 if BOARD_GOOGLE_GERALT
	select MIPI_PANEL_BOE_NV110WUM_L60 if BOARD_GOOGLE_CIRI
	select FW_CONFIG
	select FW_CONFIG_SOURCE_CHROMEEC_CBI

config MAINBOARD_DIR
	string
	default "google/geralt"

config MAINBOARD_PART_NUMBER
	string
	default "Geralt" if BOARD_GOOGLE_GERALT
	default "Ciri" if BOARD_GOOGLE_CIRI

config BOOT_DEVICE_SPI_FLASH_BUS
	int
	default 7

config EC_GOOGLE_CHROMEEC_SPI_BUS
	hex
	default 0x0

config DRIVER_TPM_I2C_BUS
	hex
	default 0x1

config DRIVER_TPM_I2C_ADDR
	hex
	default 0x50

endif
