config BOARD_GOOGLE_BRYA_COMMON
	def_bool n
	select DRIVERS_GENERIC_ALC1015
	select DRIVERS_GENERIC_GPIO_KEYS
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_HID
	select DRIVERS_I2C_NAU8825
	select DRIVERS_INTEL_DPTF
	select DRIVERS_INTEL_DPTF_SUPPORTS_TPCH
	select DRIVERS_INTEL_PMC
	select DRIVERS_INTEL_SOUNDWIRE
	select DRIVERS_INTEL_USB4_RETIMER
	select DRIVERS_SOUNDWIRE_ALC5682
	select DRIVERS_SOUNDWIRE_MAX98373
	select DRIVERS_SPI_ACPI
	select DRIVERS_WIFI_GENERIC
	select DRIVERS_WWAN_FM350GL
	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_HAS_CHROMEOS
	select MAINBOARD_HAS_TPM2
	select PMC_IPC_ACPI_INTERFACE
	select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
	select SOC_INTEL_CSE_LITE_SKU
	select SOC_INTEL_CSE_SEND_EOP_ASYNC
	select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES if SOC_INTEL_ALDERLAKE_PCH_P
	select SOC_INTEL_COMMON_BASECODE_DEBUG_FEATURE
	select SOC_INTEL_CRASHLOG
	select SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V1 if SOC_INTEL_ALDERLAKE_PCH_P

config BOARD_GOOGLE_BASEBOARD_BRYA
	def_bool n
	select BOARD_GOOGLE_BRYA_COMMON
	select BOARD_ROMSIZE_KB_32768
	select DRIVERS_AUDIO_SOF
	select HAVE_SLP_S0_GATE
	select MEMORY_SOLDERDOWN if !BOARD_GOOGLE_BANSHEE
	select SOC_INTEL_ALDERLAKE_PCH_P
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_CR50

config BOARD_GOOGLE_BASEBOARD_BRASK
	def_bool n
	select BOARD_GOOGLE_BRYA_COMMON
	select BOARD_ROMSIZE_KB_32768
	select ENABLE_TCSS_DISPLAY_DETECTION if RUN_FSP_GOP
	select HAVE_SLP_S0_GATE
	select MEMORY_SODIMM if !BOARD_GOOGLE_CONSTITUTION
	select RT8168_GEN_ACPI_POWER_RESOURCE
	select RT8168_GET_MAC_FROM_VPD
	select RT8168_SET_LED_MODE
	select SOC_INTEL_ALDERLAKE_PCH_P
	select TPM_GOOGLE_CR50
	select CR50_RESET_CLEAR_EC_AP_IDLE_FLAG

config BOARD_GOOGLE_BASEBOARD_HADES
	def_bool n
	select BOARD_GOOGLE_BRYA_COMMON
	select BOARD_ROMSIZE_KB_32768
	select DUMP_SMBIOS_TYPE17
	select HAVE_SLP_S0_GATE
	select INCLUDE_NVIDIA_GPU_ASL
	select MEMORY_SODIMM
	select PCIEXP_SUPPORT_RESIZABLE_BARS
	select SOC_INTEL_ALDERLAKE_PCH_P
	select SOC_INTEL_RAPTORLAKE
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_CR50

config BOARD_GOOGLE_BASEBOARD_NISSA
	def_bool n
	select BOARD_GOOGLE_BRYA_COMMON
	select BOARD_ROMSIZE_KB_16384 if !BOARD_ROMSIZE_KB_32768
	select CHROMEOS_DRAM_PART_NUMBER_IN_CBI if CHROMEOS
	select DRIVERS_INTEL_ISH
	select MAINBOARD_DISABLE_STAGE_CACHE
	select MEMORY_SOLDERDOWN
	select SOC_INTEL_ALDERLAKE_PCH_N
	select SOC_INTEL_CSE_LITE_COMPRESS_ME_RW
	select SOC_INTEL_CSE_LITE_SYNC_IN_RAMSTAGE
	select SOC_INTEL_STORE_ISH_FW_VERSION
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_TI50
	select SOC_INTEL_COMMON_MMC_OVERRIDE

if BOARD_GOOGLE_BRYA_COMMON

config BASEBOARD_DIR
	string
	default "brya" if BOARD_GOOGLE_BASEBOARD_BRYA
	default "brask" if BOARD_GOOGLE_BASEBOARD_BRASK
	default "hades" if BOARD_GOOGLE_BASEBOARD_HADES
	default "nissa" if BOARD_GOOGLE_BASEBOARD_NISSA

