config BOARD_GOOGLE_BASEBOARD_POPPY
	def_bool n
	select BOARD_ROMSIZE_KB_16384
	select DRIVERS_GENERIC_GPIO_KEYS
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_HID
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_BOARDID
	select EC_GOOGLE_CHROMEEC_ESPI
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_SPD_IN_CBFS
	select INTEL_LPSS_UART_FOR_CONSOLE
	select MAINBOARD_HAS_CHROMEOS
	select MAINBOARD_HAS_TPM2
	select SOC_INTEL_KABYLAKE
	select TPM_GOOGLE_CR50

config BOARD_GOOGLE_ATLAS
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_I2C_DA7219
	select DRIVERS_I2C_MAX98373
	select DRIVERS_SPI_ACPI
	select DRIVERS_USB_ACPI
	select EXCLUDE_NATIVE_SD_INTERFACE
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
	select INTEL_GMA_HAVE_VBT
	select MAINBOARD_HAS_LIBGFXINIT
	select SPI_TPM
	select SYSTEM_TYPE_LAPTOP
	select VARIANT_HAS_CAMERA_ACPI

config BOARD_GOOGLE_POPPY
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select DRIVERS_I2C_MAX98927
	select I2C_TPM
	select NO_FADT_8042
	select SYSTEM_TYPE_LAPTOP
	select VARIANT_HAS_CAMERA_ACPI

config BOARD_GOOGLE_NAMI
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_DA7219
	select DRIVERS_SPI_ACPI
	select EXCLUDE_NATIVE_SD_INTERFACE
	select INTEL_GMA_HAVE_VBT
	select SPI_TPM
	select SYSTEM_TYPE_LAPTOP

config BOARD_GOOGLE_NAUTILUS
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_GENERIC_MAX98357A
	select DRIVERS_I2C_DA7219
	select I2C_TPM
	select INTEL_GMA_HAVE_VBT
	select SYSTEM_TYPE_CONVERTIBLE
	select VARIANT_HAS_CAMERA_ACPI

config BOARD_GOOGLE_NOCTURNE
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_I2C_DA7219
	select DRIVERS_I2C_MAX98373
	select DRIVERS_I2C_SX9310
	select DRIVERS_SPI_ACPI
	select DRIVERS_USB_ACPI
	select EXCLUDE_NATIVE_SD_INTERFACE
	select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
	select INTEL_GMA_HAVE_VBT
	select NO_FADT_8042
	select SPI_TPM
	select SYSTEM_TYPE_DETACHABLE
	select VARIANT_HAS_CAMERA_ACPI

config BOARD_GOOGLE_RAMMUS
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select CHROMEOS_WIFI_SAR if CHROMEOS
	select DRIVERS_I2C_DA7219
	select DRIVERS_I2C_MAX98927
	select DRIVERS_SPI_ACPI
	select DRIVERS_USB_ACPI
	select INTEL_GMA_HAVE_VBT
	select MAINBOARD_HAS_LIBGFXINIT
	select SPI_TPM
	select SYSTEM_TYPE_LAPTOP

config BOARD_GOOGLE_SORAKA
	select BOARD_GOOGLE_BASEBOARD_POPPY
	select DRIVERS_I2C_MAX98927
	select I2C_TPM
	select INTEL_GMA_HAVE_VBT
	select NO_FADT_8042
	select SYSTEM_TYPE_DETACHABLE
	select VARIANT_HAS_CAMERA_ACPI

if BOARD_GOOGLE_BASEBOARD_POPPY

config DISABLE_HECI1_AT_PRE_BOOT
	default y

config CHROMEOS_WIFI_SAR
	bool
	depends on CHROMEOS
	select DSAR_ENABLE
	select SAR_ENABLE
	select USE_SAR

config DEVICETREE
	default "variants/atlas/devicetree.cb" if BOARD_GOOGLE_ATLAS
	default "variants/nami/devicetree.cb" if BOARD_GOOGLE_NAMI
	default "variants/nautilus/devicetree.cb" if BOARD_GOOGLE_NAUTILUS
	default "variants/nocturne/devicetree.cb" if BOARD_GOOGLE_NOCTURNE
	default "variants/rammus/devicetree.cb" if BOARD_GOOGLE_RAMMUS
	default "variants/soraka/devicetree.cb" if BOARD_GOOGLE_SORAKA
	default "variants/baseboard/devicetree.cb"

