config BOARD_GOOGLE_BASEBOARD_DEDEDE
	def_bool n
	select BOARD_ROMSIZE_KB_16384 if !BOARD_ROMSIZE_KB_32768
	select DPTF_USE_EISA_HID
	select DRIVERS_GENERIC_GPIO_KEYS
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_GPIO_MUX
	select DRIVERS_I2C_HID
	select DRIVERS_I2C_SX9324
	select DRIVERS_INTEL_DPTF
	select DRIVERS_SPI_ACPI
	select DRIVERS_USB_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 INTEL_LPSS_UART_FOR_CONSOLE
	select MAINBOARD_HAS_CHROMEOS
	select MAINBOARD_HAS_TPM2
	select SOC_INTEL_JASPERLAKE
	select SOC_INTEL_COMMON_BLOCK_DTT
	select SOC_INTEL_CSE_LITE_SKU
	select HAVE_SPD_IN_CBFS if !BOARD_GOOGLE_DEDEDE
	select DRIVERS_INTEL_MIPI_CAMERA
	select SOC_INTEL_COMMON_BLOCK_IPU
	select DRIVERS_GENERIC_ALC1015

config BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	def_bool n
	select CR50_USE_LONG_INTERRUPT_PULSES
	select MAINBOARD_HAS_SPI_TPM_CR50
	select BOARD_GOOGLE_BASEBOARD_DEDEDE

config BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
	def_bool n
	select MAINBOARD_HAS_LPC_TPM
	select BOARD_GOOGLE_BASEBOARD_DEDEDE

if BOARD_GOOGLE_BASEBOARD_DEDEDE

config BASEBOARD_DEDEDE_LAPTOP
	def_bool n
	select SYSTEM_TYPE_LAPTOP

config CHROMEOS
	select CHROMEOS_CSE_BOARD_RESET_OVERRIDE if BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
	select CHROMEOS_DRAM_PART_NUMBER_IN_CBI
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select GBB_FLAG_FORCE_DEV_SWITCH_ON
	select GBB_FLAG_FORCE_DEV_BOOT_USB
	select GBB_FLAG_FORCE_DEV_BOOT_ALTFW
	select GBB_FLAG_FORCE_MANUAL_RECOVERY
	select HAS_RECOVERY_MRC_CACHE
	select VBOOT_EARLY_EC_SYNC
	select VBOOT_LID_SWITCH

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

config DEVICETREE
	string
	default "variants/baseboard/devicetree.cb"

config DIMM_SPD_SIZE
	int
	default 512

config FMDFILE
	string
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-16MiB.fmd" if BOARD_ROMSIZE_KB_16384
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-32MiB.fmd" if BOARD_ROMSIZE_KB_32768

config MAINBOARD_DIR
	string
	default "google/dedede"

config MAINBOARD_FAMILY
	string
	default "Google_Dedede" if BOARD_GOOGLE_DEDEDE

config MAINBOARD_PART_NUMBER
	string
	default "Boten" if BOARD_GOOGLE_BOTEN
	default "Boten" if BOARD_GOOGLE_BOTEN_LEGACY
	default "Dedede" if BOARD_GOOGLE_DEDEDE
	default "Drawcia" if BOARD_GOOGLE_DRAWCIA
	default "Drawcia" if BOARD_GOOGLE_DRAWCIA_LEGACY
	default "Madoo" if BOARD_GOOGLE_MADOO
	default "Waddledoo" if BOARD_GOOGLE_WADDLEDOO
	default "Waddledee" if BOARD_GOOGLE_WADDLEDEE
	default "Wheelie" if BOARD_GOOGLE_WHEELIE
	default "Magolor" if BOARD_GOOGLE_MAGOLOR
	default "Metaknight" if BOARD_GOOGLE_METAKNIGHT
	default "Lantis" if BOARD_GOOGLE_LANTIS
	default "Galtic" if BOARD_GOOGLE_GALTIC
	default "Sasuke" if BOARD_GOOGLE_SASUKE
	default "Storo" if BOARD_GOOGLE_STORO
	default "Sasukette" if BOARD_GOOGLE_SASUKETTE
	default "Kracko" if BOARD_GOOGLE_KRACKO
	default "Blipper" if BOARD_GOOGLE_BLIPPER
	default "Cret" if BOARD_GOOGLE_CRET

config MAX_CPUS
	int
	default 4

config OVERRIDE_DEVICETREE
	string
	default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" if !BOARD_GOOGLE_DEDEDE

config UART_FOR_CONSOLE
	int
	default 2

config VARIANT_DIR
	string
	default "boten" if BOARD_GOOGLE_BOTEN
	default "boten" if BOARD_GOOGLE_BOTEN_LEGACY
	default "dedede" if BOARD_GOOGLE_DEDEDE
	default "drawcia" if BOARD_GOOGLE_DRAWCIA
	default "drawcia" if BOARD_GOOGLE_DRAWCIA_LEGACY
	default "madoo" if BOARD_GOOGLE_MADOO
	default "waddledoo" if BOARD_GOOGLE_WADDLEDOO
	default "waddledee" if BOARD_GOOGLE_WADDLEDEE
	default "wheelie" if BOARD_GOOGLE_WHEELIE
	default "magolor" if BOARD_GOOGLE_MAGOLOR
	default "metaknight" if BOARD_GOOGLE_METAKNIGHT
	default "lantis" if BOARD_GOOGLE_LANTIS
	default "galtic" if BOARD_GOOGLE_GALTIC
	default "sasuke" if BOARD_GOOGLE_SASUKE
	default "storo" if BOARD_GOOGLE_STORO
	default "sasukette" if BOARD_GOOGLE_SASUKETTE
	default "kracko" if BOARD_GOOGLE_KRACKO
	default "blipper" if BOARD_GOOGLE_BLIPPER
	default "cret" if BOARD_GOOGLE_CRET

endif #BOARD_GOOGLE_BASEBOARD_DEDEDE

if BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50

config DRIVER_TPM_SPI_BUS
	default 0x1

config TPM_TIS_ACPI_INTERRUPT
	int
	default 4  # GPE0_DW0_4 (GPP_B4)

endif #BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50

if BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2

config TPM_PIRQ
	hex
	default 0x24 # GPP_B4_IRQ

endif #BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