config CHROMEOS
	select EC_GOOGLE_CHROMEEC_SWITCHES
	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 DRIVER_TPM_I2C_BUS
	hex
	default 0x1 if BOARD_GOOGLE_BRYA0
	default 0x1 if BOARD_GOOGLE_BRASK
	default 0x1 if BOARD_GOOGLE_PRIMUS
	default 0x3 if BOARD_GOOGLE_PRIMUS4ES
	default 0x1 if BOARD_GOOGLE_GIMBLE
	default 0x3 if BOARD_GOOGLE_GIMBLE4ES
	default 0x1 if BOARD_GOOGLE_REDRIX
	default 0x3 if BOARD_GOOGLE_REDRIX4ES
	default 0x1 if BOARD_GOOGLE_KANO
	default 0x1 if BOARD_GOOGLE_TAEKO
	default 0x3 if BOARD_GOOGLE_TAEKO4ES
	default 0x1 if BOARD_GOOGLE_FELWINTER
	default 0x1 if BOARD_GOOGLE_ANAHERA
	default 0x3 if BOARD_GOOGLE_ANAHERA4ES
	default 0x1 if BOARD_GOOGLE_VELL
	default 0x1 if BOARD_GOOGLE_TANIKS
	default 0x0 if BOARD_GOOGLE_NIVVIKS
	default 0x0 if BOARD_GOOGLE_NEREID
	default 0x3 if BOARD_GOOGLE_AGAH
	default 0x1 if BOARD_GOOGLE_VOLMAR
	default 0x1 if BOARD_GOOGLE_BANSHEE
	default 0x1 if BOARD_GOOGLE_KINOX
	default 0x0 if BOARD_GOOGLE_CRAASK
	default 0x1 if BOARD_GOOGLE_CROTA
	default 0x1 if BOARD_GOOGLE_MOLI
	default 0x1 if BOARD_GOOGLE_OSIRIS
	default 0x1 if BOARD_GOOGLE_MITHRAX
	default 0x1 if BOARD_GOOGLE_KULDAX
	default 0x1 if BOARD_GOOGLE_SKOLAS
	default 0x1 if BOARD_GOOGLE_SKOLAS4ES
	default 0x0 if BOARD_GOOGLE_JOXER
	default 0x0 if BOARD_GOOGLE_PUJJO
	default 0x0 if BOARD_GOOGLE_XIVU
	default 0x0 if BOARD_GOOGLE_YAVIKS
	default 0x1 if BOARD_GOOGLE_ZYDRON
	default 0x1 if BOARD_GOOGLE_LISBON
	default 0x1 if BOARD_GOOGLE_GLADIOS
	default 0x1 if BOARD_GOOGLE_MARASOV
	default 0x1 if BOARD_GOOGLE_GAELIN
	default 0x1 if BOARD_GOOGLE_OMNIGUL
	default 0x1 if BOARD_GOOGLE_CONSTITUTION
	default 0x1 if BOARD_GOOGLE_AURASH
	default 0x3 if BOARD_GOOGLE_HADES
	default 0x0 if BOARD_GOOGLE_YAVILLA
	default 0x0 if BOARD_GOOGLE_ULDREN

config DRIVER_TPM_I2C_ADDR
	hex
	default 0x50

config FMDFILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-serger.fmd" if CHROMEOS && BOARD_GOOGLE_BRASK
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-nissa-16MiB-debugfsp.fmd" if CHROMEOS && BOARD_GOOGLE_BASEBOARD_NISSA && BOARD_ROMSIZE_KB_16384 && BUILDING_WITH_DEBUG_FSP
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-nissa-16MiB.fmd" if CHROMEOS && BOARD_GOOGLE_BASEBOARD_NISSA && BOARD_ROMSIZE_KB_16384
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-nissa-32MiB.fmd" if CHROMEOS && BOARD_GOOGLE_BASEBOARD_NISSA && BOARD_ROMSIZE_KB_32768
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS

config TPM_TIS_ACPI_INTERRUPT
	int
	default 13 if !BOARD_GOOGLE_BASEBOARD_HADES # GPE0_DW0_13 (GPP_A13_IRQ)
	default 20 if BOARD_GOOGLE_BASEBOARD_HADES # GPE0_DW0_20 (GPP_A20_IRQ)

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

config MAINBOARD_DIR
	default "google/brya"

