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_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 MB_COMPRESS_RAMSTAGE_LZ4
	select PMC_IPC_ACPI_INTERFACE
	select SOC_INTEL_COMMON_BLOCK_VARIANT_POWER_LIMIT
	select SOC_INTEL_CSE_LITE_SKU
	select SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V2
	select SOC_INTEL_CSE_SEND_EOP_ASYNC

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_FSP_LOGO_SUPPORT if RUN_FSP_GOP
	select HAVE_SLP_S0_GATE
	select MAINBOARD_HAS_CHROMEOS
	select MEMORY_SOLDERDOWN
	select SOC_INTEL_IOE_DIE_SUPPORT
	select SOC_INTEL_METEORLAKE_U_H
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_TI50

config BOARD_GOOGLE_MODEL_REX
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_REX
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_GENESYSLOGIC_GL9755
	select DRIVERS_INTEL_ISH
	select DRIVERS_INTEL_SOUNDWIRE
	select DRIVERS_SOUNDWIRE_CS42L42
	select DRIVERS_SOUNDWIRE_MAX98363

config BOARD_GOOGLE_MODEL_SCREEBO
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_REX
	select DRIVERS_GENERIC_ALC1015
	select DRIVERS_GENESYSLOGIC_GL9750
	select DRIVERS_GENESYSLOGIC_GL9750_INVERT_WP

config BOARD_GOOGLE_MODEL_KARIS
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_REX
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_INTEL_SOUNDWIRE
	select DRIVERS_SOUNDWIRE_CS42L42
	select DRIVERS_SOUNDWIRE_MAX98363

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 RT8168_GEN_ACPI_POWER_RESOURCE
	select RT8168_GET_MAC_FROM_VPD
	select RT8168_SET_LED_MODE
	select SOC_INTEL_IOE_DIE_SUPPORT
	select SOC_INTEL_METEORLAKE_U_H
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
	select TPM_GOOGLE_TI50

config BOARD_GOOGLE_MODEL_OVIS
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_OVIS

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
	default "Rex_Ec_Ish" if BOARD_GOOGLE_REX_EC_ISH
	default "Rex4ES" if BOARD_GOOGLE_REX4ES
	default "Screebo" if BOARD_GOOGLE_SCREEBO
	default "Screebo4ES" if BOARD_GOOGLE_SCREEBO4ES
	default "Karis" if BOARD_GOOGLE_KARIS
	default "Karis4ES" if BOARD_GOOGLE_KARIS4ES
	default "Ovis" if BOARD_GOOGLE_OVIS
	default "Ovis4ES" if BOARD_GOOGLE_OVIS4ES

config VARIANT_DIR
	string
	default "rex0" if BOARD_GOOGLE_MODEL_REX
	default "screebo" if BOARD_GOOGLE_MODEL_SCREEBO
	default "karis" if BOARD_GOOGLE_MODEL_KARIS
	default "ovis" if BOARD_GOOGLE_MODEL_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_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_MODEL_REX || BOARD_GOOGLE_MODEL_SCREEBO || BOARD_GOOGLE_MODEL_OVIS || BOARD_GOOGLE_MODEL_KARIS

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
