config BOARD_GOOGLE_REX_COMMON
	def_bool n
	select BOARD_ROMSIZE_KB_32768
	select DRIVERS_GFX_GENERIC
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_HID
	select DRIVERS_INTEL_DPTF
	select DRIVERS_INTEL_DPTF_SUPPORTS_TPCH
	select DRIVERS_INTEL_USB4_RETIMER
	select DRIVERS_WIFI_GENERIC
	select DRIVERS_INTEL_MIPI_CAMERA
	select DRIVERS_SPI_ACPI
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_BOARDID
	select EC_GOOGLE_CHROMEEC_ESPI
	select EC_GOOGLE_CHROMEEC_SKUID
	select FW_CONFIG
	select FW_CONFIG_SOURCE_CHROMEEC_CBI
	select GOOGLE_SMBIOS_MAINBOARD_VERSION
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select I2C_TPM
	select INTEL_LPSS_UART_FOR_CONSOLE
	select MAINBOARD_DISABLE_STAGE_CACHE
	select MAINBOARD_HAS_TPM2
	select PMC_IPC_ACPI_INTERFACE
	select SOC_INTEL_COMMON_BLOCK_VARIANT_POWER_LIMIT
	select SOC_INTEL_CRASHLOG
	select SOC_INTEL_CSE_LITE_SKU
	select SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V2
	select SOC_INTEL_CSE_SEND_EOP_ASYNC
	select SOC_INTEL_IOE_DIE_SUPPORT

config BOARD_GOOGLE_BASEBOARD_REX
	def_bool n
	select BOARD_GOOGLE_REX_COMMON
	select DRIVERS_INTEL_PMC
	select DRIVERS_GENERIC_GPIO_KEYS
	select DRIVERS_WWAN_FM350GL
	select HAVE_SLP_S0_GATE
	select MAINBOARD_HAS_CHROMEOS
	select MEMORY_SOLDERDOWN
	select SOC_INTEL_METEORLAKE_U_H
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_TI50

config BOARD_GOOGLE_BASEBOARD_OVIS
	def_bool n
	select BOARD_GOOGLE_REX_COMMON
	select DRIVERS_INTEL_PMC
	select ENABLE_TCSS_DISPLAY_DETECTION if RUN_FSP_GOP
	select HAVE_SLP_S0_GATE
	select MAINBOARD_HAS_CHROMEOS
	select MEMORY_SOLDERDOWN
	select SOC_INTEL_METEORLAKE_U_H
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
	select TPM_GOOGLE_TI50

if BOARD_GOOGLE_REX_COMMON

config BASEBOARD_DIR
	string
	default "rex" if BOARD_GOOGLE_BASEBOARD_REX
	default "ovis" if BOARD_GOOGLE_BASEBOARD_OVIS

config CHROMEOS
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select GBB_FLAG_FORCE_DEV_SWITCH_ON
	select GBB_FLAG_FORCE_DEV_BOOT_USB
	select GBB_FLAG_FORCE_MANUAL_RECOVERY
	select HAS_RECOVERY_MRC_CACHE

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

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

config FMDFILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos_ec_ish-debug-fsp.fmd" if CHROMEOS && BOARD_GOOGLE_REX_EC_ISH && BUILDING_WITH_DEBUG_FSP
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos_ec_ish.fmd" if CHROMEOS && BOARD_GOOGLE_REX_EC_ISH
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-debug-fsp.fmd" if CHROMEOS && BUILDING_WITH_DEBUG_FSP
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS

config MAINBOARD_DIR
	default "google/rex"

config MAINBOARD_FAMILY
	string
	default "Google_Rex" if BOARD_GOOGLE_BASEBOARD_REX
	default "Google_Ovis" if BOARD_GOOGLE_BASEBOARD_OVIS

config MAINBOARD_PART_NUMBER
	default "Rex" if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_REX_EC_ISH
	default "Screebo" if BOARD_GOOGLE_SCREEBO
	default "Karis" if BOARD_GOOGLE_KARIS
	default "Ovis" if BOARD_GOOGLE_OVIS

config VARIANT_DIR
	string
	default "rex0" if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_REX_EC_ISH
	default "screebo" if BOARD_GOOGLE_SCREEBO
	default "karis" if BOARD_GOOGLE_KARIS
	default "ovis" if BOARD_GOOGLE_OVIS

config DIMM_SPD_SIZE
	default 512

config MEMORY_SOLDERDOWN
	def_bool n
	select CHROMEOS_DRAM_PART_NUMBER_IN_CBI if CHROMEOS
	select HAVE_SPD_IN_CBFS

config VBOOT
	select VBOOT_EARLY_EC_SYNC
	select VBOOT_LID_SWITCH

config UART_FOR_CONSOLE
	int
	default 0

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

config DRIVER_TPM_I2C_BUS
	hex
	default 0x4 if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_SCREEBO || BOARD_GOOGLE_REX_EC_ISH || BOARD_GOOGLE_OVIS

config DRIVER_TPM_I2C_ADDR
	hex
	default 0x50

config TPM_TIS_ACPI_INTERRUPT
	int
	default 35  # GPE0_DW1_03 (GPP_E03)

config USE_PM_ACPI_TIMER
	default n

config HAVE_SLP_S0_GATE
	def_bool n

endif # BOARD_GOOGLE_REX_COMMON
