config BOARD_GOOGLE_BASEBOARD_VOLTEER
	def_bool n
	select BOARD_ROMSIZE_KB_32768
	select DRIVERS_GENERIC_GPIO_KEYS
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_GENESYSLOGIC_GL9763E
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_HID
	select DRIVERS_I2C_SX9310
	select DRIVERS_INTEL_DPTF
	select DRIVERS_INTEL_PMC
	select DRIVERS_INTEL_USB4_RETIMER
	select DRIVERS_I2C_MAX98373
	select DRIVERS_INTEL_SOUNDWIRE
	select DRIVERS_SPI_ACPI
	select DRIVERS_SOUNDWIRE_ALC5682
	select DRIVERS_SOUNDWIRE_MAX98373
	select DRIVERS_USB_ACPI
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_BOARDID
	select EC_GOOGLE_CHROMEEC_SKUID
	select EC_GOOGLE_CHROMEEC_LPC
	select FW_CONFIG
	select FW_CONFIG_SOURCE_CHROMEEC_CBI
	select GOOGLE_SMBIOS_MAINBOARD_VERSION
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select INTEL_LPSS_UART_FOR_CONSOLE
	select MAINBOARD_HAS_CHROMEOS
	select MAINBOARD_HAS_SPI_TPM_CR50 if !BOARD_GOOGLE_VOLTEER2_TI50
	select MAINBOARD_HAS_I2C_TPM_CR50 if BOARD_GOOGLE_VOLTEER2_TI50
	select MAINBOARD_HAS_TPM2
	select PCIEXP_HOTPLUG
	select SOC_INTEL_CSE_LITE_SKU
	select SOC_INTEL_TIGERLAKE
	select HAVE_SPD_IN_CBFS

if BOARD_GOOGLE_BASEBOARD_VOLTEER

config CHROMEOS
	bool
	default y
	select CHROMEOS_CSE_BOARD_RESET_OVERRIDE
	select CHROMEOS_DRAM_PART_NUMBER_IN_CBI
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select GBB_FLAG_FORCE_DEV_SWITCH_ON
	select GBB_FLAG_FORCE_DEV_BOOT_USB
	select GBB_FLAG_FORCE_DEV_BOOT_LEGACY
	select GBB_FLAG_FORCE_MANUAL_RECOVERY
	select HAS_RECOVERY_MRC_CACHE
	select VBOOT_LID_SWITCH
	select VBOOT_EARLY_EC_SYNC

config CHROMEOS_WIFI_SAR
	bool "Enable SAR options for Chrome OS build"
	depends on CHROMEOS
	select DSAR_ENABLE
	select GEO_SAR_ENABLE
	select SAR_ENABLE
	select USE_SAR
	select WIFI_SAR_CBFS

config DIMM_SPD_SIZE
	int
	default 512

config DEVICETREE
	string
	default "variants/baseboard/devicetree.cb"

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

config DRIVER_TPM_SPI_BUS
	default 0x1

config DRIVER_TPM_I2C_BUS
	hex
	default 0x1

config DRIVER_TPM_I2C_ADDR
	hex
	default 0x50

config MAINBOARD_DIR
	string
	default "google/volteer"

config MAINBOARD_FAMILY
	string
	default "Google_Volteer"

config MAINBOARD_PART_NUMBER
	string
	default "Delbin" if BOARD_GOOGLE_DELBIN
	default "Eldrid" if BOARD_GOOGLE_ELDRID
	default "Halvor" if BOARD_GOOGLE_HALVOR
	default "Lindar" if BOARD_GOOGLE_LINDAR
	default "Malefor" if BOARD_GOOGLE_MALEFOR
	default "Terrador" if BOARD_GOOGLE_TERRADOR
	default "Todor" if BOARD_GOOGLE_TODOR
	default "Trondo" if BOARD_GOOGLE_TRONDO
	default "Volteer" if BOARD_GOOGLE_VOLTEER
	default "Volteer2" if BOARD_GOOGLE_VOLTEER2
	default "Volteer2_Ti50" if BOARD_GOOGLE_VOLTEER2_TI50
	default "Voxel" if BOARD_GOOGLE_VOXEL
	default "Elemi" if BOARD_GOOGLE_ELEMI
	default "Voema" if BOARD_GOOGLE_VOEMA
	default "Drobit" if BOARD_GOOGLE_DROBIT
	default "Copano" if BOARD_GOOGLE_COPANO

config MAX_CPUS
	int
	default 8

# Reserving resources for PCIe Hotplug as per TGL BIOS Spec (doc #611569)
# Revision 0.7.6 Section 7.2.5.1.5
config PCIEXP_HOTPLUG_BUSES
	int
	default 42

config PCIEXP_HOTPLUG_MEM
	hex
	default 0xc200000  # 194 MiB

config PCIEXP_HOTPLUG_PREFETCH_MEM
	hex
	default 0x1c000000 # 448 MiB

config TPM_TIS_ACPI_INTERRUPT
	int
	default 21  # GPE0_DW0_21 (GPP_C21)

config VARIANT_DIR
	string
	default "delbin" if BOARD_GOOGLE_DELBIN
	default "eldrid" if BOARD_GOOGLE_ELDRID
	default "halvor" if BOARD_GOOGLE_HALVOR
	default "lindar" if BOARD_GOOGLE_LINDAR
	default "malefor" if BOARD_GOOGLE_MALEFOR
	default "terrador" if BOARD_GOOGLE_TERRADOR
	default "todor" if BOARD_GOOGLE_TODOR
	default "trondo" if BOARD_GOOGLE_TRONDO
	default "volteer" if BOARD_GOOGLE_VOLTEER
	default "volteer2" if BOARD_GOOGLE_VOLTEER2
	default "volteer2" if BOARD_GOOGLE_VOLTEER2_TI50
	default "voxel" if BOARD_GOOGLE_VOXEL
	default "elemi" if BOARD_GOOGLE_ELEMI
	default "voema" if BOARD_GOOGLE_VOEMA
	default "drobit" if BOARD_GOOGLE_DROBIT
	default "copano" if BOARD_GOOGLE_COPANO

config VARIANT_HAS_MIPI_CAMERA
	bool
	default n

endif # BOARD_GOOGLE_BASEBOARD_VOLTEER