config MAINBOARD_FAMILY
	string
	default "Google_Brya" if BOARD_GOOGLE_BASEBOARD_BRYA
	default "Google_Brask" if BOARD_GOOGLE_BASEBOARD_BRASK
	default "Google_Hades" if BOARD_GOOGLE_BASEBOARD_HADES
	default "Google_Nissa" if BOARD_GOOGLE_BASEBOARD_NISSA

config MAINBOARD_PART_NUMBER
	default "Brya" if BOARD_GOOGLE_BRYA0
	default "Brask" if BOARD_GOOGLE_BRASK
	default "Primus" if BOARD_GOOGLE_PRIMUS
	default "Primus4ES" if BOARD_GOOGLE_PRIMUS4ES
	default "Gimble" if BOARD_GOOGLE_GIMBLE
	default "Gimble4ES" if BOARD_GOOGLE_GIMBLE4ES
	default "Redrix" if BOARD_GOOGLE_REDRIX
	default "Redrix4ES" if BOARD_GOOGLE_REDRIX4ES
	default "Kano" if BOARD_GOOGLE_KANO
	default "Taeko" if BOARD_GOOGLE_TAEKO
	default "Taeko4ES" if BOARD_GOOGLE_TAEKO4ES
	default "Felwinter" if BOARD_GOOGLE_FELWINTER
	default "Anahera" if BOARD_GOOGLE_ANAHERA
	default "Anahera4ES" if BOARD_GOOGLE_ANAHERA4ES
	default "Vell" if BOARD_GOOGLE_VELL
	default "Taniks" if BOARD_GOOGLE_TANIKS
	default "Nivviks" if BOARD_GOOGLE_NIVVIKS
	default "Nereid" if BOARD_GOOGLE_NEREID
	default "Agah" if BOARD_GOOGLE_AGAH
	default "Volmar" if BOARD_GOOGLE_VOLMAR
	default "Banshee" if BOARD_GOOGLE_BANSHEE
	default "Crota" if BOARD_GOOGLE_CROTA
	default "Moli" if BOARD_GOOGLE_MOLI
	default "Kinox" if BOARD_GOOGLE_KINOX
	default "Craask" if BOARD_GOOGLE_CRAASK
	default "Osiris" if BOARD_GOOGLE_OSIRIS
	default "Mithrax" if BOARD_GOOGLE_MITHRAX
	default "Kuldax" if BOARD_GOOGLE_KULDAX
	default "Skolas" if BOARD_GOOGLE_SKOLAS
	default "Skolas4ES" if BOARD_GOOGLE_SKOLAS4ES
	default "Joxer" if BOARD_GOOGLE_JOXER
	default "Pujjo" if BOARD_GOOGLE_PUJJO
	default "Xivu" if BOARD_GOOGLE_XIVU
	default "Gaelin" if BOARD_GOOGLE_GAELIN
	default "Yaviks" if BOARD_GOOGLE_YAVIKS
	default "Lisbon" if BOARD_GOOGLE_LISBON
	default "Zydron" if BOARD_GOOGLE_ZYDRON
	default "Gladios" if BOARD_GOOGLE_GLADIOS
	default "Marasov" if BOARD_GOOGLE_MARASOV
	default "Omnigul" if BOARD_GOOGLE_OMNIGUL
	default "Constitution" if BOARD_GOOGLE_CONSTITUTION
	default "Aurash" if BOARD_GOOGLE_AURASH
	default "Hades" if BOARD_GOOGLE_HADES
	default "Uldren" if BOARD_GOOGLE_ULDREN
	default "Yavilla" if BOARD_GOOGLE_YAVILLA
	default "Gothrax" if BOARD_GOOGLE_GOTHRAX

