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

config BOARD_GOOGLE_FATCAT_COMMON
	def_bool n
	select BOARD_ROMSIZE_KB_32768
	select CPU_INTEL_SOCKET_OTHER
	select DRIVERS_GFX_GENERIC
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_HID
	select DRIVERS_INTEL_DPTF
	select DRIVERS_INTEL_MIPI_CAMERA
	select DRIVERS_INTEL_MIPI_SUPPORTS_PRE_PRODUCTION_SOC if SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON
	select DRIVERS_INTEL_PMC
	select DRIVERS_INTEL_SOUNDWIRE
	select DRIVERS_WWAN_FM350GL
	select DRIVERS_AUDIO_SOF
	select DRIVERS_SOUNDWIRE_ALC_BASE_7XX
	select DRIVERS_SPI_ACPI
	select DUMP_SMBIOS_TYPE17
	select EC_ACPI
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_BOARDID
	select EC_GOOGLE_CHROMEEC_ESPI
	select EC_GOOGLE_CHROMEEC_SKUID
	select EC_GOOGLE_CHROMEEC_SMBIOS
	select FW_CONFIG
	select FW_CONFIG_SOURCE_CHROMEEC_CBI
	select GENERATE_SMBIOS_TABLES
	select GOOGLE_SMBIOS_MAINBOARD_VERSION
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_SPD_IN_CBFS
	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_SYNC_BY_PAYLOAD
	select SOC_INTEL_CSE_SEND_EOP_BY_PAYLOAD
	select SOC_INTEL_PANTHERLAKE_U_H
	select SOC_INTEL_TCSS_USE_PDC_PMC_USBC_MUX_CONFIGURATION

config BOARD_GOOGLE_BASEBOARD_FATCAT
	def_bool n
	select BOARD_GOOGLE_FATCAT_COMMON
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_INTEL_ISH
	select DRIVER_INTEL_ISH_HAS_MAIN_FW
	select DRIVERS_INTEL_USB4_RETIMER
	select MAINBOARD_HAS_CHROMEOS
	select MEMORY_SOLDERDOWN
	select SOC_INTEL_COMMON_BLOCK_HDA_VERB
	select SOC_INTEL_IOE_DIE_SUPPORT
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_TI50

config BOARD_GOOGLE_MODEL_FATCAT
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_FATCAT
	select DRIVERS_GENERIC_BAYHUB_LV2
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_INTEL_TOUCH
	select FSP_UGOP_EARLY_SIGN_OF_LIFE

config BOARD_GOOGLE_MODEL_FELINO
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_FATCAT
	select FSP_UGOP_EARLY_SIGN_OF_LIFE
	select HAVE_SLP_S0_GATE
	select DRIVERS_SOUNDWIRE_ALC1320
	select MAINBOARD_HAS_GOOGLE_STRAUSS_KEYBOARD

config BOARD_GOOGLE_MODEL_KINMEN
	def_bool n
	select BOARD_GOOGLE_BASEBOARD_FATCAT
	select DRIVERS_SOUNDWIRE_ALC1320
	select FSP_UGOP_EARLY_SIGN_OF_LIFE
	select HAVE_SLP_S0_GATE
	select MAINBOARD_HAS_GOOGLE_STRAUSS_KEYBOARD

config BOARD_GOOGLE_FATCAT
	select BOARD_GOOGLE_MODEL_FATCAT
	select EC_GOOGLE_CHROMEEC_MEC
	select MAINBOARD_USES_IFD_EC_REGION

config BOARD_GOOGLE_FATCAT4ES
	select BOARD_GOOGLE_MODEL_FATCAT
	select EC_GOOGLE_CHROMEEC_MEC
	select MAINBOARD_USES_IFD_EC_REGION
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_FATCATISH
	select BOARD_GOOGLE_MODEL_FATCAT
	select EC_GOOGLE_CHROMEEC_MEC
	select MAINBOARD_USES_IFD_EC_REGION

config BOARD_GOOGLE_FATCATNUVO
	select BOARD_GOOGLE_MODEL_FATCAT

config BOARD_GOOGLE_FATCATNUVO4ES
	select BOARD_GOOGLE_MODEL_FATCAT
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_FATCATITE
	select BOARD_GOOGLE_MODEL_FATCAT

