mb/asus/p8h61-m_pro: Transform into variant setup

Tested with BUILD_TIMELESS=1, coreboot.rom for the Asus P8H61-M PRO
remains identical when not adding the .config file in it.

Change-Id: Iaa53a8a1b75f4c7359e32c6cd8c8a488c5763bbe
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54373
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index 29d0f71..860b79c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -200,11 +200,6 @@
 S:	Maintained
 F:	src/mainboard/asus/p8h61-m_lx/
 
-ASUS P8H61-M PRO MAINBOARD
-M:	Angel Pons <th3fanbus@gmail.com>
-S:	Maintained
-F:	src/mainboard/asus/p8h61-m_pro/
-
 ASUS P8Z77-M PRO MAINBOARD
 M:	Vlado Cibic <vladocb@protonmail.com>
 S:	Maintained
diff --git a/src/mainboard/asus/h61-series/Kconfig b/src/mainboard/asus/h61-series/Kconfig
index 2ef6642..959580f 100644
--- a/src/mainboard/asus/h61-series/Kconfig
+++ b/src/mainboard/asus/h61-series/Kconfig
@@ -20,13 +20,21 @@
 config VARIANT_DIR
 	string
 	default "p8h61-m_lx3_r2_0" if BOARD_ASUS_P8H61_M_LX3_R2_0
+	default "p8h61-m_pro"      if BOARD_ASUS_P8H61_M_PRO
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P8H61-M LX3 R2.0" if BOARD_ASUS_P8H61_M_LX3_R2_0
+	default "P8H61-M PRO"      if BOARD_ASUS_P8H61_M_PRO
 
 config DEVICETREE
 	string
 	default "variants/\$(CONFIG_VARIANT_DIR)/devicetree.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
diff --git a/src/mainboard/asus/h61-series/Kconfig.name b/src/mainboard/asus/h61-series/Kconfig.name
index 14ca540..d876aea 100644
--- a/src/mainboard/asus/h61-series/Kconfig.name
+++ b/src/mainboard/asus/h61-series/Kconfig.name
@@ -6,3 +6,15 @@
 	select REALTEK_8168_RESET
 	select RT8168_SET_LED_MODE
 	select SUPERIO_NUVOTON_NCT6779D