config DRIVER_TPM_I2C_BUS
	depends on I2C_TPM
	default 0x1

config DRIVER_TPM_I2C_ADDR
	depends on I2C_TPM
	default 0x50

config DRIVER_TPM_SPI_BUS
	depends on SPI_TPM
	default 0x1

config INCLUDE_NHLT_BLOBS
	bool "Include blobs for audio."
	select NHLT_DMIC_2CH
	select NHLT_DMIC_4CH
	select NHLT_MAX98927
	select NHLT_RT5663

config INCLUDE_NHLT_BLOBS_ATLAS
	bool "Include blobs for atlas audio."
	select NHLT_DA7219
	select NHLT_DMIC_4CH
	select NHLT_MAX98373

config INCLUDE_NHLT_BLOBS_NAUTILUS
	bool "Include blobs for nautilus audio."
	select NHLT_DA7219
	select NHLT_DMIC_4CH
	select NHLT_MAX98357

config INCLUDE_NHLT_BLOBS_NAMI
	bool "Include blobs for nami audio."
	select NHLT_DA7219
	select NHLT_DMIC_4CH
	select NHLT_MAX98357

config INCLUDE_NHLT_BLOBS_NOCTURNE
	bool "Include blobs for nocturne audio."
	select NHLT_DMIC_4CH
	select NHLT_MAX98373

config INCLUDE_NHLT_BLOBS_RAMMUS
	bool "Include blobs for rammus audio."
	select NHLT_DA7219
	select NHLT_DMIC_4CH
	select NHLT_MAX98927

config MAINBOARD_DIR
	default "google/poppy"

config MAINBOARD_FAMILY
	string
	default "Google_Atlas" if BOARD_GOOGLE_ATLAS
	default "Google_Poppy" if BOARD_GOOGLE_POPPY
	default "Google_Nami" if BOARD_GOOGLE_NAMI
	default "Google_Nautilus" if BOARD_GOOGLE_NAUTILUS
	default "Google_Nocturne" if BOARD_GOOGLE_NOCTURNE
	default "Google_Rammus" if BOARD_GOOGLE_RAMMUS
	default "Google_Soraka" if BOARD_GOOGLE_SORAKA

config MAINBOARD_PART_NUMBER
	default "Atlas" if BOARD_GOOGLE_ATLAS
	default "Poppy" if BOARD_GOOGLE_POPPY
	default "Nami" if BOARD_GOOGLE_NAMI
	default "Nautilus" if BOARD_GOOGLE_NAUTILUS
	default "Nocturne" if BOARD_GOOGLE_NOCTURNE
	default "Rammus" if BOARD_GOOGLE_RAMMUS
	default "Soraka" if BOARD_GOOGLE_SORAKA

config OEM_BIN_FILE
	string "OEM ID table"
	default ""

config TPM_TIS_ACPI_INTERRUPT
	int
	default 64  # GPE0_DW2_00 (GPP_E0)

config VARIANT_DIR
	default "atlas" if BOARD_GOOGLE_ATLAS
	default "poppy" if BOARD_GOOGLE_POPPY
	default "nami" if BOARD_GOOGLE_NAMI
	default "nautilus" if BOARD_GOOGLE_NAUTILUS
	default "nocturne" if BOARD_GOOGLE_NOCTURNE
	default "rammus" if BOARD_GOOGLE_RAMMUS
	default "soraka" if BOARD_GOOGLE_SORAKA

# Select this option to enable camera ACPI support on the variant.
config VARIANT_HAS_CAMERA_ACPI
	bool
	default n

config VBOOT
	select EC_GOOGLE_CHROMEEC_SWITCHES
	select HAS_RECOVERY_MRC_CACHE
	select VBOOT_LID_SWITCH

config UART_FOR_CONSOLE
	int
	default 2

config USE_PM_ACPI_TIMER
	default n

endif # BOARD_GOOGLE_BASEBOARD_POPPY
