## SPDX-License-Identifier: GPL-2.0-only

config BOARD_ASUS_P8X7X_SERIES
	bool
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_CMOS_DEFAULT
	select HAVE_OPTION_TABLE
	select INTEL_GMA_HAVE_VBT
	select INTEL_INT15
	select MAINBOARD_HAS_LIBGFXINIT
	select NORTHBRIDGE_INTEL_SANDYBRIDGE
	select SERIRQ_CONTINUOUS_MODE
	select SOUTHBRIDGE_INTEL_C216

config BOARD_ASUS_P8C_WS
	select BOARD_ASUS_P8X7X_SERIES
	select BOARD_ROMSIZE_KB_8192
	select MEMORY_MAPPED_TPM
	select SUPERIO_NUVOTON_NCT6776
	select USE_NATIVE_RAMINIT

config BOARD_ASUS_P8H77_V
	select BOARD_ASUS_P8X7X_SERIES
	select BOARD_ROMSIZE_KB_8192
	select SUPERIO_NUVOTON_NCT6779D
	select USE_NATIVE_RAMINIT

config BOARD_ASUS_P8Z77_M_PRO
	select BOARD_ASUS_P8X7X_SERIES
	select BOARD_ROMSIZE_KB_8192
	select DRIVERS_ASMEDIA_ASPM_BLACKLIST # for ASM1061 eSATA
	select MEMORY_MAPPED_TPM
	select SUPERIO_NUVOTON_NCT6779D

config BOARD_ASUS_P8Z77_V_LX2
	select BOARD_ASUS_P8X7X_SERIES
	select BOARD_ROMSIZE_KB_8192
	select REALTEK_8168_RESET
	select SUPERIO_NUVOTON_NCT6779D
	select USE_NATIVE_RAMINIT

config BOARD_ASUS_P8Z77_V
	select BOARD_ASUS_P8X7X_SERIES
	select BOARD_ROMSIZE_KB_8192
	select DRIVERS_ASMEDIA_ASPM_BLACKLIST # for ASM1061 eSATA
	select MEMORY_MAPPED_TPM
	select MAINBOARD_USES_IFD_GBE_REGION
	select SUPERIO_NUVOTON_NCT6779D
	select USE_NATIVE_RAMINIT

config BOARD_ASUS_P8Z77_M
	select BOARD_ASUS_P8X7X_SERIES
	select BOARD_ROMSIZE_KB_8192
	select MEMORY_MAPPED_TPM
	select SUPERIO_NUVOTON_NCT6779D
	select SUPERIO_NUVOTON_COMMON_COM_A

if BOARD_ASUS_P8X7X_SERIES

config MAINBOARD_DIR
	default "asus/p8x7x-series"

config VARIANT_DIR
	default "p8c_ws"      if BOARD_ASUS_P8C_WS
	default "p8h77-v"     if BOARD_ASUS_P8H77_V
	default "p8z77-m_pro" if BOARD_ASUS_P8Z77_M_PRO
	default "p8z77-v_lx2" if BOARD_ASUS_P8Z77_V_LX2
	default "p8z77-v"     if BOARD_ASUS_P8Z77_V
	default "p8z77-m"     if BOARD_ASUS_P8Z77_M

config MAINBOARD_PART_NUMBER
	default "P8C WS"      if BOARD_ASUS_P8C_WS
	default "P8H77-V"     if BOARD_ASUS_P8H77_V
	default "P8Z77-M PRO" if BOARD_ASUS_P8Z77_M_PRO
	default "P8Z77-V LX2" if BOARD_ASUS_P8Z77_V_LX2
	default "P8Z77-V"     if BOARD_ASUS_P8Z77_V
	default "P8Z77-M"     if BOARD_ASUS_P8Z77_M

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

config CMOS_DEFAULT_FILE
	default "src/mainboard/\$(MAINBOARDDIR)/variants/\$(CONFIG_VARIANT_DIR)/cmos.default"

config CMOS_LAYOUT_FILE
	default "src/mainboard/\$(MAINBOARDDIR)/variants/\$(CONFIG_VARIANT_DIR)/cmos.layout"

endif