config VARIANT_DIR
	default "brya0" if BOARD_GOOGLE_BRYA0
	default "brask" if BOARD_GOOGLE_BRASK
	default "primus" if BOARD_GOOGLE_PRIMUS
	default "primus4es" if BOARD_GOOGLE_PRIMUS4ES
	default "gimble" if BOARD_GOOGLE_GIMBLE
	default "gimble4es" if BOARD_GOOGLE_GIMBLE4ES
	default "redrix" if BOARD_GOOGLE_REDRIX
	default "redrix4es" if BOARD_GOOGLE_REDRIX4ES
	default "kano" if BOARD_GOOGLE_KANO
	default "taeko" if BOARD_GOOGLE_TAEKO
	default "taeko4es" if BOARD_GOOGLE_TAEKO4ES
	default "felwinter" if BOARD_GOOGLE_FELWINTER
	default "anahera" if BOARD_GOOGLE_ANAHERA
	default "anahera4es" if BOARD_GOOGLE_ANAHERA4ES
	default "vell" if BOARD_GOOGLE_VELL
	default "taniks" if BOARD_GOOGLE_TANIKS
	default "nivviks" if BOARD_GOOGLE_NIVVIKS
	default "nereid" if BOARD_GOOGLE_NEREID
	default "agah" if BOARD_GOOGLE_AGAH
	default "volmar" if BOARD_GOOGLE_VOLMAR
	default "banshee" if BOARD_GOOGLE_BANSHEE
	default "crota" if BOARD_GOOGLE_CROTA
	default "moli" if BOARD_GOOGLE_MOLI
	default "kinox" if BOARD_GOOGLE_KINOX
	default "craask" if BOARD_GOOGLE_CRAASK
	default "osiris" if BOARD_GOOGLE_OSIRIS
	default "mithrax" if BOARD_GOOGLE_MITHRAX
	default "kuldax" if BOARD_GOOGLE_KULDAX
	default "skolas" if BOARD_GOOGLE_SKOLAS
	default "skolas4es" if BOARD_GOOGLE_SKOLAS4ES
	default "joxer" if BOARD_GOOGLE_JOXER
	default "pujjo" if BOARD_GOOGLE_PUJJO
	default "xivu" if BOARD_GOOGLE_XIVU
	default "gaelin" if BOARD_GOOGLE_GAELIN
	default "yaviks" if BOARD_GOOGLE_YAVIKS
	default "lisbon" if BOARD_GOOGLE_LISBON
	default "zydron" if BOARD_GOOGLE_ZYDRON
	default "gladios" if BOARD_GOOGLE_GLADIOS
	default "marasov" if BOARD_GOOGLE_MARASOV
	default "omnigul" if BOARD_GOOGLE_OMNIGUL
	default "constitution" if BOARD_GOOGLE_CONSTITUTION
	default "aurash" if BOARD_GOOGLE_AURASH
	default "hades" if BOARD_GOOGLE_HADES
	default "uldren" if BOARD_GOOGLE_ULDREN
	default "yavilla" if BOARD_GOOGLE_YAVILLA
	default "gothrax" if BOARD_GOOGLE_GOTHRAX

config VBOOT
	select VBOOT_EARLY_EC_SYNC if !BOARD_GOOGLE_BASEBOARD_NISSA
	select VBOOT_LID_SWITCH

config DIMM_SPD_SIZE
	default 512

config UART_FOR_CONSOLE
	int
	default 0

config HAVE_WWAN_POWER_SEQUENCE
	def_bool n
	help
	  Select this if the variant has a WWAN module and requires the poweroff sequence
	  to be performed on shutdown. Must define WWAN_FCPO, WWAN_RST and WWAN_PERST GPIOs
	  in variant.h, as well as T1_OFF_MS (time between PERST & RST) and T2_OFF_MS (time
	  between RST and FCPO). WWAN_PERST and T1_OFF_MS are only necessary for PCIe WWAN
	  (when HAVE_PCIE_WWAN is also selected).

config HAVE_PCIE_WWAN
	def_bool n

config USE_PM_ACPI_TIMER
	default y if BOARD_GOOGLE_PRIMUS4ES
	default n

config DEFAULT_ADL_NEM
	bool
	help
	  Brya variants with Alder Lake ESx silicon to choose this config
	  as eNEM was fuse disable till ESx silicon revision.

choice
	prompt "Cache as RAM (CAR) setup configuration to use"
	default USE_ADL_NEM if DEFAULT_ADL_NEM
	default USE_ADL_ENEM

config USE_ADL_ENEM
	bool "eNEM: when selected, the variant will use eNEM instead of regular NEM."
	select INTEL_CAR_NEM_ENHANCED

config USE_ADL_NEM
	bool "NEM: when selected, the variant will use regular NEM."
	select INTEL_CAR_NEM

endchoice

config MEMORY_SODIMM
	def_bool n
	select SPD_CACHE_ENABLE
	select SPD_CACHE_IN_FMAP

config MEMORY_SOLDERDOWN
	def_bool n
	select CHROMEOS_DRAM_PART_NUMBER_IN_CBI if CHROMEOS
	select HAVE_SPD_IN_CBFS

config HAVE_SLP_S0_GATE
	def_bool n

config INCLUDE_NVIDIA_GPU_ASL
	def_bool n
	help
	  Select this if the variant has an Nvidia GN20 GPU attached to PEG1

config PCIEXP_DEFAULT_MAX_RESIZABLE_BAR_BITS
	int
	default 33

endif # BOARD_GOOGLE_BRYA_COMMON
