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_I2C_SX9324
	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_MUX
	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_ENABLE_USB4_PCIE_RESOURCES if SOC_INTEL_ALDERLAKE_PCH_P
	select SOC_INTEL_COMMON_BASECODE_DEBUG_FEATURE

config BOARD_GOOGLE_BASEBOARD_BRYA
	def_bool n
	select BOARD_GOOGLE_BRYA_COMMON
	select BOARD_ROMSIZE_KB_32768
	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
	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

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 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 SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_TI50
	select SOC_INTEL_COMMON_MMC_OVERRIDE

config BOARD_GOOGLE_BASEBOARD_SKOLAS
	def_bool n
	select BOARD_GOOGLE_BRYA_COMMON
	select BOARD_ROMSIZE_KB_32768
	select HAVE_SLP_S0_GATE
	select MEMORY_SOLDERDOWN if !BOARD_GOOGLE_BANSHEE
	select SOC_INTEL_ALDERLAKE_PCH_P
	select SOC_INTEL_RAPTORLAKE
	select SYSTEM_TYPE_LAPTOP
	select TPM_GOOGLE_CR50

if BOARD_GOOGLE_BRYA_COMMON

config BASEBOARD_DIR
	string
	default "brya" if BOARD_GOOGLE_BASEBOARD_BRYA
	default "brask" if BOARD_GOOGLE_BASEBOARD_BRASK
	default "nissa" if BOARD_GOOGLE_BASEBOARD_NISSA
	default "skolas" if BOARD_GOOGLE_BASEBOARD_SKOLAS

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

config DRIVER_TPM_I2C_ADDR
	hex
	default 0x50

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

config TPM_TIS_ACPI_INTERRUPT
	int
	default 13 # GPE0_DW0_13 (GPP_A13_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_Nissa" if BOARD_GOOGLE_BASEBOARD_NISSA
	default "Google_Skolas" if BOARD_GOOGLE_BASEBOARD_SKOLAS

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 "Gaelin4ADL" if BOARD_GOOGLE_GAELIN4ADL
	default "Yaviks" if BOARD_GOOGLE_YAVIKS
	default "Lisbon" if BOARD_GOOGLE_LISBON
	default "Zydron" if BOARD_GOOGLE_ZYDRON

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_GAELIN4ADL
	default "yaviks" if BOARD_GOOGLE_YAVIKS
	default "lisbon" if BOARD_GOOGLE_LISBON
	default "zydron" if BOARD_GOOGLE_ZYDRON

config VBOOT
	select VBOOT_EARLY_EC_SYNC if !BOARD_GOOGLE_BASEBOARD_NISSA
	select VBOOT_LID_SWITCH

config VBOOT_GSC_BOARD_ID
	string
	default "LBTV" if BOARD_GOOGLE_JOXER

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

choice
	prompt "Cache as RAM (CAR) setup configuration to use"
	default USE_ADL_NEM if BOARD_GOOGLE_PRIMUS4ES || BOARD_GOOGLE_GIMBLE4ES || BOARD_GOOGLE_REDRIX4ES || BOARD_GOOGLE_TAEKO4ES || BOARD_GOOGLE_ANAHERA4ES || BOARD_GOOGLE_TANIKS || BOARD_GOOGLE_NIVVIKS || BOARD_GOOGLE_NEREID || BOARD_GOOGLE_CRAASK || BOARD_GOOGLE_SKOLAS || BOARD_GOOGLE_SKOLAS4ES || BOARD_GOOGLE_JOXER || BOARD_GOOGLE_PUJJO || BOARD_GOOGLE_XIVU || BOARD_GOOGLE_YAVIKS || BOARD_GOOGLE_ZYDRON
	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 32

endif # BOARD_GOOGLE_BRYA_COMMON
