if BOARD_SYSTEM76_GAZE16_3050 || BOARD_SYSTEM76_GAZE16_3060 || BOARD_SYSTEM76_GAZE16_3060_B || BOARD_SYSTEM76_ORYP8

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select BOARD_ROMSIZE_KB_16384
	select DRIVERS_I2C_HID
	select DRIVERS_I2C_TAS5825M if BOARD_SYSTEM76_ORYP8
	select EC_SYSTEM76_EC
	select EC_SYSTEM76_EC_COLOR_KEYBOARD
	select EC_SYSTEM76_EC_DGPU
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_CMOS_DEFAULT
	select HAVE_OPTION_TABLE
	select INTEL_GMA_HAVE_VBT
	select INTEL_LPSS_UART_FOR_CONSOLE
	select MEMORY_MAPPED_TPM
	select MAINBOARD_HAS_TPM2
	select MAINBOARD_USES_IFD_GBE_REGION if BOARD_SYSTEM76_GAZE16_3060_B
	select NO_UART_ON_SUPERIO
	select PCIEXP_HOTPLUG if BOARD_SYSTEM76_ORYP8
	select PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G if BOARD_SYSTEM76_ORYP8
	select SOC_INTEL_TIGERLAKE
	select SOC_INTEL_TIGERLAKE_PCH_H
	select SOC_INTEL_COMMON_BLOCK_HDA_VERB
	select SPD_READ_BY_WORD
	select SYSTEM_TYPE_LAPTOP
	select TPM_MEASURED_BOOT
	select TPM_RDRESP_NEED_DELAY

config MAINBOARD_DIR
	default "system76/tgl-h"

config MAINBOARD_PART_NUMBER
	default "gaze16-3050" if BOARD_SYSTEM76_GAZE16_3050
	default "gaze16-3060" if BOARD_SYSTEM76_GAZE16_3060
	default "gaze16-3060-b" if BOARD_SYSTEM76_GAZE16_3060_B
	default "oryp8" if BOARD_SYSTEM76_ORYP8

config MAINBOARD_SMBIOS_PRODUCT_NAME
	default "Oryx Pro" if BOARD_SYSTEM76_ORYP8
	default "Gazelle"

config MAINBOARD_VERSION
	default "gaze16-3050" if BOARD_SYSTEM76_GAZE16_3050
	default "gaze16-3060" if BOARD_SYSTEM76_GAZE16_3060
	default "gaze16-3060-b" if BOARD_SYSTEM76_GAZE16_3060_B
	default "oryp8" if BOARD_SYSTEM76_ORYP8

config VARIANT_DIR
	default "gaze16-3050" if BOARD_SYSTEM76_GAZE16_3050
	default "gaze16-3060" if BOARD_SYSTEM76_GAZE16_3060 || BOARD_SYSTEM76_GAZE16_3060_B
	default "oryp8" if BOARD_SYSTEM76_ORYP8

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

config CBFS_SIZE
	default 0xA00000

config CONSOLE_POST
	default y

config ONBOARD_VGA_IS_PRIMARY
	default y

config POST_DEVICE
	default n

config UART_FOR_CONSOLE
	default 2

# PM Timer Disabled, saves power
config USE_PM_ACPI_TIMER
	default n

config D3COLD_SUPPORT
	default n

endif