config BOARD_GOOGLE_FATCATITE4ES
	select BOARD_GOOGLE_MODEL_FATCAT
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_FELINO
	select BOARD_GOOGLE_MODEL_FELINO
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_FELINO4ES
	select BOARD_GOOGLE_MODEL_FELINO
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_FRANCKA
	select BOARD_GOOGLE_BASEBOARD_FATCAT
	select DRIVERS_SOUNDWIRE_ALC1320
	select HAVE_SLP_S0_GATE
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_KINMEN4ES
	select BOARD_GOOGLE_MODEL_KINMEN
	select SOC_INTEL_PANTHERLAKE_PRE_PRODUCTION_SILICON

config BOARD_GOOGLE_KINMEN
	select BOARD_GOOGLE_MODEL_KINMEN

config BOARD_GOOGLE_LAPIS
	select BOARD_GOOGLE_BASEBOARD_FATCAT
	select DRIVERS_INTEL_TOUCH
	select EC_GOOGLE_CHROMEEC_RTK
	select EC_GOOGLE_CHROMEEC_LPC_GENERIC_MEMORY_RANGE
	select FSP_UGOP_EARLY_SIGN_OF_LIFE
	select HAVE_SLP_S0_GATE
	select MAINBOARD_HAS_GOOGLE_STRAUSS_KEYBOARD

config BOARD_GOOGLE_MOONSTONE
	select BOARD_GOOGLE_MODEL_KINMEN

if BOARD_GOOGLE_FATCAT_COMMON

config BASEBOARD_DIR
	string
	default "fatcat"

config CHROMEOS
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC if EC_GOOGLE_CHROMEEC_MEC
	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 DIMM_SPD_SIZE
	default 512

config DRIVER_TPM_I2C_ADDR
	hex
	default 0x50

config DRIVER_TPM_I2C_BUS
	hex
	default 0x03 if BOARD_GOOGLE_MODEL_FATCAT
	default 0x01 if BOARD_GOOGLE_FRANCKA
	default 0x01 if BOARD_GOOGLE_MODEL_FELINO
	default 0x03 if BOARD_GOOGLE_MODEL_KINMEN
	default 0x03 if BOARD_GOOGLE_LAPIS
	default 0x03 if BOARD_GOOGLE_MOONSTONE

config HAVE_SLP_S0_GATE
	def_bool n

config MAINBOARD_DIR
	default "google/fatcat"

config MAINBOARD_FAMILY
	string
	default "Google_Fatcat"

config MAINBOARD_PART_NUMBER
	default "Fatcat" if BOARD_GOOGLE_MODEL_FATCAT
	default "Francka" if BOARD_GOOGLE_FRANCKA
	default "Felino" if BOARD_GOOGLE_MODEL_FELINO
	default "Kinmen" if BOARD_GOOGLE_MODEL_KINMEN
	default "Lapis" if BOARD_GOOGLE_LAPIS
	default "Moonstone" if BOARD_GOOGLE_MOONSTONE

config MEMORY_SOLDERDOWN
	def_bool n
	select CHROMEOS_DRAM_PART_NUMBER_IN_CBI if CHROMEOS
	select HAVE_SPD_IN_CBFS

config TPM_TIS_ACPI_INTERRUPT
	int
	default 47 if BOARD_GOOGLE_MODEL_FATCAT # GPE0_DW1_15 (GPP_D15)
	default 79 if BOARD_GOOGLE_MODEL_FELINO # GPE0_DW2_15 (GPP_F15)
	default 11 if BOARD_GOOGLE_FRANCKA # GPE0_DW0_11 (GPP_H11)
	default 66 if BOARD_GOOGLE_MODEL_KINMEN # GPE0_DW2_02 (GPP_E02)
	default 66 if BOARD_GOOGLE_LAPIS # GPE0_DW2_02 (GPP_E02)
	default 66 if BOARD_GOOGLE_MOONSTONE # GPE0_DW2_02 (GPP_E02)

# FIXME: update as per board schematics
config UART_FOR_CONSOLE
	int
	default 0

config USE_PM_ACPI_TIMER
	default n

config VARIANT_DIR
	string
	default "fatcat" if BOARD_GOOGLE_MODEL_FATCAT
	default "francka" if BOARD_GOOGLE_FRANCKA
	default "felino" if BOARD_GOOGLE_MODEL_FELINO
	default "kinmen" if BOARD_GOOGLE_MODEL_KINMEN
	default "lapis" if BOARD_GOOGLE_LAPIS
	default "moonstone" if BOARD_GOOGLE_MOONSTONE

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

config VBOOT
	select VBOOT_LID_SWITCH

endif # BOARD_GOOGLE_FATCAT_COMMON
