asus/p2b-d: Transform into variant

TEST=build with BUILD_TIMELESS=1, binary does not change

Change-Id: I1161c726c8c752b5b1e152e1617811989631096e
Signed-off-by: Keith Hui <buurin@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39903
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/asus/p2b-d/Kconfig b/src/mainboard/asus/p2b-d/Kconfig
deleted file mode 100644
index 2b61db7..0000000
--- a/src/mainboard/asus/p2b-d/Kconfig
+++ /dev/null
@@ -1,45 +0,0 @@
-##
-## This file is part of the coreboot project.
-##
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; version 2 of the License.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-if BOARD_ASUS_P2B_D
-
-config BOARD_SPECIFIC_OPTIONS
-	def_bool y
-	select CPU_INTEL_SLOT_1
-	select NORTHBRIDGE_INTEL_I440BX
-	select SOUTHBRIDGE_INTEL_I82371EB
-	select SUPERIO_WINBOND_W83977TF
-	select HAVE_PIRQ_TABLE
-	select HAVE_MP_TABLE
-	select SMP
-	select IOAPIC
-	select BOARD_ROMSIZE_KB_256
-	select SDRAMPWR_4DIMM
-
-config MAINBOARD_DIR
-	string
-	default "asus/p2b-d"
-
-config MAINBOARD_PART_NUMBER
-	string
-	default "P2B-D"
-
-config IRQ_SLOT_COUNT
-	int
-	default 6
-
-config MAX_CPUS
-	int
-	default 2
-
-endif # BOARD_ASUS_P2B_D
diff --git a/src/mainboard/asus/p2b-d/Kconfig.name b/src/mainboard/asus/p2b-d/Kconfig.name
deleted file mode 100644
index 23e7808..0000000
--- a/src/mainboard/asus/p2b-d/Kconfig.name
+++ /dev/null
@@ -1,2 +0,0 @@
-config BOARD_ASUS_P2B_D
-	bool "P2B-D"
diff --git a/src/mainboard/asus/p2b-d/romstage.c b/src/mainboard/asus/p2b-d/romstage.c
deleted file mode 100644
index b996f1e..0000000
--- a/src/mainboard/asus/p2b-d/romstage.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-/* Shares romstage with P2B-DS */
-#include "../p2b-ds/romstage.c"
diff --git a/src/mainboard/asus/p2b/Kconfig b/src/mainboard/asus/p2b/Kconfig
index 694469d..36d882f 100644
--- a/src/mainboard/asus/p2b/Kconfig
+++ b/src/mainboard/asus/p2b/Kconfig
@@ -11,7 +11,14 @@
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
-if BOARD_ASUS_P2B || BOARD_ASUS_P2B_F || BOARD_ASUS_P2B_LS
+if BOARD_ASUS_P2B || BOARD_ASUS_P2B_D || BOARD_ASUS_P2B_F || BOARD_ASUS_P2B_LS
+
+config BASE_ASUS_P2B_D
+	def_bool n
+	select SDRAMPWR_4DIMM
+	select HAVE_MP_TABLE
+	select IOAPIC
+	select SMP
 
 config BOARD_SPECIFIC_OPTIONS
 	def_bool y
@@ -23,6 +30,11 @@
 	select BOARD_ROMSIZE_KB_256
 	select SDRAMPWR_4DIMM if BOARD_ASUS_P2B_LS
 	select HAVE_ACPI_TABLES if BOARD_ASUS_P2B || BOARD_ASUS_P2B_LS
+	select BASE_ASUS_P2B_D if BOARD_ASUS_P2B_D
+
+config MAX_CPUS
+	int
+	default 2 if BASE_ASUS_P2B_D
 
 config MAINBOARD_DIR
 	string
@@ -31,12 +43,14 @@
 config MAINBOARD_PART_NUMBER
 	string
 	default "P2B" if BOARD_ASUS_P2B
+	default "P2B-D" if BOARD_ASUS_P2B_D
 	default "P2B-F" if BOARD_ASUS_P2B_F
 	default "P2B-LS" if BOARD_ASUS_P2B_LS
 
 config VARIANT_DIR
 	string
 	default "p2b" if BOARD_ASUS_P2B
+	default "p2b-d" if BOARD_ASUS_P2B_D
 	default "p2b-f" if BOARD_ASUS_P2B_F
 	default "p2b-ls" if BOARD_ASUS_P2B_LS
 
diff --git a/src/mainboard/asus/p2b/Kconfig.name b/src/mainboard/asus/p2b/Kconfig.name
index fd645f0..8c42258 100644
--- a/src/mainboard/asus/p2b/Kconfig.name
+++ b/src/mainboard/asus/p2b/Kconfig.name
@@ -1,6 +1,9 @@
 config BOARD_ASUS_P2B
 	bool "P2B"
 
+config BOARD_ASUS_P2B_D
+	bool "P2B-D"
+
 config BOARD_ASUS_P2B_F
 	bool "P2B-F"
 
diff --git a/src/mainboard/asus/p2b/Makefile.inc b/src/mainboard/asus/p2b/Makefile.inc
index 640396e..ca08106 100644
--- a/src/mainboard/asus/p2b/Makefile.inc
+++ b/src/mainboard/asus/p2b/Makefile.inc
@@ -1 +1,2 @@
 ramstage-$(CONFIG_GENERATE_PIRQ_TABLE) += variants/$(VARIANT_DIR)/irq_tables.c
+ramstage-$(CONFIG_GENERATE_MP_TABLE) += variants/$(VARIANT_DIR)/mptable.c
diff --git a/src/mainboard/asus/p2b-d/board_info.txt b/src/mainboard/asus/p2b/variants/p2b-d/board_info.txt
similarity index 100%
rename from src/mainboard/asus/p2b-d/board_info.txt
rename to src/mainboard/asus/p2b/variants/p2b-d/board_info.txt
diff --git a/src/mainboard/asus/p2b-d/devicetree.cb b/src/mainboard/asus/p2b/variants/p2b-d/devicetree.cb
similarity index 100%
rename from src/mainboard/asus/p2b-d/devicetree.cb
rename to src/mainboard/asus/p2b/variants/p2b-d/devicetree.cb
diff --git a/src/mainboard/asus/p2b-d/irq_tables.c b/src/mainboard/asus/p2b/variants/p2b-d/irq_tables.c
similarity index 100%
rename from src/mainboard/asus/p2b-d/irq_tables.c
rename to src/mainboard/asus/p2b/variants/p2b-d/irq_tables.c
diff --git a/src/mainboard/asus/p2b-d/mptable.c b/src/mainboard/asus/p2b/variants/p2b-d/mptable.c
similarity index 100%
rename from src/mainboard/asus/p2b-d/mptable.c
rename to src/mainboard/asus/p2b/variants/p2b-d/mptable.c