+
+config BOARD_ASUS_P8H61_M_PRO
+	bool "P8H61-M PRO"
+	select BOARD_ASUS_H61_SERIES
+	select BOARD_ROMSIZE_KB_4096
+	select DRIVERS_ASMEDIA_ASPM_BLACKLIST
+	select HAVE_CMOS_DEFAULT
+	select HAVE_OPTION_TABLE
+	select MAINBOARD_HAS_LPC_TPM
+	select REALTEK_8168_RESET
+	select RT8168_SET_LED_MODE
+	select SUPERIO_NUVOTON_NCT6776
diff --git a/src/mainboard/asus/p8h61-m_pro/board_info.txt b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/board_info.txt
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/board_info.txt
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/board_info.txt
diff --git a/src/mainboard/asus/p8h61-m_pro/cmos.default b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/cmos.default
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/cmos.default
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/cmos.default
diff --git a/src/mainboard/asus/p8h61-m_pro/cmos.layout b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/cmos.layout
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/cmos.layout
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/cmos.layout
diff --git a/src/mainboard/asus/p8h61-m_pro/data.vbt b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/data.vbt
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/data.vbt
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/data.vbt
Binary files differ
diff --git a/src/mainboard/asus/p8h61-m_pro/devicetree.cb b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/devicetree.cb
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/devicetree.cb
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/devicetree.cb
diff --git a/src/mainboard/asus/p8h61-m_pro/early_init.c b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/early_init.c
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/early_init.c
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/early_init.c
diff --git a/src/mainboard/asus/p8h61-m_pro/gma-mainboard.ads b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/gma-mainboard.ads
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/gma-mainboard.ads
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/gma-mainboard.ads
diff --git a/src/mainboard/asus/p8h61-m_pro/gpio.c b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/gpio.c
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/gpio.c
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/gpio.c
diff --git a/src/mainboard/asus/p8h61-m_pro/hda_verb.c b/src/mainboard/asus/h61-series/variants/p8h61-m_pro/hda_verb.c
similarity index 100%
rename from src/mainboard/asus/p8h61-m_pro/hda_verb.c
rename to src/mainboard/asus/h61-series/variants/p8h61-m_pro/hda_verb.c
diff --git a/src/mainboard/asus/p8h61-m_pro/Kconfig b/src/mainboard/asus/p8h61-m_pro/Kconfig
deleted file mode 100644
index 5674549..0000000
--- a/src/mainboard/asus/p8h61-m_pro/Kconfig
+++ /dev/null
@@ -1,32 +0,0 @@
-## SPDX-License-Identifier: GPL-2.0-only
-
-if BOARD_ASUS_P8H61_M_PRO
-
-config BOARD_SPECIFIC_OPTIONS
-	def_bool y
-	select BOARD_ROMSIZE_KB_4096
-	select DRIVERS_ASMEDIA_ASPM_BLACKLIST
-	select HAVE_ACPI_RESUME
-	select HAVE_ACPI_TABLES
-	select HAVE_CMOS_DEFAULT
-	select HAVE_OPTION_TABLE
-	select INTEL_GMA_HAVE_VBT
-	select MAINBOARD_HAS_LIBGFXINIT
-	select MAINBOARD_HAS_LPC_TPM
-	select NORTHBRIDGE_INTEL_SANDYBRIDGE
-	select REALTEK_8168_RESET
-	select RT8168_SET_LED_MODE
-	select SERIRQ_CONTINUOUS_MODE
-	select SOUTHBRIDGE_INTEL_BD82X6X
-	select SUPERIO_NUVOTON_NCT6776
-	select USE_NATIVE_RAMINIT
-
-config MAINBOARD_DIR
-	string
-	default "asus/p8h61-m_pro"
-
-config MAINBOARD_PART_NUMBER
-	string
-	default "P8H61-M PRO"
-
-endif # BOARD_ASUS_P8H61_M_PRO
diff --git a/src/mainboard/asus/p8h61-m_pro/Kconfig.name b/src/mainboard/asus/p8h61-m_pro/Kconfig.name
deleted file mode 100644
index a19d4e5..0000000
--- a/src/mainboard/asus/p8h61-m_pro/Kconfig.name
+++ /dev/null
@@ -1,2 +0,0 @@
-config BOARD_ASUS_P8H61_M_PRO
-	bool "P8H61-M PRO"
diff --git a/src/mainboard/asus/p8h61-m_pro/Makefile.inc b/src/mainboard/asus/p8h61-m_pro/Makefile.inc
deleted file mode 100644
index e402ffa..0000000
--- a/src/mainboard/asus/p8h61-m_pro/Makefile.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-bootblock-y += gpio.c
-romstage-y += gpio.c
-
-ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads
-bootblock-y += early_init.c
-romstage-y += early_init.c
diff --git a/src/mainboard/asus/p8h61-m_pro/acpi/ec.asl b/src/mainboard/asus/p8h61-m_pro/acpi/ec.asl
deleted file mode 100644
index e69de29..0000000
--- a/src/mainboard/asus/p8h61-m_pro/acpi/ec.asl
+++ /dev/null
diff --git a/src/mainboard/asus/p8h61-m_pro/acpi/platform.asl b/src/mainboard/asus/p8h61-m_pro/acpi/platform.asl
deleted file mode 100644
index bbee0a2..0000000
--- a/src/mainboard/asus/p8h61-m_pro/acpi/platform.asl
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-/* The _PTS method (Prepare To Sleep) is called before the OS is
- * entering a sleep state. The sleep state number is passed in Arg0
- */
-
-Method(_PTS,1)
-{
-}
-
-/* The _WAK method is called on system wakeup */
-
-Method(_WAK,1)
-{
-	Return(Package(){0,0})
-}
diff --git a/src/mainboard/asus/p8h61-m_pro/acpi/superio.asl b/src/mainboard/asus/p8h61-m_pro/acpi/superio.asl
deleted file mode 100644
index ee2eabe..0000000
--- a/src/mainboard/asus/p8h61-m_pro/acpi/superio.asl
+++ /dev/null
@@ -1,3 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#include <drivers/pc80/pc/ps2_controller.asl>
diff --git a/src/mainboard/asus/p8h61-m_pro/dsdt.asl b/src/mainboard/asus/p8h61-m_pro/dsdt.asl
deleted file mode 100644
index 149d548..0000000
--- a/src/mainboard/asus/p8h61-m_pro/dsdt.asl
+++ /dev/null
@@ -1,27 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#include <acpi/acpi.h>
-DefinitionBlock(
-	"dsdt.aml",
-	"DSDT",
-	ACPI_DSDT_REV_2,
-	OEM_ID,
-	ACPI_TABLE_CREATOR,
-	0x20141018	// OEM revision
-)
-{
-	#include <acpi/dsdt_top.asl>
-	#include "acpi/platform.asl"
-	#include <cpu/intel/common/acpi/cpu.asl>
-	#include <southbridge/intel/common/acpi/platform.asl>
-
-	/* global NVS and variables.  */
-	#include <southbridge/intel/bd82x6x/acpi/globalnvs.asl>
-	#include <southbridge/intel/common/acpi/sleepstates.asl>
-
-	Device (\_SB.PCI0)
-	{
-		#include <northbridge/intel/sandybridge/acpi/sandybridge.asl>
-		#include <southbridge/intel/bd82x6x/acpi/pch.asl>
-	}
-}