Restructured all vendors' Kconfig files to no longer source the boards'
Kconfigs from within the choice/endchoice block.  This makes it possible to
define user visible board specific options.  Moved all vendor names and PCI
ids to the vendors' Kconfigs.  Now all options in each file depend on the same
symbol, so replaced all "depends on"s with a single "if".  Sorted boards
(sort -d), cleaned whitespace.

This patch also introduces a dummy option BOARD_SPECIFIC_OPTIONS, which is
always "y" and never used.  It it simply needed to have something to attach
the boards' "select" statements to.

Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5754 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/mainboard/Kconfig b/src/mainboard/Kconfig
index 7f97fc6..db98c0f 100644
--- a/src/mainboard/Kconfig
+++ b/src/mainboard/Kconfig
@@ -115,311 +115,6 @@
 
 endchoice
 
-config MAINBOARD_VENDOR
-	string
-	default "Abit"
-	depends on VENDOR_ABIT
-
-config MAINBOARD_VENDOR
-	string
-	default "Advantech"
-	depends on VENDOR_ADVANTECH
-
-config MAINBOARD_VENDOR
-	string
-	default "AMD"
-	depends on VENDOR_AMD
-
-config MAINBOARD_VENDOR
-	string
-	default "Arima"
-	depends on VENDOR_ARIMA
-
-config MAINBOARD_VENDOR
-	string
-	default "Artec Group"
-	depends on VENDOR_ARTEC_GROUP
-
-config MAINBOARD_VENDOR
-	string
-	default "ASI"
-	depends on VENDOR_ASI
-
-config MAINBOARD_VENDOR
-	string
-	default "ASROCK"
-	depends on VENDOR_ASROCK
-
-config MAINBOARD_VENDOR
-	string
-	default "ASUS"
-	depends on VENDOR_ASUS
-
-config MAINBOARD_VENDOR
-	string
-	default "A-Trend"
-	depends on VENDOR_A_TREND
-
-config MAINBOARD_VENDOR
-	string
-	default "AXUS"
-	depends on VENDOR_AXUS
-
-config MAINBOARD_VENDOR
-	string
-	default "AZZA"
-	depends on VENDOR_AZZA
-
-config MAINBOARD_VENDOR
-	string
-	default "BCOM"
-	depends on VENDOR_BCOM
-
-config MAINBOARD_VENDOR
-	string
-	default "Biostar"
-	depends on VENDOR_BIOSTAR
-
-config MAINBOARD_VENDOR
-	string
-	default "Broadcom"
-	depends on VENDOR_BROADCOM
-
-config MAINBOARD_VENDOR
-	string
-	default "Compaq"
-	depends on VENDOR_COMPAQ
-
-config MAINBOARD_VENDOR
-	string
-	default "Dell"
-	depends on VENDOR_DELL
-
-config MAINBOARD_VENDOR
-	string
-	default "DIGITAL-LOGIC"
-	depends on VENDOR_DIGITAL_LOGIC
-
-config MAINBOARD_VENDOR
-	string
-	default "EagleLion"
-	depends on VENDOR_EAGLELION
-
-config MAINBOARD_VENDOR
-	string
-	default "ECS"
-	depends on VENDOR_ECS
-
-config MAINBOARD_VENDOR
-	string
-	default "Emulation"
-	depends on VENDOR_EMULATION
-
-config MAINBOARD_VENDOR
-	string
-	default "Getac"
-	depends on VENDOR_GETAC
-
-config MAINBOARD_VENDOR
-	string
-	default "GIGABYTE"
-	depends on VENDOR_GIGABYTE
-
-config MAINBOARD_VENDOR
-	string
-	default "HP"
-	depends on VENDOR_HP
-
-config MAINBOARD_VENDOR
-	string
-	default "iBase"
-	depends on VENDOR_IBASE
-
-config MAINBOARD_VENDOR
-	string
-	default "IBM"
-	depends on VENDOR_IBM
-
-config MAINBOARD_VENDOR
-	string
-	default "IEI"
-	depends on VENDOR_IEI
-
-config MAINBOARD_VENDOR
-	string
-	default "Intel"
-	depends on VENDOR_INTEL
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x8086
-	depends on VENDOR_INTEL
-
-config MAINBOARD_VENDOR
-	string
-	default "IWILL"
-	depends on VENDOR_IWILL
-
-config MAINBOARD_VENDOR
-	string
-	default "Jetway"
-	depends on VENDOR_JETWAY
-
-config MAINBOARD_VENDOR
-	string
-	default "Kontron"
-	depends on VENDOR_KONTRON
-
-config MAINBOARD_VENDOR
-	string
-	default "Lanner"
-	depends on VENDOR_LANNER
-
-config MAINBOARD_VENDOR
-	string
-	default "Lippert"
-	depends on VENDOR_LIPPERT
-
-config MAINBOARD_VENDOR
-	string
-	default "Mitac"
-	depends on VENDOR_MITAC
-
-config MAINBOARD_VENDOR
-	string
-	default "MSI"
-	depends on VENDOR_MSI
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x1462
-	depends on VENDOR_MSI
-
-config MAINBOARD_VENDOR
-	string
-	default "NEC"
-	depends on VENDOR_NEC
-
-config MAINBOARD_VENDOR
-	string
-	default "Newisys"
-	depends on VENDOR_NEWISYS
-
-config MAINBOARD_VENDOR
-	string
-	default "Nokia"
-	depends on VENDOR_NOKIA
-
-config MAINBOARD_VENDOR
-	string
-	default "NVIDIA"
-	depends on VENDOR_NVIDIA
-
-config MAINBOARD_VENDOR
-	string
-	default "OLPC"
-	depends on VENDOR_OLPC
-
-config MAINBOARD_VENDOR
-	string
-	default "PC Engines"
-	depends on VENDOR_PC_ENGINES
-
-config MAINBOARD_VENDOR
-	string
-	default "RCA"
-	depends on VENDOR_RCA
-
-config MAINBOARD_VENDOR
-	string
-	default "Roda"
-	depends on VENDOR_RODA
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x4352
-	depends on VENDOR_RODA
-
-config MAINBOARD_VENDOR
-	string
-	default "Soyo"
-	depends on VENDOR_SOYO
-
-config MAINBOARD_VENDOR
-	string
-	default "Sun"
-	depends on VENDOR_SUNW
-
-config MAINBOARD_VENDOR
-	string
-	default "Supermicro"
-	depends on VENDOR_SUPERMICRO
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x15d9
-	depends on VENDOR_SUPERMICRO
-
-config MAINBOARD_VENDOR
-	string
-	default "Technexion"
-	depends on VENDOR_TECHNEXION
-
-config MAINBOARD_VENDOR
-	string
-	default "Technologic"
-	depends on VENDOR_TECHNOLOGIC
-
-config MAINBOARD_VENDOR
-	string
-	default "TeleVideo"
-	depends on VENDOR_TELEVIDEO
-
-config MAINBOARD_VENDOR
-	string
-	default "Thomson"
-	depends on VENDOR_THOMSON
-
-config MAINBOARD_VENDOR
-	string
-	default "Traverse Technologies"
-	depends on VENDOR_TRAVERSE
-
-config MAINBOARD_VENDOR
-	string
-	default "Tyan"
-	depends on VENDOR_TYAN
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x10f1
-	depends on VENDOR_TYAN
-
-config MAINBOARD_VENDOR
-	string
-	default "VIA"
-	depends on VENDOR_VIA
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x1019
-	depends on VENDOR_VIA
-
-config MAINBOARD_VENDOR
-	string
-	default "Win Enterprise"
-	depends on VENDOR_WINENT
-
-config MAINBOARD_VENDOR
-	string
-	default "Wyse"
-	depends on VENDOR_WYSE
-	
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-	hex
-	default 0x102d
-	depends on VENDOR_WYSE
-
 source "src/mainboard/a-trend/Kconfig"
 source "src/mainboard/abit/Kconfig"
 source "src/mainboard/advantech/Kconfig"
@@ -556,4 +251,3 @@
 	default 0x400000 if COREBOOT_ROMSIZE_KB_4096
 
 endmenu
-
diff --git a/src/mainboard/a-trend/Kconfig b/src/mainboard/a-trend/Kconfig
index e08dd56..02c0e2a 100644
--- a/src/mainboard/a-trend/Kconfig
+++ b/src/mainboard/a-trend/Kconfig
@@ -16,13 +16,23 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_A_TREND
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_A_TREND
+
+config BOARD_A_TREND_ATC_6220
+	bool "ATC-6220"
+config BOARD_A_TREND_ATC_6240
+	bool "ATC-6240"
+
+endchoice
 
 source "src/mainboard/a-trend/atc-6220/Kconfig"
 source "src/mainboard/a-trend/atc-6240/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "A-Trend"
 
+endif # VENDOR_A_TREND
diff --git a/src/mainboard/a-trend/atc-6220/Kconfig b/src/mainboard/a-trend/atc-6220/Kconfig
index 4132528..fd25410 100644
--- a/src/mainboard/a-trend/atc-6220/Kconfig
+++ b/src/mainboard/a-trend/atc-6220/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_A_TREND_ATC_6220
 
-config BOARD_A_TREND_ATC_6220
-	bool "ATC-6220"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default a-trend/atc-6220
-	depends on BOARD_A_TREND_ATC_6220
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "ATC-6220"
-	depends on BOARD_A_TREND_ATC_6220
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_A_TREND_ATC_6220
 
+endif # BOARD_A_TREND_ATC_6220
diff --git a/src/mainboard/a-trend/atc-6240/Kconfig b/src/mainboard/a-trend/atc-6240/Kconfig
index 6295b46..3d239ca 100644
--- a/src/mainboard/a-trend/atc-6240/Kconfig
+++ b/src/mainboard/a-trend/atc-6240/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_A_TREND_ATC_6240
 
-config BOARD_A_TREND_ATC_6240
-	bool "ATC-6240"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default a-trend/atc-6240
-	depends on BOARD_A_TREND_ATC_6240
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "ATC-6240"
-	depends on BOARD_A_TREND_ATC_6240
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_A_TREND_ATC_6240
 
+endif # BOARD_A_TREND_ATC_6240
diff --git a/src/mainboard/abit/Kconfig b/src/mainboard/abit/Kconfig
index 58a4e14..81a1e30f 100644
--- a/src/mainboard/abit/Kconfig
+++ b/src/mainboard/abit/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_ABIT
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ABIT
 
-source "src/mainboard/abit/be6-ii_v2_0/Kconfig"
+config BOARD_ABIT_BE6_II_V2_0
+	bool "BE6-II V2.0"
 
 endchoice
 
+source "src/mainboard/abit/be6-ii_v2_0/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Abit"
+
+endif # VENDOR_ABIT
diff --git a/src/mainboard/abit/be6-ii_v2_0/Kconfig b/src/mainboard/abit/be6-ii_v2_0/Kconfig
index 851820e..2ce99c1 100644
--- a/src/mainboard/abit/be6-ii_v2_0/Kconfig
+++ b/src/mainboard/abit/be6-ii_v2_0/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ABIT_BE6_II_V2_0
 
-config BOARD_ABIT_BE6_II_V2_0
-	bool "BE6-II V2.0"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default abit/be6-ii_v2_0
-	depends on BOARD_ABIT_BE6_II_V2_0
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "BE6-II V2.0"
-	depends on BOARD_ABIT_BE6_II_V2_0
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_ABIT_BE6_II_V2_0
 
+endif # BOARD_ABIT_BE6_II_V2_0
diff --git a/src/mainboard/advantech/Kconfig b/src/mainboard/advantech/Kconfig
index f7e15fb..41554cb 100644
--- a/src/mainboard/advantech/Kconfig
+++ b/src/mainboard/advantech/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_ADVANTECH
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ADVANTECH
 
-source "src/mainboard/advantech/pcm-5820/Kconfig"
+config BOARD_ADVANTECH_PCM_5820
+	bool "PCM-5820"
 
 endchoice
 
+source "src/mainboard/advantech/pcm-5820/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Advantech"
+
+endif # VENDOR_ADVANTECH
diff --git a/src/mainboard/advantech/pcm-5820/Kconfig b/src/mainboard/advantech/pcm-5820/Kconfig
index 9b79e59..7c87e28 100644
--- a/src/mainboard/advantech/pcm-5820/Kconfig
+++ b/src/mainboard/advantech/pcm-5820/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ADVANTECH_PCM_5820
 
-config BOARD_ADVANTECH_PCM_5820
-	bool "PCM-5820"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default advantech/pcm-5820
-	depends on BOARD_ADVANTECH_PCM_5820
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PCM-5820"
-	depends on BOARD_ADVANTECH_PCM_5820
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_ADVANTECH_PCM_5820
 
+endif # BOARD_ADVANTECH_PCM_5820
diff --git a/src/mainboard/amd/Kconfig b/src/mainboard/amd/Kconfig
index 17b053f..5188fac 100644
--- a/src/mainboard/amd/Kconfig
+++ b/src/mainboard/amd/Kconfig
@@ -1,17 +1,44 @@
+if VENDOR_AMD
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_AMD
+
+config BOARD_AMD_DB800
+	bool "DB800 (Salsa)"
+config BOARD_AMD_DBM690T
+	bool "DBM690T (Herring)"
+config BOARD_AMD_MAHOGANY
+	bool "Mahogany"
+config BOARD_AMD_MAHOGANY_FAM10
+	bool "Mahogany (Fam10)"
+config BOARD_AMD_NORWICH
+	bool "Norwich"
+config BOARD_AMD_PISTACHIO
+	bool "Pistachio"
+config BOARD_AMD_RUMBA
+	bool "Rumba"
+config BOARD_AMD_SERENGETI_CHEETAH
+	bool "Serengeti Cheetah"
+config BOARD_AMD_SERENGETI_CHEETAH_FAM10
+	bool "Serengeti Cheetah (Fam10)"
+config BOARD_AMD_TILAPIA_FAM10
+	bool "Tilapia (Fam10)"
+
+endchoice
 
 source "src/mainboard/amd/db800/Kconfig"
 source "src/mainboard/amd/dbm690t/Kconfig"
 source "src/mainboard/amd/mahogany/Kconfig"
 source "src/mainboard/amd/mahogany_fam10/Kconfig"
-source "src/mainboard/amd/tilapia_fam10/Kconfig"
 source "src/mainboard/amd/norwich/Kconfig"
 source "src/mainboard/amd/pistachio/Kconfig"
 source "src/mainboard/amd/rumba/Kconfig"
 source "src/mainboard/amd/serengeti_cheetah/Kconfig"
 source "src/mainboard/amd/serengeti_cheetah_fam10/Kconfig"
+source "src/mainboard/amd/tilapia_fam10/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "AMD"
 
+endif # VENDOR_AMD
diff --git a/src/mainboard/amd/db800/Kconfig b/src/mainboard/amd/db800/Kconfig
index 9b33ed8..2755f7c 100644
--- a/src/mainboard/amd/db800/Kconfig
+++ b/src/mainboard/amd/db800/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_DB800
-	bool "DB800 (Salsa)"
+if BOARD_AMD_DB800
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -14,19 +16,17 @@
 config MAINBOARD_DIR
 	string
 	default amd/db800
-	depends on BOARD_AMD_DB800
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "DB800"
-	depends on BOARD_AMD_DB800
 
 config IRQ_SLOT_COUNT
 	int
 	default 4
-	depends on BOARD_AMD_DB800
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_AMD_DB800
+
+endif # BOARD_AMD_DB800
diff --git a/src/mainboard/amd/dbm690t/Kconfig b/src/mainboard/amd/dbm690t/Kconfig
index 86c193e..91a24bd 100644
--- a/src/mainboard/amd/dbm690t/Kconfig
+++ b/src/mainboard/amd/dbm690t/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_DBM690T
-	bool "DBM690T (Herring)"
+if BOARD_AMD_DBM690T
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_S1G1
 	select NORTHBRIDGE_AMD_AMDK8
@@ -22,86 +24,71 @@
 config MAINBOARD_DIR
 	string
 	default amd/dbm690t
-	depends on BOARD_AMD_DBM690T
 
 # This is a temporary fix, and should be removed when the race condition for
 # building option_table.h is fixed.
 config WARNINGS_ARE_ERRORS
 	bool
 	default n
-	depends on BOARD_AMD_DBM690T
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_AMD_DBM690T
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_AMD_DBM690T
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_AMD_DBM690T
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_AMD_DBM690T
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "DBM690T"
-	depends on BOARD_AMD_DBM690T
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_DBM690T
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_AMD_DBM690T
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_AMD_DBM690T
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_DBM690T
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_AMD_DBM690T
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_AMD_DBM690T
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_AMD_DBM690T
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_DBM690T
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_AMD_DBM690T
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3050
-	depends on BOARD_AMD_DBM690T
+
+endif # BOARD_AMD_DBM690T
diff --git a/src/mainboard/amd/mahogany/Kconfig b/src/mainboard/amd/mahogany/Kconfig
index ce4e88d..d737712 100644
--- a/src/mainboard/amd/mahogany/Kconfig
+++ b/src/mainboard/amd/mahogany/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_MAHOGANY
-	bool "Mahogany"
+if BOARD_AMD_MAHOGANY
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2
 	select NORTHBRIDGE_AMD_AMDK8
@@ -24,79 +26,65 @@
 config MAINBOARD_DIR
 	string
 	default amd/mahogany
-	depends on BOARD_AMD_MAHOGANY
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_AMD_MAHOGANY
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_AMD_MAHOGANY
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_AMD_MAHOGANY
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_AMD_MAHOGANY
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MAHOGANY"
-	depends on BOARD_AMD_MAHOGANY
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_MAHOGANY
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_AMD_MAHOGANY
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_AMD_MAHOGANY
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_MAHOGANY
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_AMD_MAHOGANY
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_AMD_MAHOGANY
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_AMD_MAHOGANY
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_MAHOGANY
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_AMD_MAHOGANY
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_AMD_MAHOGANY
+
+endif # BOARD_AMD_MAHOGANY
diff --git a/src/mainboard/amd/mahogany_fam10/Kconfig b/src/mainboard/amd/mahogany_fam10/Kconfig
index 10a308fb..c12812f 100644
--- a/src/mainboard/amd/mahogany_fam10/Kconfig
+++ b/src/mainboard/amd/mahogany_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_MAHOGANY_FAM10
-	bool "Mahogany (Fam10)"
+if BOARD_AMD_MAHOGANY_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2R2
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -27,99 +29,81 @@
 config MAINBOARD_DIR
 	string
 	default amd/mahogany_fam10
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Mahogany (Fam10)"
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_01000095.h"
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config RAMTOP
 	hex
 	default 0x2000000
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config ACPI_SSDTX_NUM
 	int
 	default 0
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_AMD_MAHOGANY_FAM10
 
 config COMPRESS
 	hex
 	default 0
-	depends on BOARD_AMD_MAHOGANY_FAM10
+
+endif # BOARD_AMD_MAHOGANY_FAM10
diff --git a/src/mainboard/amd/norwich/Kconfig b/src/mainboard/amd/norwich/Kconfig
index 3d70ad1..1b6aa56 100644
--- a/src/mainboard/amd/norwich/Kconfig
+++ b/src/mainboard/amd/norwich/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_NORWICH
-	bool "Norwich"
+if BOARD_AMD_NORWICH
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -13,19 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default amd/norwich
-	depends on BOARD_AMD_NORWICH
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Norwich"
-	depends on BOARD_AMD_NORWICH
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_AMD_NORWICH
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_AMD_NORWICH
+
+endif # BOARD_AMD_NORWICH
diff --git a/src/mainboard/amd/pistachio/Kconfig b/src/mainboard/amd/pistachio/Kconfig
index 932f223..1ce9fd1 100644
--- a/src/mainboard/amd/pistachio/Kconfig
+++ b/src/mainboard/amd/pistachio/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_PISTACHIO
-	bool "Pistachio"
+if BOARD_AMD_PISTACHIO
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2
 	select NORTHBRIDGE_AMD_AMDK8
@@ -21,79 +23,65 @@
 config MAINBOARD_DIR
 	string
 	default amd/pistachio
-	depends on BOARD_AMD_PISTACHIO
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_AMD_PISTACHIO
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_AMD_PISTACHIO
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_AMD_PISTACHIO
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_AMD_PISTACHIO
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Pistachio"
-	depends on BOARD_AMD_PISTACHIO
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_PISTACHIO
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_AMD_PISTACHIO
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_AMD_PISTACHIO
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_PISTACHIO
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_AMD_PISTACHIO
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_AMD_PISTACHIO
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_AMD_PISTACHIO
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_PISTACHIO
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_AMD_PISTACHIO
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3050
-	depends on BOARD_AMD_PISTACHIO
+
+endif # BOARD_AMD_PISTACHIO
diff --git a/src/mainboard/amd/rumba/Kconfig b/src/mainboard/amd/rumba/Kconfig
index d02fe39..4df3b81 100644
--- a/src/mainboard/amd/rumba/Kconfig
+++ b/src/mainboard/amd/rumba/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_AMD_RUMBA
 
-config BOARD_AMD_RUMBA
-	bool "Rumba"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX2
 	select NORTHBRIDGE_AMD_GX2
@@ -31,15 +32,13 @@
 config MAINBOARD_DIR
 	string
 	default amd/rumba
-	depends on BOARD_AMD_RUMBA
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Rumba"
-	depends on BOARD_AMD_RUMBA
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_AMD_RUMBA
 
+endif # BOARD_AMD_RUMBA
diff --git a/src/mainboard/amd/serengeti_cheetah/Kconfig b/src/mainboard/amd/serengeti_cheetah/Kconfig
index da15172..ed5339d 100644
--- a/src/mainboard/amd/serengeti_cheetah/Kconfig
+++ b/src/mainboard/amd/serengeti_cheetah/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_SERENGETI_CHEETAH
-	bool "Serengeti Cheetah"
+if BOARD_AMD_SERENGETI_CHEETAH
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -24,94 +26,77 @@
 config MAINBOARD_DIR
 	string
 	default amd/serengeti_cheetah
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config APIC_ID_OFFSET
 	hex
 	default 0x8
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Serengeti Cheetah"
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 4
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config MEM_TRAIN_SEQ
 	int
 	default 1
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0xa
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_SERENGETI_CHEETAH
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
-        default 0x1022
-	depends on BOARD_AMD_SERENGETI_CHEETAH
+	default 0x1022
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
-        default 0x2b80
-	depends on BOARD_AMD_SERENGETI_CHEETAH
+	default 0x2b80
 
 config ACPI_SSDTX_NUM
 	int
 	default 4
-	depends on BOARD_AMD_SERENGETI_CHEETAH
+
+endif # BOARD_AMD_SERENGETI_CHEETAH
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig b/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
index 6b22267..d2960e2 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_SERENGETI_CHEETAH_FAM10
-	bool "Serengeti Cheetah (Fam10)"
+if BOARD_AMD_SERENGETI_CHEETAH_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F_1207
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -25,100 +27,82 @@
 config MAINBOARD_DIR
 	string
 	default amd/serengeti_cheetah_fam10
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Serengeti Cheetah (Fam10)"
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 # 6 * MAX_PHYSICAL_CPUS
 config MAX_CPUS
 	int
 	default 48
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 8
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0xa
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_01000095.h"
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config RAMTOP
 	hex
 	default 0x1000000
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config ACPI_SSDTX_NUM
 	int
 	default 5
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2b80
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
 
 config ID_SECTION_OFFSET
 	hex
 	default 0x80
-	depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
+
+endif # BOARD_AMD_SERENGETI_CHEETAH_FAM10
diff --git a/src/mainboard/amd/tilapia_fam10/Kconfig b/src/mainboard/amd/tilapia_fam10/Kconfig
index 22813c1..a0d58fa 100644
--- a/src/mainboard/amd/tilapia_fam10/Kconfig
+++ b/src/mainboard/amd/tilapia_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_AMD_TILAPIA_FAM10
-	bool "Tilapia (Fam10)"
+if BOARD_AMD_TILAPIA_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM3
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -27,99 +29,81 @@
 config MAINBOARD_DIR
 	string
 	default amd/tilapia_fam10
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Tilapia (Fam10)"
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_010000b6.h"
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config RAMTOP
 	hex
 	default 0x2000000
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config ACPI_SSDTX_NUM
 	int
 	default 0
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_AMD_TILAPIA_FAM10
 
 config COMPRESS
 	hex
 	default 0
-	depends on BOARD_AMD_TILAPIA_FAM10
+
+endif # BOARD_AMD_TILAPIA_FAM10
diff --git a/src/mainboard/arima/Kconfig b/src/mainboard/arima/Kconfig
index 8895433..5910369 100644
--- a/src/mainboard/arima/Kconfig
+++ b/src/mainboard/arima/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_ARIMA
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ARIMA
 
-source "src/mainboard/arima/hdama/Kconfig"
+config BOARD_ARIMA_HDAMA
+	bool "HDAMA"
 
 endchoice
 
+source "src/mainboard/arima/hdama/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Arima"
+
+endif # VENDOR_ARIMA
diff --git a/src/mainboard/arima/hdama/Kconfig b/src/mainboard/arima/hdama/Kconfig
index 14ab6ef..e0dbfc4 100644
--- a/src/mainboard/arima/hdama/Kconfig
+++ b/src/mainboard/arima/hdama/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_ARIMA_HDAMA
-	bool "HDAMA"
+if BOARD_ARIMA_HDAMA
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,64 +20,53 @@
 config MAINBOARD_DIR
 	string
 	default arima/hdama
-	depends on BOARD_ARIMA_HDAMA
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x161f
-	depends on BOARD_ARIMA_HDAMA
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3016
-	depends on BOARD_ARIMA_HDAMA
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_ARIMA_HDAMA
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "HDAMA"
-	depends on BOARD_ARIMA_HDAMA
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x0
-	depends on BOARD_ARIMA_HDAMA
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_ARIMA_HDAMA
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_ARIMA_HDAMA
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_ARIMA_HDAMA
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_ARIMA_HDAMA
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_ARIMA_HDAMA
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_ARIMA_HDAMA
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_ARIMA_HDAMA
+
+endif # BOARD_ARIMA_HDAMA
diff --git a/src/mainboard/artecgroup/Kconfig b/src/mainboard/artecgroup/Kconfig
index e95e56a..5e63f09 100644
--- a/src/mainboard/artecgroup/Kconfig
+++ b/src/mainboard/artecgroup/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_ARTEC_GROUP
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ARTEC_GROUP
 
-source "src/mainboard/artecgroup/dbe61/Kconfig"
+config BOARD_ARTECGROUP_DBE61
+	bool "DBE61"
 
 endchoice
 
+source "src/mainboard/artecgroup/dbe61/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Artec Group"
+
+endif # VENDOR_ARTEC_GROUP
diff --git a/src/mainboard/artecgroup/dbe61/Kconfig b/src/mainboard/artecgroup/dbe61/Kconfig
index 54847ce..4eab80a 100644
--- a/src/mainboard/artecgroup/dbe61/Kconfig
+++ b/src/mainboard/artecgroup/dbe61/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_ARTECGROUP_DBE61
-	bool "DBE61"
+if BOARD_ARTECGROUP_DBE61
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -13,19 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default artecgroup/dbe61
-	depends on BOARD_ARTECGROUP_DBE61
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "DBE61"
-	depends on BOARD_ARTECGROUP_DBE61
 
 config IRQ_SLOT_COUNT
 	int
 	default 3
-	depends on BOARD_ARTECGROUP_DBE61
 
 #config RAMBASE
 #	hex
 #	default 0x4000
-##	depends on BOARD_ARTECGROUP_DBE61
+
+endif # BOARD_ARTECGROUP_DBE61
diff --git a/src/mainboard/asi/Kconfig b/src/mainboard/asi/Kconfig
index c85baeb..e409906 100644
--- a/src/mainboard/asi/Kconfig
+++ b/src/mainboard/asi/Kconfig
@@ -16,13 +16,23 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_ASI
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ASI
+
+config BOARD_ASI_MB_5BLGP
+	bool "MB-5BLGP"
+config BOARD_ASI_MB_5BLMP
+	bool "MB-5BLMP"
+
+endchoice
 
 source "src/mainboard/asi/mb_5blgp/Kconfig"
 source "src/mainboard/asi/mb_5blmp/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "ASI"
 
+endif # VENDOR_ASI
diff --git a/src/mainboard/asi/mb_5blgp/Kconfig b/src/mainboard/asi/mb_5blgp/Kconfig
index 1734536..5278369 100644
--- a/src/mainboard/asi/mb_5blgp/Kconfig
+++ b/src/mainboard/asi/mb_5blgp/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASI_MB_5BLGP
 
-config BOARD_ASI_MB_5BLGP
-	bool "MB-5BLGP"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default asi/mb_5blgp
-	depends on BOARD_ASI_MB_5BLGP
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MB-5BLGP"
-	depends on BOARD_ASI_MB_5BLGP
 
 config IRQ_SLOT_COUNT
 	int
 	default 3
-	depends on BOARD_ASI_MB_5BLGP
 
+endif # BOARD_ASI_MB_5BLGP
diff --git a/src/mainboard/asi/mb_5blmp/Kconfig b/src/mainboard/asi/mb_5blmp/Kconfig
index 6434c78..5b3b5bd 100644
--- a/src/mainboard/asi/mb_5blmp/Kconfig
+++ b/src/mainboard/asi/mb_5blmp/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASI_MB_5BLMP
 
-config BOARD_ASI_MB_5BLMP
-	bool "MB-5BLMP"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default asi/mb_5blmp
-	depends on BOARD_ASI_MB_5BLMP
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MB-5BLMP"
-	depends on BOARD_ASI_MB_5BLMP
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_ASI_MB_5BLMP
 
+endif # BOARD_ASI_MB_5BLMP
diff --git a/src/mainboard/asrock/939a785gmh/Kconfig b/src/mainboard/asrock/939a785gmh/Kconfig
index 1d99e06..176c5d6 100644
--- a/src/mainboard/asrock/939a785gmh/Kconfig
+++ b/src/mainboard/asrock/939a785gmh/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_ASROCK_939A785GMH
-	bool "939A785GMH/128M"
+if BOARD_ASROCK_939A785GMH
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_939
 	select K8_HT_FREQ_1G_SUPPORT
@@ -25,79 +27,65 @@
 config MAINBOARD_DIR
 	string
 	default asrock/939a785gmh
-	depends on BOARD_ASROCK_939A785GMH
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_ASROCK_939A785GMH
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_ASROCK_939A785GMH
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_ASROCK_939A785GMH
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_ASROCK_939A785GMH
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "939A785GMH"
-	depends on BOARD_ASROCK_939A785GMH
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_ASROCK_939A785GMH
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_ASROCK_939A785GMH
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_ASROCK_939A785GMH
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_ASROCK_939A785GMH
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_ASROCK_939A785GMH
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_ASROCK_939A785GMH
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_ASROCK_939A785GMH
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_ASROCK_939A785GMH
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_ASROCK_939A785GMH
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_ASROCK_939A785GMH
+
+endif # BOARD_ASROCK_939A785GMH
diff --git a/src/mainboard/asrock/Kconfig b/src/mainboard/asrock/Kconfig
index cfe6e9d..7bedaaa 100644
--- a/src/mainboard/asrock/Kconfig
+++ b/src/mainboard/asrock/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_ASROCK
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ASROCK
 
-source "src/mainboard/asrock/939a785gmh/Kconfig"
+config BOARD_ASROCK_939A785GMH
+	bool "939A785GMH/128M"
 
 endchoice
 
+source "src/mainboard/asrock/939a785gmh/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "ASROCK"
+
+endif # VENDOR_ASROCK
diff --git a/src/mainboard/asus/Kconfig b/src/mainboard/asus/Kconfig
index 7db0740..9cde166 100644
--- a/src/mainboard/asus/Kconfig
+++ b/src/mainboard/asus/Kconfig
@@ -16,22 +16,50 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_ASUS
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ASUS
 
-source "src/mainboard/asus/a8n_e/Kconfig"
-source "src/mainboard/asus/a8v-e_se/Kconfig"
-source "src/mainboard/asus/p2b/Kconfig"
-source "src/mainboard/asus/p2b-d/Kconfig"
-source "src/mainboard/asus/p2b-ds/Kconfig"
-source "src/mainboard/asus/p2b-ls/Kconfig"
-source "src/mainboard/asus/p2b-f/Kconfig"
-source "src/mainboard/asus/p3b-f/Kconfig"
-source "src/mainboard/asus/m2v-mx_se/Kconfig"
-source "src/mainboard/asus/mew-am/Kconfig"
-source "src/mainboard/asus/mew-vm/Kconfig"
+config BOARD_ASUS_A8N_E
+	bool "A8N-E"
+config BOARD_ASUS_A8V_E_SE
+	bool "A8V-E SE"
+config BOARD_ASUS_M2V_MX_SE
+	bool "M2V-MX SE"
+config BOARD_ASUS_MEW_AM
+	bool "MEW-AM"
+config BOARD_ASUS_MEW_VM
+	bool "MEW-VM"
+config BOARD_ASUS_P2B
+	bool "P2B"
+config BOARD_ASUS_P2B_D
+	bool "P2B-D"
+config BOARD_ASUS_P2B_DS
+	bool "P2B-DS"
+config BOARD_ASUS_P2B_F
+	bool "P2B-F"
+config BOARD_ASUS_P2B_LS
+	bool "P2B-LS"
+config BOARD_ASUS_P3B_F
+	bool "P3B-F"
 
 endchoice
 
+source "src/mainboard/asus/a8n_e/Kconfig"
+source "src/mainboard/asus/a8v-e_se/Kconfig"
+source "src/mainboard/asus/m2v-mx_se/Kconfig"
+source "src/mainboard/asus/mew-am/Kconfig"
+source "src/mainboard/asus/mew-vm/Kconfig"
+source "src/mainboard/asus/p2b/Kconfig"
+source "src/mainboard/asus/p2b-d/Kconfig"
+source "src/mainboard/asus/p2b-ds/Kconfig"
+source "src/mainboard/asus/p2b-f/Kconfig"
+source "src/mainboard/asus/p2b-ls/Kconfig"
+source "src/mainboard/asus/p3b-f/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "ASUS"
+
+endif # VENDOR_ASUS
diff --git a/src/mainboard/asus/a8n_e/Kconfig b/src/mainboard/asus/a8n_e/Kconfig
index 73ec106..9b4cdc8 100644
--- a/src/mainboard/asus/a8n_e/Kconfig
+++ b/src/mainboard/asus/a8n_e/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_ASUS_A8N_E
-	bool "A8N-E"
+if BOARD_ASUS_A8N_E
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_939
 	select NORTHBRIDGE_AMD_AMDK8
@@ -17,80 +19,65 @@
 config MAINBOARD_DIR
 	string
 	default asus/a8n_e
-	depends on BOARD_ASUS_A8N_E
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_ASUS_A8N_E
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_ASUS_A8N_E
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_ASUS_A8N_E
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_ASUS_A8N_E
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_ASUS_A8N_E
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "A8N-E"
-	depends on BOARD_ASUS_A8N_E
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_ASUS_A8N_E
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_ASUS_A8N_E
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_ASUS_A8N_E
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_ASUS_A8N_E
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_ASUS_A8N_E
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_ASUS_A8N_E
 
 config IRQ_SLOT_COUNT
 	int
 	default 13
-	depends on BOARD_ASUS_A8N_E
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1043
-	depends on BOARD_ASUS_A8N_E
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x815a
-	depends on BOARD_ASUS_A8N_E
 
+endif # BOARD_ASUS_A8N_E
diff --git a/src/mainboard/asus/a8v-e_se/Kconfig b/src/mainboard/asus/a8v-e_se/Kconfig
index 11f36ab..7bf7d0f 100644
--- a/src/mainboard/asus/a8v-e_se/Kconfig
+++ b/src/mainboard/asus/a8v-e_se/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_ASUS_A8V_E_SE
-	bool "A8V-E SE"
+if BOARD_ASUS_A8V_E_SE
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_939
 	select K8_HT_FREQ_1G_SUPPORT
@@ -17,69 +19,57 @@
 config MAINBOARD_DIR
 	string
 	default asus/a8v-e_se
-	depends on BOARD_ASUS_A8V_E_SE
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcc000
-	depends on BOARD_ASUS_A8V_E_SE
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x4000
-	depends on BOARD_ASUS_A8V_E_SE
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x1000
-	depends on BOARD_ASUS_A8V_E_SE
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_ASUS_A8V_E_SE
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_ASUS_A8V_E_SE
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "A8V-E SE"
-	depends on BOARD_ASUS_A8V_E_SE
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0
-	depends on BOARD_ASUS_A8V_E_SE
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_ASUS_A8V_E_SE
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_ASUS_A8V_E_SE
 
 config HEAP_SIZE
 	hex
 	default 0x40000
-	depends on BOARD_ASUS_A8V_E_SE
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_ASUS_A8V_E_SE
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_ASUS_A8V_E_SE
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1043
-	depends on BOARD_ASUS_A8V_E_SE
+
+endif # BOARD_ASUS_A8V_E_SE
diff --git a/src/mainboard/asus/m2v-mx_se/Kconfig b/src/mainboard/asus/m2v-mx_se/Kconfig
index 8227900..cf26512 100644
--- a/src/mainboard/asus/m2v-mx_se/Kconfig
+++ b/src/mainboard/asus/m2v-mx_se/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_M2V_MX_SE
 
-config BOARD_ASUS_M2V_MX_SE
-	bool "M2V-MX SE"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2
 	select NORTHBRIDGE_AMD_AMDK8
@@ -37,65 +38,53 @@
 config MAINBOARD_DIR
 	string
 	default asus/m2v-mx_se
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcc000
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x4000
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "M2V-MX SE"
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config HEAP_SIZE
 	hex
 	default 0x40000
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_ASUS_M2V_MX_SE
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1043
-	depends on BOARD_ASUS_M2V_MX_SE
 
+endif # BOARD_ASUS_M2V_MX_SE
diff --git a/src/mainboard/asus/mew-am/Kconfig b/src/mainboard/asus/mew-am/Kconfig
index fc0691c..afe6a0d 100644
--- a/src/mainboard/asus/mew-am/Kconfig
+++ b/src/mainboard/asus/mew-am/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_MEW_AM
 
-config BOARD_ASUS_MEW_AM
-	bool "MEW-AM"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -34,15 +35,13 @@
 config MAINBOARD_DIR
 	string
 	default asus/mew-am
-	depends on BOARD_ASUS_MEW_AM
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MEW-AM"
-	depends on BOARD_ASUS_MEW_AM
 
 config IRQ_SLOT_COUNT
 	int
 	default 8
-	depends on BOARD_ASUS_MEW_AM
 
+endif # BOARD_ASUS_MEW_AM
diff --git a/src/mainboard/asus/mew-vm/Kconfig b/src/mainboard/asus/mew-vm/Kconfig
index 886bb5b..bc952dc 100644
--- a/src/mainboard/asus/mew-vm/Kconfig
+++ b/src/mainboard/asus/mew-vm/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_MEW_VM
 
-config BOARD_ASUS_MEW_VM
-	bool "MEW-VM"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -35,15 +36,13 @@
 config MAINBOARD_DIR
 	string
 	default asus/mew-vm
-	depends on BOARD_ASUS_MEW_VM
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MEW-VM"
-	depends on BOARD_ASUS_MEW_VM
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_ASUS_MEW_VM
 
+endif # BOARD_ASUS_MEW_VM
diff --git a/src/mainboard/asus/p2b-d/Kconfig b/src/mainboard/asus/p2b-d/Kconfig
index db9b3e8..a16debb 100644
--- a/src/mainboard/asus/p2b-d/Kconfig
+++ b/src/mainboard/asus/p2b-d/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_P2B_D
 
-config BOARD_ASUS_P2B_D
-	bool "P2B-D"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -35,20 +36,17 @@
 config MAINBOARD_DIR
 	string
 	default asus/p2b-d
-	depends on BOARD_ASUS_P2B_D
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P2B-D"
-	depends on BOARD_ASUS_P2B_D
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_ASUS_P2B_D
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_ASUS_P2B_D
 
+endif # BOARD_ASUS_P2B_D
diff --git a/src/mainboard/asus/p2b-ds/Kconfig b/src/mainboard/asus/p2b-ds/Kconfig
index 23a96fa..ff495d8 100644
--- a/src/mainboard/asus/p2b-ds/Kconfig
+++ b/src/mainboard/asus/p2b-ds/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_P2B_DS
 
-config BOARD_ASUS_P2B_DS
-	bool "P2B-DS"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -35,20 +36,17 @@
 config MAINBOARD_DIR
 	string
 	default asus/p2b-ds
-	depends on BOARD_ASUS_P2B_DS
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P2B-DS"
-	depends on BOARD_ASUS_P2B_DS
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_ASUS_P2B_DS
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_ASUS_P2B_DS
 
+endif # BOARD_ASUS_P2B_DS
diff --git a/src/mainboard/asus/p2b-f/Kconfig b/src/mainboard/asus/p2b-f/Kconfig
index bddc276..8041031 100644
--- a/src/mainboard/asus/p2b-f/Kconfig
+++ b/src/mainboard/asus/p2b-f/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_P2B_F
 
-config BOARD_ASUS_P2B_F
-	bool "P2B-F"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default asus/p2b-f
-	depends on BOARD_ASUS_P2B_F
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P2B-F"
-	depends on BOARD_ASUS_P2B_F
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_ASUS_P2B_F
 
+endif # BOARD_ASUS_P2B_F
diff --git a/src/mainboard/asus/p2b-ls/Kconfig b/src/mainboard/asus/p2b-ls/Kconfig
index 181d1b4..8afa739 100644
--- a/src/mainboard/asus/p2b-ls/Kconfig
+++ b/src/mainboard/asus/p2b-ls/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_P2B_LS
 
-config BOARD_ASUS_P2B_LS
-	bool "P2B-LS"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default asus/p2b-ls
-	depends on BOARD_ASUS_P2B_LS
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P2B-LS"
-	depends on BOARD_ASUS_P2B_LS
 
 config IRQ_SLOT_COUNT
 	int
 	default 8
-	depends on BOARD_ASUS_P2B_LS
 
+endif # BOARD_ASUS_P2B_LS
diff --git a/src/mainboard/asus/p2b/Kconfig b/src/mainboard/asus/p2b/Kconfig
index b5ae83e..2408206 100644
--- a/src/mainboard/asus/p2b/Kconfig
+++ b/src/mainboard/asus/p2b/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_P2B
 
-config BOARD_ASUS_P2B
-	bool "P2B"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default asus/p2b
-	depends on BOARD_ASUS_P2B
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P2B"
-	depends on BOARD_ASUS_P2B
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_ASUS_P2B
 
+endif # BOARD_ASUS_P2B
diff --git a/src/mainboard/asus/p3b-f/Kconfig b/src/mainboard/asus/p3b-f/Kconfig
index 5815f6b..6581a94f 100644
--- a/src/mainboard/asus/p3b-f/Kconfig
+++ b/src/mainboard/asus/p3b-f/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ASUS_P3B_F
 
-config BOARD_ASUS_P3B_F
-	bool "P3B-F"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default asus/p3b-f
-	depends on BOARD_ASUS_P3B_F
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P3B-F"
-	depends on BOARD_ASUS_P3B_F
 
 config IRQ_SLOT_COUNT
 	int
 	default 8
-	depends on BOARD_ASUS_P3B_F
 
+endif # BOARD_ASUS_P3B_F
diff --git a/src/mainboard/axus/Kconfig b/src/mainboard/axus/Kconfig
index a50a09e..e6e4798 100644
--- a/src/mainboard/axus/Kconfig
+++ b/src/mainboard/axus/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_AXUS
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_AXUS
 
-source "src/mainboard/axus/tc320/Kconfig"
+config BOARD_AXUS_TC320
+	bool "TC320"
 
 endchoice
 
+source "src/mainboard/axus/tc320/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "AXUS"
+
+endif # VENDOR_AXUS
diff --git a/src/mainboard/axus/tc320/Kconfig b/src/mainboard/axus/tc320/Kconfig
index 6ff4d4f..dde2a36 100644
--- a/src/mainboard/axus/tc320/Kconfig
+++ b/src/mainboard/axus/tc320/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_AXUS_TC320
 
-config BOARD_AXUS_TC320
-	bool "TC320"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,16 +34,14 @@
 config MAINBOARD_DIR
 	string
 	default axus/tc320
-	depends on BOARD_AXUS_TC320
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "TC320"
-	depends on BOARD_AXUS_TC320
 
 # Soldered NIC, internal USB, no real PCI slots.
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_AXUS_TC320
 
+endif # BOARD_AXUS_TC320
diff --git a/src/mainboard/azza/Kconfig b/src/mainboard/azza/Kconfig
index 1b22f14..b1355a9 100644
--- a/src/mainboard/azza/Kconfig
+++ b/src/mainboard/azza/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_AZZA
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_AZZA
 
-source "src/mainboard/azza/pt-6ibd/Kconfig"
+config BOARD_AZZA_PT_6IBD
+	bool "PT-6IBD"
 
 endchoice
 
+source "src/mainboard/azza/pt-6ibd/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "AZZA"
+
+endif # VENDOR_AZZA
diff --git a/src/mainboard/azza/pt-6ibd/Kconfig b/src/mainboard/azza/pt-6ibd/Kconfig
index 74adf71..2d4aecf4 100644
--- a/src/mainboard/azza/pt-6ibd/Kconfig
+++ b/src/mainboard/azza/pt-6ibd/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_AZZA_PT_6IBD
 
-config BOARD_AZZA_PT_6IBD
-	bool "PT-6IBD"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default azza/pt-6ibd
-	depends on BOARD_AZZA_PT_6IBD
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PT-6IBD"
-	depends on BOARD_AZZA_PT_6IBD
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_AZZA_PT_6IBD
 
+endif # BOARD_AZZA_PT_6IBD
diff --git a/src/mainboard/bcom/Kconfig b/src/mainboard/bcom/Kconfig
index fe132d3..d09a9e7 100644
--- a/src/mainboard/bcom/Kconfig
+++ b/src/mainboard/bcom/Kconfig
@@ -16,13 +16,23 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_BCOM
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_BCOM
+
+config BOARD_BCOM_WINNET100
+	bool "WinNET100"
+config BOARD_BCOM_WINNETP680
+	bool "WinNET P680"
+
+endchoice
 
 source "src/mainboard/bcom/winnet100/Kconfig"
 source "src/mainboard/bcom/winnetp680/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "BCOM"
 
+endif # VENDOR_BCOM
diff --git a/src/mainboard/bcom/winnet100/Kconfig b/src/mainboard/bcom/winnet100/Kconfig
index 14979e8..dbb2cb8 100644
--- a/src/mainboard/bcom/winnet100/Kconfig
+++ b/src/mainboard/bcom/winnet100/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_BCOM_WINNET100
 
-config BOARD_BCOM_WINNET100
-	bool "WinNET100"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,16 +34,14 @@
 config MAINBOARD_DIR
 	string
 	default bcom/winnet100
-	depends on BOARD_BCOM_WINNET100
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "WinNET100"
-	depends on BOARD_BCOM_WINNET100
 
 # Soldered NIC, internal USB, no real PCI slots.
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_BCOM_WINNET100
 
+endif # BOARD_BCOM_WINNET100
diff --git a/src/mainboard/bcom/winnetp680/Kconfig b/src/mainboard/bcom/winnetp680/Kconfig
index d02bcfb..983cd514 100644
--- a/src/mainboard/bcom/winnetp680/Kconfig
+++ b/src/mainboard/bcom/winnetp680/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_BCOM_WINNETP680
-	bool "WinNET P680"
+if BOARD_BCOM_WINNETP680
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C7
 	select NORTHBRIDGE_VIA_CN700
@@ -13,20 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default bcom/winnetp680
-	depends on BOARD_BCOM_WINNETP680
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "WinNET P680"
-	depends on BOARD_BCOM_WINNETP680
 
 config IRQ_SLOT_COUNT
 	int
 	default 10
-	depends on BOARD_BCOM_WINNETP680
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_BCOM_WINNETP680
 
+endif # BOARD_BCOM_WINNETP680
diff --git a/src/mainboard/biostar/Kconfig b/src/mainboard/biostar/Kconfig
index 90d8cf1..f2d36ef6 100644
--- a/src/mainboard/biostar/Kconfig
+++ b/src/mainboard/biostar/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_BIOSTAR
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_BIOSTAR
 
-source "src/mainboard/biostar/m6tba/Kconfig"
+config BOARD_BIOSTAR_M6TBA
+	bool "M6TBA"
 
 endchoice
 
+source "src/mainboard/biostar/m6tba/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Biostar"
+
+endif # VENDOR_BIOSTAR
diff --git a/src/mainboard/biostar/m6tba/Kconfig b/src/mainboard/biostar/m6tba/Kconfig
index f963332..f9129f4 100644
--- a/src/mainboard/biostar/m6tba/Kconfig
+++ b/src/mainboard/biostar/m6tba/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_BIOSTAR_M6TBA
 
-config BOARD_BIOSTAR_M6TBA
-	bool "M6TBA"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default biostar/m6tba
-	depends on BOARD_BIOSTAR_M6TBA
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "M6TBA"
-	depends on BOARD_BIOSTAR_M6TBA
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_BIOSTAR_M6TBA
 
+endif # BOARD_BIOSTAR_M6TBA
diff --git a/src/mainboard/broadcom/Kconfig b/src/mainboard/broadcom/Kconfig
index d7406c0..d05c311 100644
--- a/src/mainboard/broadcom/Kconfig
+++ b/src/mainboard/broadcom/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_BROADCOM
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_BROADCOM
 
-source "src/mainboard/broadcom/blast/Kconfig"
+config BOARD_BROADCOM_BLAST
+	bool "Blast"
 
 endchoice
 
+source "src/mainboard/broadcom/blast/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Broadcom"
+
+endif # VENDOR_BROADCOM
diff --git a/src/mainboard/broadcom/blast/Kconfig b/src/mainboard/broadcom/blast/Kconfig
index 37e2ea3..fa7fab4 100644
--- a/src/mainboard/broadcom/blast/Kconfig
+++ b/src/mainboard/broadcom/blast/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_BROADCOM_BLAST
-	bool "Blast"
+if BOARD_BROADCOM_BLAST
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,80 +21,65 @@
 config MAINBOARD_DIR
 	string
 	default broadcom/blast
-	depends on BOARD_BROADCOM_BLAST
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_BROADCOM_BLAST
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_BROADCOM_BLAST
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x0
-	depends on BOARD_BROADCOM_BLAST
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_BROADCOM_BLAST
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_BROADCOM_BLAST
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Blast"
-	depends on BOARD_BROADCOM_BLAST
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_BROADCOM_BLAST
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_BROADCOM_BLAST
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_BROADCOM_BLAST
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_BROADCOM_BLAST
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_BROADCOM_BLAST
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_BROADCOM_BLAST
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_BROADCOM_BLAST
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x161f
-	depends on BOARD_BROADCOM_BLAST
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3050
-	depends on BOARD_BROADCOM_BLAST
 
+endif # BOARD_BROADCOM_BLAST
diff --git a/src/mainboard/compaq/Kconfig b/src/mainboard/compaq/Kconfig
index 489fa88..6faff52 100644
--- a/src/mainboard/compaq/Kconfig
+++ b/src/mainboard/compaq/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_COMPAQ
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_COMPAQ
 
-source "src/mainboard/compaq/deskpro_en_sff_p600/Kconfig"
+config BOARD_COMPAQ_DESKPRO_EN_SFF_P600
+	bool "Deskpro EN SFF P600"
 
 endchoice
 
+source "src/mainboard/compaq/deskpro_en_sff_p600/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Compaq"
+
+endif # VENDOR_COMPAQ
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig b/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig
index f4701ba..c59577e 100644
--- a/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_COMPAQ_DESKPRO_EN_SFF_P600
 
-config BOARD_COMPAQ_DESKPRO_EN_SFF_P600
-	bool "Deskpro EN SFF P600"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default compaq/deskpro_en_sff_p600
-	depends on BOARD_COMPAQ_DESKPRO_EN_SFF_P600
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Deskpro EN SFF P600"
-	depends on BOARD_COMPAQ_DESKPRO_EN_SFF_P600
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_COMPAQ_DESKPRO_EN_SFF_P600
 
+endif # BOARD_COMPAQ_DESKPRO_EN_SFF_P600
diff --git a/src/mainboard/dell/Kconfig b/src/mainboard/dell/Kconfig
index 92fe3de..fb665c4 100644
--- a/src/mainboard/dell/Kconfig
+++ b/src/mainboard/dell/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_DELL
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_DELL
 
-source "src/mainboard/dell/s1850/Kconfig"
+config BOARD_DELL_S1850
+	bool "PowerEdge 1850"
 
 endchoice
 
+source "src/mainboard/dell/s1850/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Dell"
+
+endif # VENDOR_DELL
diff --git a/src/mainboard/dell/s1850/Kconfig b/src/mainboard/dell/s1850/Kconfig
index 1b0b27b..22cdf7e 100644
--- a/src/mainboard/dell/s1850/Kconfig
+++ b/src/mainboard/dell/s1850/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_DELL_S1850
-	bool "PowerEdge 1850"
+if BOARD_DELL_S1850
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7520
@@ -19,35 +21,29 @@
 config MAINBOARD_DIR
 	string
 	default dell/s1850
-	depends on BOARD_DELL_S1850
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PowerEdge 1850"
-	depends on BOARD_DELL_S1850
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x5580
-	depends on BOARD_DELL_S1850
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_DELL_S1850
-
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_DELL_S1850
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_DELL_S1850
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_DELL_S1850
+
+endif # BOARD_DELL_S1850
diff --git a/src/mainboard/digitallogic/Kconfig b/src/mainboard/digitallogic/Kconfig
index 7e115fc..a98aa1d 100644
--- a/src/mainboard/digitallogic/Kconfig
+++ b/src/mainboard/digitallogic/Kconfig
@@ -1,10 +1,23 @@
+if VENDOR_DIGITAL_LOGIC
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_DIGITAL_LOGIC
+
+config BOARD_DIGITALLOGIC_ADL855PC
+	bool "smartModule855"
+config BOARD_DIGITALLOGIC_MSM586SEG
+	bool "MSM586SEG"
+config BOARD_DIGITALLOGIC_MSM800SEV
+	bool "MSM800SEV"
+
+endchoice
 
 source "src/mainboard/digitallogic/adl855pc/Kconfig"
 source "src/mainboard/digitallogic/msm586seg/Kconfig"
 source "src/mainboard/digitallogic/msm800sev/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "DIGITAL-LOGIC"
 
+endif # VENDOR_DIGITAL_LOGIC
diff --git a/src/mainboard/digitallogic/adl855pc/Kconfig b/src/mainboard/digitallogic/adl855pc/Kconfig
index dd17ca0..75e119f 100644
--- a/src/mainboard/digitallogic/adl855pc/Kconfig
+++ b/src/mainboard/digitallogic/adl855pc/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_DIGITALLOGIC_ADL855PC
-	bool "smartModule855"
+if BOARD_DIGITALLOGIC_ADL855PC
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA479M
 	select NORTHBRIDGE_INTEL_I855
@@ -15,24 +17,21 @@
 config MAINBOARD_DIR
 	string
 	default digitallogic/adl855pc
-	depends on BOARD_DIGITALLOGIC_ADL855PC
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "smartModule855"
-	depends on BOARD_DIGITALLOGIC_ADL855PC
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_DIGITALLOGIC_ADL855PC
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_DIGITALLOGIC_ADL855PC
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_DIGITALLOGIC_ADL855PC
+
+endif # BOARD_DIGITALLOGIC_ADL855PC
diff --git a/src/mainboard/digitallogic/msm586seg/Kconfig b/src/mainboard/digitallogic/msm586seg/Kconfig
index 5f1abe3..d54037a 100644
--- a/src/mainboard/digitallogic/msm586seg/Kconfig
+++ b/src/mainboard/digitallogic/msm586seg/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_DIGITALLOGIC_MSM586SEG
-	bool "MSM586SEG"
+if BOARD_DIGITALLOGIC_MSM586SEG
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SC520
 	select HAVE_PIRQ_TABLE
@@ -10,14 +12,13 @@
 config MAINBOARD_DIR
 	string
 	default digitallogic/msm586seg
-	depends on BOARD_DIGITALLOGIC_MSM586SEG
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MSM586SEG"
-	depends on BOARD_DIGITALLOGIC_MSM586SEG
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_DIGITALLOGIC_MSM586SEG
+
+endif # BOARD_DIGITALLOGIC_MSM586SEG
diff --git a/src/mainboard/digitallogic/msm800sev/Kconfig b/src/mainboard/digitallogic/msm800sev/Kconfig
index e3248df..7ac7138 100644
--- a/src/mainboard/digitallogic/msm800sev/Kconfig
+++ b/src/mainboard/digitallogic/msm800sev/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_DIGITALLOGIC_MSM800SEV
-	bool "MSM800SEV"
+if BOARD_DIGITALLOGIC_MSM800SEV
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -14,19 +16,17 @@
 config MAINBOARD_DIR
 	string
 	default digitallogic/msm800sev
-	depends on BOARD_DIGITALLOGIC_MSM800SEV
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MSM800SEV"
-	depends on BOARD_DIGITALLOGIC_MSM800SEV
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_DIGITALLOGIC_MSM800SEV
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_DIGITALLOGIC_MSM800SEV
+
+endif # BOARD_DIGITALLOGIC_MSM800SEV
diff --git a/src/mainboard/eaglelion/5bcm/Kconfig b/src/mainboard/eaglelion/5bcm/Kconfig
index 0fbd990..65dd802 100644
--- a/src/mainboard/eaglelion/5bcm/Kconfig
+++ b/src/mainboard/eaglelion/5bcm/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_EAGLELION_5BCM
 
-config BOARD_EAGLELION_5BCM
-	bool "5BCM"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default eaglelion/5bcm
-	depends on BOARD_EAGLELION_5BCM
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "5BCM"
-	depends on BOARD_EAGLELION_5BCM
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_EAGLELION_5BCM
 
+endif # BOARD_EAGLELION_5BCM
diff --git a/src/mainboard/eaglelion/Kconfig b/src/mainboard/eaglelion/Kconfig
index 1b68ba8..e52ac16 100644
--- a/src/mainboard/eaglelion/Kconfig
+++ b/src/mainboard/eaglelion/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_EAGLELION
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_EAGLELION
 
-source "src/mainboard/eaglelion/5bcm/Kconfig"
+config BOARD_EAGLELION_5BCM
+	bool "5BCM"
 
 endchoice
 
+source "src/mainboard/eaglelion/5bcm/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "EagleLion"
+
+endif # VENDOR_EAGLELION
diff --git a/src/mainboard/ecs/Kconfig b/src/mainboard/ecs/Kconfig
index 2704273..48501f6 100644
--- a/src/mainboard/ecs/Kconfig
+++ b/src/mainboard/ecs/Kconfig
@@ -17,12 +17,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_ECS
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_ECS
 
-source "src/mainboard/ecs/p6iwp-fe/Kconfig"
+config BOARD_ECS_P6IWP_FE
+	bool "P6IWP-FE"
 
 endchoice
 
+source "src/mainboard/ecs/p6iwp-fe/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "ECS"
+
+endif # VENDOR_ECS
diff --git a/src/mainboard/ecs/p6iwp-fe/Kconfig b/src/mainboard/ecs/p6iwp-fe/Kconfig
index 5748a57..eecae4d 100644
--- a/src/mainboard/ecs/p6iwp-fe/Kconfig
+++ b/src/mainboard/ecs/p6iwp-fe/Kconfig
@@ -17,9 +17,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_ECS_P6IWP_FE
 
-config BOARD_ECS_P6IWP_FE
-	bool "P6IWP-FE"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -35,15 +36,13 @@
 config MAINBOARD_DIR
 	string
 	default ecs/p6iwp-fe
-	depends on BOARD_ECS_P6IWP_FE
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P6IWP-FE"
-	depends on BOARD_ECS_P6IWP_FE
 
 config IRQ_SLOT_COUNT
 	int
 	default 10
-	depends on BOARD_ECS_P6IWP_FE
 
+endif # BOARD_ECS_P6IWP_FE
diff --git a/src/mainboard/emulation/Kconfig b/src/mainboard/emulation/Kconfig
index c2ecc2b..5661f0e 100644
--- a/src/mainboard/emulation/Kconfig
+++ b/src/mainboard/emulation/Kconfig
@@ -1,7 +1,17 @@
+if VENDOR_EMULATION
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_EMULATION
+
+config BOARD_EMULATION_QEMU_X86
+	bool "QEMU x86"
+
+endchoice
 
 source "src/mainboard/emulation/qemu-x86/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Emulation"
+
+endif # VENDOR_EMULATION
diff --git a/src/mainboard/emulation/qemu-x86/Kconfig b/src/mainboard/emulation/qemu-x86/Kconfig
index 72f3c27..40d416f 100644
--- a/src/mainboard/emulation/qemu-x86/Kconfig
+++ b/src/mainboard/emulation/qemu-x86/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_EMULATION_QEMU_X86
-	bool "QEMU x86"
+if BOARD_EMULATION_QEMU_X86
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select SOUTHBRIDGE_INTEL_I82371EB
 	select ROMCC
@@ -12,14 +14,13 @@
 config MAINBOARD_DIR
 	string
 	default emulation/qemu-x86
-	depends on BOARD_EMULATION_QEMU_X86
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "QEMU x86"
-	depends on BOARD_EMULATION_QEMU_X86
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_EMULATION_QEMU_X86
+
+endif # BOARD_EMULATION_QEMU_X86
diff --git a/src/mainboard/getac/Kconfig b/src/mainboard/getac/Kconfig
index 4a4a8c0..47cd1cf 100644
--- a/src/mainboard/getac/Kconfig
+++ b/src/mainboard/getac/Kconfig
@@ -16,11 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 ##
+if VENDOR_GETAC
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_GETAC
+
+config BOARD_GETAC_P470
+	bool "P470"
+
+endchoice
 
 source "src/mainboard/getac/p470/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Getac"
+
+endif # VENDOR_GETAC
diff --git a/src/mainboard/getac/p470/Kconfig b/src/mainboard/getac/p470/Kconfig
index 13ae276..8df3587 100644
--- a/src/mainboard/getac/p470/Kconfig
+++ b/src/mainboard/getac/p470/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 ##
+if BOARD_GETAC_P470
 
-config BOARD_GETAC_P470
-	bool "P470"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_CORE
 	select CPU_INTEL_SOCKET_MFCPGA478
@@ -48,45 +49,37 @@
 config MAINBOARD_DIR
 	string
 	default getac/p470
-	depends on BOARD_GETAC_P470
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_GETAC_P470
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_GETAC_P470
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "P470"
-	depends on BOARD_GETAC_P470
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xf0000000
-	depends on BOARD_GETAC_P470
 
 config IRQ_SLOT_COUNT
 	int
 	default 18
-	depends on BOARD_GETAC_P470
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_GETAC_P470
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_GETAC_P470
 
 config FALLBACK_VGA_BIOS_FILE
 	string
 	default "getac-pci8086,27a2.rom"
-	depends on BOARD_GETAC_P470
 
+endif # BOARD_GETAC_P470
diff --git a/src/mainboard/gigabyte/Kconfig b/src/mainboard/gigabyte/Kconfig
index ab23999..f337044 100644
--- a/src/mainboard/gigabyte/Kconfig
+++ b/src/mainboard/gigabyte/Kconfig
@@ -16,10 +16,25 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_GIGABYTE
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_GIGABYTE
+
+config BOARD_GIGABYTE_GA_2761GXDK
+	bool "GA-2761GXDK"
+config BOARD_GIGABYTE_GA_6BXC
+	bool "GA-6BXC"
+config BOARD_GIGABYTE_GA_6BXE
+	bool "GA-6BXE"
+config BOARD_GIGABYTE_M57SLI
+	bool "GA-M57SLI-S4"
+config BOARD_GIGABYTE_GA785GMT
+	bool "MA785GMT"
+config BOARD_GIGABYTE_MA78GM
+	bool "MA78GM-US2H"
+
+endchoice
 
 source "src/mainboard/gigabyte/ga_2761gxdk/Kconfig"
 source "src/mainboard/gigabyte/ga-6bxc/Kconfig"
@@ -27,5 +42,9 @@
 source "src/mainboard/gigabyte/m57sli/Kconfig"
 source "src/mainboard/gigabyte/ma785gmt/Kconfig"
 source "src/mainboard/gigabyte/ma78gm/Kconfig"
-endchoice
 
+config MAINBOARD_VENDOR
+	string
+	default "GIGABYTE"
+
+endif # VENDOR_GIGABYTE
diff --git a/src/mainboard/gigabyte/ga-6bxc/Kconfig b/src/mainboard/gigabyte/ga-6bxc/Kconfig
index 46c7647..f89c440 100644
--- a/src/mainboard/gigabyte/ga-6bxc/Kconfig
+++ b/src/mainboard/gigabyte/ga-6bxc/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_GIGABYTE_GA_6BXC
 
-config BOARD_GIGABYTE_GA_6BXC
-	bool "GA-6BXC"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default gigabyte/ga-6bxc
-	depends on BOARD_GIGABYTE_GA_6BXC
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "GA-6BXC"
-	depends on BOARD_GIGABYTE_GA_6BXC
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_GIGABYTE_GA_6BXC
 
+endif # BOARD_GIGABYTE_GA_6BXC
diff --git a/src/mainboard/gigabyte/ga-6bxe/Kconfig b/src/mainboard/gigabyte/ga-6bxe/Kconfig
index dc8e6be..34a3281 100644
--- a/src/mainboard/gigabyte/ga-6bxe/Kconfig
+++ b/src/mainboard/gigabyte/ga-6bxe/Kconfig
@@ -17,9 +17,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_GIGABYTE_GA_6BXE
 
-config BOARD_GIGABYTE_GA_6BXE
-	bool "GA-6BXE"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -34,15 +35,13 @@
 config MAINBOARD_DIR
 	string
 	default gigabyte/ga-6bxe
-	depends on BOARD_GIGABYTE_GA_6BXE
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "GA-6BXE"
-	depends on BOARD_GIGABYTE_GA_6BXE
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_GIGABYTE_GA_6BXE
 
+endif # BOARD_GIGABYTE_GA_6BXE
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/Kconfig b/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
index 8551908..bcd9205 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
+++ b/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_GIGABYTE_GA_2761GXDK
-	bool "GA-2761GXDK"
+if BOARD_GIGABYTE_GA_2761GXDK
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,94 +20,77 @@
 config MAINBOARD_DIR
 	string
 	default gigabyte/ga_2761gxdk
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "GA-2761GXDK"
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config PCI_64BIT_PREF_MEM
 	bool
-        default n
-	depends on BOARD_GIGABYTE_GA_2761GXDK
+	default n
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1039
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x1234
-	depends on BOARD_GIGABYTE_GA_2761GXDK
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_GIGABYTE_GA_2761GXDK
+
+endif # BOARD_GIGABYTE_GA_2761GXDK
diff --git a/src/mainboard/gigabyte/m57sli/Kconfig b/src/mainboard/gigabyte/m57sli/Kconfig
index 5e77631..55ac320 100644
--- a/src/mainboard/gigabyte/m57sli/Kconfig
+++ b/src/mainboard/gigabyte/m57sli/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_GIGABYTE_M57SLI
-	bool "GA-M57SLI-S4"
+if BOARD_GIGABYTE_M57SLI
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2
 	select NORTHBRIDGE_AMD_AMDK8
@@ -21,94 +23,77 @@
 config MAINBOARD_DIR
 	string
 	default gigabyte/m57sli
-	depends on BOARD_GIGABYTE_M57SLI
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_GIGABYTE_M57SLI
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_GIGABYTE_M57SLI
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_GIGABYTE_M57SLI
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_GIGABYTE_M57SLI
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_GIGABYTE_M57SLI
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_GIGABYTE_M57SLI
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "GA-M57SLI-S4"
-	depends on BOARD_GIGABYTE_M57SLI
 
 config PCI_64BIT_PREF_MEM
 	bool
-        default n
-	depends on BOARD_GIGABYTE_M57SLI
+	default n
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_GIGABYTE_M57SLI
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_GIGABYTE_M57SLI
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_GIGABYTE_M57SLI
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_GIGABYTE_M57SLI
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_GIGABYTE_M57SLI
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_GIGABYTE_M57SLI
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_GIGABYTE_M57SLI
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_GIGABYTE_M57SLI
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2b80
-	depends on BOARD_GIGABYTE_M57SLI
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_GIGABYTE_M57SLI
+
+endif # BOARD_GIGABYTE_M57SLI
diff --git a/src/mainboard/gigabyte/ma785gmt/Kconfig b/src/mainboard/gigabyte/ma785gmt/Kconfig
index 3f736da..767f681 100644
--- a/src/mainboard/gigabyte/ma785gmt/Kconfig
+++ b/src/mainboard/gigabyte/ma785gmt/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_GIGABYTE_GA785GMT
-	bool "MA785GMT"
+if BOARD_GIGABYTE_GA785GMT
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM3
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -27,99 +29,81 @@
 config MAINBOARD_DIR
 	string
 	default gigabyte/ma785gmt
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Gigabyte GA785GMT"
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_010000b6.h"
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config RAMTOP
 	hex
 	default 0x2000000
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config ACPI_SSDTX_NUM
 	int
 	default 0
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_GIGABYTE_GA785GMT
 
 config COMPRESS
 	hex
 	default 0
-	depends on BOARD_GIGABYTE_GA785GMT
+
+endif # BOARD_GIGABYTE_GA785GMT
diff --git a/src/mainboard/gigabyte/ma78gm/Kconfig b/src/mainboard/gigabyte/ma78gm/Kconfig
index 255af8d..f8d7a3e 100644
--- a/src/mainboard/gigabyte/ma78gm/Kconfig
+++ b/src/mainboard/gigabyte/ma78gm/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_GIGABYTE_MA78GM
-	bool "MA78GM-US2H"
+if BOARD_GIGABYTE_MA78GM
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2R2
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -27,99 +29,81 @@
 config MAINBOARD_DIR
 	string
 	default gigabyte/ma78gm
-	depends on BOARD_GIGABYTE_MA78GM
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_GIGABYTE_MA78GM
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "GIGABYTE MA78GM"
-	depends on BOARD_GIGABYTE_MA78GM
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_GIGABYTE_MA78GM
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_GIGABYTE_MA78GM
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_GIGABYTE_MA78GM
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_GIGABYTE_MA78GM
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_GIGABYTE_MA78GM
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_GIGABYTE_MA78GM
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_GIGABYTE_MA78GM
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_GIGABYTE_MA78GM
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_GIGABYTE_MA78GM
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_01000095.h"
-	depends on BOARD_GIGABYTE_MA78GM
 
 config RAMTOP
 	hex
 	default 0x2000000
-	depends on BOARD_GIGABYTE_MA78GM
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_GIGABYTE_MA78GM
 
 config ACPI_SSDTX_NUM
 	int
 	default 0
-	depends on BOARD_GIGABYTE_MA78GM
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_GIGABYTE_MA78GM
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_GIGABYTE_MA78GM
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_GIGABYTE_MA78GM
 
 config COMPRESS
 	hex
 	default 0
-	depends on BOARD_GIGABYTE_MA78GM
+
+endif # BOARD_GIGABYTE_MA78GM
diff --git a/src/mainboard/hp/Kconfig b/src/mainboard/hp/Kconfig
index 751cdc0..19de424 100644
--- a/src/mainboard/hp/Kconfig
+++ b/src/mainboard/hp/Kconfig
@@ -1,10 +1,23 @@
+if VENDOR_HP
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_HP
+
+config BOARD_HP_DL145_G1
+	bool "ProLiant DL145 G1"
+config BOARD_HP_DL145_G3
+	bool "ProLiant DL145 G3"
+config BOARD_HP_E_VECTRA_P2706T
+	bool "e-Vectra P2706T"
+
+endchoice
 
 source "src/mainboard/hp/dl145_g1/Kconfig"
 source "src/mainboard/hp/dl145_g3/Kconfig"
 source "src/mainboard/hp/e_vectra_p2706t/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "HP"
 
+endif # VENDOR_HP
diff --git a/src/mainboard/hp/dl145_g1/Kconfig b/src/mainboard/hp/dl145_g1/Kconfig
index a6e8de9..351eeb8 100644
--- a/src/mainboard/hp/dl145_g1/Kconfig
+++ b/src/mainboard/hp/dl145_g1/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_HP_DL145_G1
-	bool "ProLiant DL145 G1"
+if BOARD_HP_DL145_G1
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,64 +20,53 @@
 config MAINBOARD_DIR
 	string
 	default hp/dl145_g1
-	depends on BOARD_HP_DL145_G1
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_HP_DL145_G1
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_HP_DL145_G1
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "ProLiant DL145 G1"
-	depends on BOARD_HP_DL145_G1
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_HP_DL145_G1
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x7460
-	depends on BOARD_HP_DL145_G1
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_HP_DL145_G1
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_HP_DL145_G1
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_HP_DL145_G1
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_HP_DL145_G1
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_HP_DL145_G1
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_HP_DL145_G1
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_HP_DL145_G1
+
+endif # BOARD_HP_DL145_G1
diff --git a/src/mainboard/hp/dl145_g3/Kconfig b/src/mainboard/hp/dl145_g3/Kconfig
index 956aaff..e2dc909 100644
--- a/src/mainboard/hp/dl145_g3/Kconfig
+++ b/src/mainboard/hp/dl145_g3/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_HP_DL145_G3
-	bool "ProLiant DL145 G3"
+if BOARD_HP_DL145_G3
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -20,69 +22,57 @@
 config MAINBOARD_DIR
 	string
 	default hp/dl145_g3
-	depends on BOARD_HP_DL145_G3
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcc000
-	depends on BOARD_HP_DL145_G3
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_HP_DL145_G3
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_HP_DL145_G3
 
 config APIC_ID_OFFSET
 	hex
 	default 0x8
-	depends on BOARD_HP_DL145_G3
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_HP_DL145_G3
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "ProLiant DL145 G3"
-	depends on BOARD_HP_DL145_G3
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_HP_DL145_G3
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_HP_DL145_G3
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_HP_DL145_G3
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_HP_DL145_G3
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_HP_DL145_G3
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_HP_DL145_G3
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_HP_DL145_G3
+
+endif # BOARD_HP_DL145_G3
diff --git a/src/mainboard/hp/e_vectra_p2706t/Kconfig b/src/mainboard/hp/e_vectra_p2706t/Kconfig
index 57131e9..7186dae 100644
--- a/src/mainboard/hp/e_vectra_p2706t/Kconfig
+++ b/src/mainboard/hp/e_vectra_p2706t/Kconfig
@@ -20,8 +20,10 @@
 # FIXME: It's a PC87360 actually.
 # FIXME: It's an i810E actually!
 # FIXME: ROM chip size really 512KB?
-config BOARD_HP_E_VECTRA_P2706T
-	bool "e-Vectra P2706T"
+if BOARD_HP_E_VECTRA_P2706T
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -37,15 +39,13 @@
 config MAINBOARD_DIR
 	string
 	default hp/e_vectra_p2706t
-	depends on BOARD_HP_E_VECTRA_P2706T
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "e-Vectra P2706T"
-	depends on BOARD_HP_E_VECTRA_P2706T
 
 config IRQ_SLOT_COUNT
 	int
 	default 3
-	depends on BOARD_HP_E_VECTRA_P2706T
 
+endif # BOARD_HP_E_VECTRA_P2706T
diff --git a/src/mainboard/ibase/Kconfig b/src/mainboard/ibase/Kconfig
index 49aba52..7eac9ae 100644
--- a/src/mainboard/ibase/Kconfig
+++ b/src/mainboard/ibase/Kconfig
@@ -1,8 +1,17 @@
-choice
-        prompt "Mainboard model"
-        depends on VENDOR_IBASE
+if VENDOR_IBASE
 
-source "src/mainboard/ibase/mb899/Kconfig"
+choice
+	prompt "Mainboard model"
+
+config BOARD_IBASE_MB899
+	bool "MB899"
 
 endchoice
 
+source "src/mainboard/ibase/mb899/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "iBase"
+
+endif # VENDOR_IBASE
diff --git a/src/mainboard/ibase/mb899/Kconfig b/src/mainboard/ibase/mb899/Kconfig
index 0795db6..848e1a0 100644
--- a/src/mainboard/ibase/mb899/Kconfig
+++ b/src/mainboard/ibase/mb899/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IBASE_MB899
-	bool "MB899"
+if BOARD_IBASE_MB899
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_CORE
 	select CPU_INTEL_SOCKET_MFCPGA478
@@ -24,45 +26,37 @@
 config MAINBOARD_DIR
 	string
 	default ibase/mb899
-	depends on BOARD_IBASE_MB899
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_IBASE_MB899
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_IBASE_MB899
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MB899"
-	depends on BOARD_IBASE_MB899
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xf0000000
-	depends on BOARD_IBASE_MB899
 
 config IRQ_SLOT_COUNT
 	int
 	default 18
-	depends on BOARD_IBASE_MB899
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_IBASE_MB899
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_IBASE_MB899
 
 config FALLBACK_VGA_BIOS_FILE
 	string
 	default "amipci_01.20"
-	depends on BOARD_IBASE_MB899
 
+endif # BOARD_IBASE_MB899
diff --git a/src/mainboard/ibm/Kconfig b/src/mainboard/ibm/Kconfig
index d9d1774..642bb86 100644
--- a/src/mainboard/ibm/Kconfig
+++ b/src/mainboard/ibm/Kconfig
@@ -1,9 +1,20 @@
+if VENDOR_IBM
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_IBM
+
+config BOARD_IBM_E325
+	bool "eServer 325"
+config BOARD_IBM_E326
+	bool "eServer 326"
+
+endchoice
 
 source "src/mainboard/ibm/e325/Kconfig"
 source "src/mainboard/ibm/e326/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "IBM"
 
+endif # VENDOR_IBM
diff --git a/src/mainboard/ibm/e325/Kconfig b/src/mainboard/ibm/e325/Kconfig
index b23d601..83f0b1f 100644
--- a/src/mainboard/ibm/e325/Kconfig
+++ b/src/mainboard/ibm/e325/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IBM_E325
-	bool "eServer 325"
+if BOARD_IBM_E325
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,74 +21,61 @@
 config MAINBOARD_DIR
 	string
 	default ibm/e325
-	depends on BOARD_IBM_E325
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_IBM_E325
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x1000
-	depends on BOARD_IBM_E325
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x0
-	depends on BOARD_IBM_E325
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_IBM_E325
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "eServer 325"
-	depends on BOARD_IBM_E325
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_IBM_E325
 
 config MAX_CPUS
 	int
 	default 1
-	depends on BOARD_IBM_E325
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_IBM_E325
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_IBM_E325
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_IBM_E325
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_IBM_E325
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_IBM_E325
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_IBM_E325
 
 config IRQ_SLOT_COUNT
 	int
 	default 12
-	depends on BOARD_IBM_E325
+
+endif # BOARD_IBM_E325
diff --git a/src/mainboard/ibm/e326/Kconfig b/src/mainboard/ibm/e326/Kconfig
index 7f6c9a2..4d34508 100644
--- a/src/mainboard/ibm/e326/Kconfig
+++ b/src/mainboard/ibm/e326/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IBM_E326
-	bool "eServer 326"
+if BOARD_IBM_E326
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,74 +21,61 @@
 config MAINBOARD_DIR
 	string
 	default ibm/e326
-	depends on BOARD_IBM_E326
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_IBM_E326
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x1000
-	depends on BOARD_IBM_E326
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x0
-	depends on BOARD_IBM_E326
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_IBM_E326
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "eServer 326"
-	depends on BOARD_IBM_E326
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_IBM_E326
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_IBM_E326
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_IBM_E326
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_IBM_E326
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_IBM_E326
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_IBM_E326
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_IBM_E326
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_IBM_E326
 
 config IRQ_SLOT_COUNT
 	int
 	default 12
-	depends on BOARD_IBM_E326
+
+endif # BOARD_IBM_E326
diff --git a/src/mainboard/iei/Kconfig b/src/mainboard/iei/Kconfig
index f436e00..c64cdbe 100644
--- a/src/mainboard/iei/Kconfig
+++ b/src/mainboard/iei/Kconfig
@@ -16,14 +16,26 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_IEI
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_IEI
+
+config BOARD_IEI_JUKI_511P
+	bool "JUKI-511P"
+config BOARD_IEI_NOVA_4899R
+	bool "NOVA-4899R"
+config BOARD_IEI_PCISA_LX_800_R10
+	bool "PCISA LX-800-R10"
+
+endchoice
 
 source "src/mainboard/iei/juki-511p/Kconfig"
 source "src/mainboard/iei/nova4899r/Kconfig"
 source "src/mainboard/iei/pcisa-lx-800-r10/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "IEI"
 
+endif # VENDOR_IEI
diff --git a/src/mainboard/iei/juki-511p/Kconfig b/src/mainboard/iei/juki-511p/Kconfig
index bd24dd1..7f114c4 100644
--- a/src/mainboard/iei/juki-511p/Kconfig
+++ b/src/mainboard/iei/juki-511p/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_IEI_JUKI_511P
 
-config BOARD_IEI_JUKI_511P
-	bool "JUKI-511P"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default iei/juki-511p
-	depends on BOARD_IEI_JUKI_511P
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "JUKI-511P"
-	depends on BOARD_IEI_JUKI_511P
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_IEI_JUKI_511P
 
+endif # BOARD_IEI_JUKI_511P
diff --git a/src/mainboard/iei/nova4899r/Kconfig b/src/mainboard/iei/nova4899r/Kconfig
index 45603f6..3cc5ddb 100644
--- a/src/mainboard/iei/nova4899r/Kconfig
+++ b/src/mainboard/iei/nova4899r/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_IEI_NOVA_4899R
 
-config BOARD_IEI_NOVA_4899R
-	bool "NOVA-4899R"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -34,15 +35,13 @@
 config MAINBOARD_DIR
 	string
 	default iei/nova4899r
-	depends on BOARD_IEI_NOVA_4899R
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "NOVA-4899R"
-	depends on BOARD_IEI_NOVA_4899R
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_IEI_NOVA_4899R
 
+endif # BOARD_IEI_NOVA_4899R
diff --git a/src/mainboard/iei/pcisa-lx-800-r10/Kconfig b/src/mainboard/iei/pcisa-lx-800-r10/Kconfig
index db05e04..ecd6d89 100644
--- a/src/mainboard/iei/pcisa-lx-800-r10/Kconfig
+++ b/src/mainboard/iei/pcisa-lx-800-r10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IEI_PCISA_LX_800_R10
-	bool "PCISA LX-800-R10"
+if BOARD_IEI_PCISA_LX_800_R10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -13,20 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default iei/pcisa-lx-800-r10
-	depends on BOARD_IEI_PCISA_LX_800_R10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PCISA-LX-800-R10"
-	depends on BOARD_IEI_PCISA_LX_800_R10
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_IEI_PCISA_LX_800_R10
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_IEI_PCISA_LX_800_R10
 
+endif # BOARD_IEI_PCISA_LX_800_R10
diff --git a/src/mainboard/intel/Kconfig b/src/mainboard/intel/Kconfig
index 18e77d3..612b1c1 100644
--- a/src/mainboard/intel/Kconfig
+++ b/src/mainboard/intel/Kconfig
@@ -1,6 +1,24 @@
+if VENDOR_INTEL
+
 choice
-        prompt "Mainboard model"
-        depends on VENDOR_INTEL
+	prompt "Mainboard model"
+
+config BOARD_INTEL_D810E2CB
+	bool "D810E2CB"
+config BOARD_INTEL_D945GCLF
+	bool "D945GCLF"
+config BOARD_INTEL_EAGLEHEIGHTS
+	bool "EagleHeights"
+config BOARD_INTEL_JARRELL
+	bool "Jarrell (SE7520JR2)"
+config BOARD_INTEL_MTARVON
+	bool "3100 devkit (Mt. Arvon)"
+config BOARD_INTEL_TRUXTON
+	bool "EP80579 devkit (Truxton)"
+config BOARD_INTEL_XE7501DEVKIT
+	bool "XE7501devkit"
+
+endchoice
 
 source "src/mainboard/intel/d810e2cb/Kconfig"
 source "src/mainboard/intel/d945gclf/Kconfig"
@@ -10,5 +28,12 @@
 source "src/mainboard/intel/truxton/Kconfig"
 source "src/mainboard/intel/xe7501devkit/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Intel"
 
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x8086
+
+endif # VENDOR_INTEL
diff --git a/src/mainboard/intel/d810e2cb/Kconfig b/src/mainboard/intel/d810e2cb/Kconfig
index cb7dd1c..3031a30 100644
--- a/src/mainboard/intel/d810e2cb/Kconfig
+++ b/src/mainboard/intel/d810e2cb/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_INTEL_D810E2CB
 
-config BOARD_INTEL_D810E2CB
-	bool "D810E2CB"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_FC_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -35,15 +36,13 @@
 config MAINBOARD_DIR
 	string
 	default intel/d810e2cb
-	depends on BOARD_INTEL_D810E2CB
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "D810E2CB"
-	depends on BOARD_INTEL_D810E2CB
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_INTEL_D810E2CB
 
+endif # BOARD_INTEL_D810E2CB
diff --git a/src/mainboard/intel/d945gclf/Kconfig b/src/mainboard/intel/d945gclf/Kconfig
index cad2ecf..df9ed1d 100644
--- a/src/mainboard/intel/d945gclf/Kconfig
+++ b/src/mainboard/intel/d945gclf/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_INTEL_D945GCLF
 
-config BOARD_INTEL_D945GCLF
-	bool "D945GCLF"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_ATOM_230
 	select CPU_INTEL_SOCKET_441
@@ -47,45 +48,37 @@
 config MAINBOARD_DIR
 	string
 	default intel/d945gclf
-	depends on BOARD_INTEL_D945GCLF
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_INTEL_D945GCLF
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_INTEL_D945GCLF
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "D945GCLF"
-	depends on BOARD_INTEL_D945GCLF
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x464C
-	depends on BOARD_INTEL_D945GCLF
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xf0000000
-	depends on BOARD_INTEL_D945GCLF
 
 config IRQ_SLOT_COUNT
 	int
 	default 18
-	depends on BOARD_INTEL_D945GCLF
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_INTEL_D945GCLF
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_INTEL_D945GCLF
 
+endif # BOARD_INTEL_D945GCLF
diff --git a/src/mainboard/intel/eagleheights/Kconfig b/src/mainboard/intel/eagleheights/Kconfig
index e00c7a5..246946e 100644
--- a/src/mainboard/intel/eagleheights/Kconfig
+++ b/src/mainboard/intel/eagleheights/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_INTEL_EAGLEHEIGHTS
-	bool "EagleHeights"
+if BOARD_INTEL_EAGLEHEIGHTS
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_BGA956
 	select NORTHBRIDGE_INTEL_I3100
@@ -21,44 +23,37 @@
 config MAINBOARD_DIR
 	string
 	default intel/eagleheights
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xe0000000
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EagleHeights"
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xe0000000
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_INTEL_EAGLEHEIGHTS
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_INTEL_EAGLEHEIGHTS
+
+endif # BOARD_INTEL_EAGLEHEIGHTS
diff --git a/src/mainboard/intel/jarrell/Kconfig b/src/mainboard/intel/jarrell/Kconfig
index aef112c..f6c701d 100644
--- a/src/mainboard/intel/jarrell/Kconfig
+++ b/src/mainboard/intel/jarrell/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_INTEL_JARRELL
-	bool "Jarrell (SE7520JR2)"
+if BOARD_INTEL_JARRELL
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7520
@@ -20,30 +22,25 @@
 config MAINBOARD_DIR
 	string
 	default intel/jarrell
-	depends on BOARD_INTEL_JARRELL
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Jarrell"
-	depends on BOARD_INTEL_JARRELL
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_INTEL_JARRELL
 
 config IRQ_SLOT_COUNT
 	int
 	default 18
-	depends on BOARD_INTEL_JARRELL
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x8086
-	depends on BOARD_INTEL_JARRELL
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x1079
-	depends on BOARD_INTEL_JARRELL
 
+endif # BOARD_INTEL_JARRELL
diff --git a/src/mainboard/intel/mtarvon/Kconfig b/src/mainboard/intel/mtarvon/Kconfig
index ce9d9a4..75cab8f 100644
--- a/src/mainboard/intel/mtarvon/Kconfig
+++ b/src/mainboard/intel/mtarvon/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_INTEL_MTARVON
-	bool "3100 devkit (Mt. Arvon)"
+if BOARD_INTEL_MTARVON
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA479M
 	select NORTHBRIDGE_INTEL_I3100
@@ -15,29 +17,25 @@
 config MAINBOARD_DIR
 	string
 	default intel/mtarvon
-	depends on BOARD_INTEL_MTARVON
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "3100 devkit (Mt. Arvon)"
-	depends on BOARD_INTEL_MTARVON
 
 config IRQ_SLOT_COUNT
 	int
 	default 1
-	depends on BOARD_INTEL_MTARVON
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x8086
-	depends on BOARD_INTEL_MTARVON
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2680
-	depends on BOARD_INTEL_MTARVON
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_INTEL_MTARVON
+
+endif # BOARD_INTEL_MTARVON
diff --git a/src/mainboard/intel/truxton/Kconfig b/src/mainboard/intel/truxton/Kconfig
index 6b7a220..1ba7137 100644
--- a/src/mainboard/intel/truxton/Kconfig
+++ b/src/mainboard/intel/truxton/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_INTEL_TRUXTON
-	bool "EP80579 devkit (Truxton)"
+if BOARD_INTEL_TRUXTON
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_EP80579
 	select NORTHBRIDGE_INTEL_I3100
@@ -16,29 +18,25 @@
 config MAINBOARD_DIR
 	string
 	default intel/truxton
-	depends on BOARD_INTEL_TRUXTON
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Truxton"
-	depends on BOARD_INTEL_TRUXTON
 
 config IRQ_SLOT_COUNT
 	int
 	default 1
-	depends on BOARD_INTEL_TRUXTON
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x8086
-	depends on BOARD_INTEL_TRUXTON
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2680
-	depends on BOARD_INTEL_TRUXTON
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_INTEL_TRUXTON
+
+endif # BOARD_INTEL_TRUXTON
diff --git a/src/mainboard/intel/xe7501devkit/Kconfig b/src/mainboard/intel/xe7501devkit/Kconfig
index 5ce7021..35a1cd1 100644
--- a/src/mainboard/intel/xe7501devkit/Kconfig
+++ b/src/mainboard/intel/xe7501devkit/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_INTEL_XE7501DEVKIT
-	bool "XE7501devkit"
+if BOARD_INTEL_XE7501DEVKIT
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7501
@@ -18,35 +20,29 @@
 config MAINBOARD_DIR
 	string
 	default intel/xe7501devkit
-	depends on BOARD_INTEL_XE7501DEVKIT
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "XE7501devkit"
-	depends on BOARD_INTEL_XE7501DEVKIT
 
 config IRQ_SLOT_COUNT
 	int
 	default 12
-	depends on BOARD_INTEL_XE7501DEVKIT
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_INTEL_XE7501DEVKIT
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_INTEL_XE7501DEVKIT
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x8086
-	depends on BOARD_INTEL_XE7501DEVKIT
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2480
-	depends on BOARD_INTEL_XE7501DEVKIT
 
+endif # BOARD_INTEL_XE7501DEVKIT
diff --git a/src/mainboard/iwill/Kconfig b/src/mainboard/iwill/Kconfig
index 4a15795..c520138 100644
--- a/src/mainboard/iwill/Kconfig
+++ b/src/mainboard/iwill/Kconfig
@@ -1,10 +1,23 @@
+if VENDOR_IWILL
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_IWILL
+
+config BOARD_IWILL_DK8_HTX
+	bool "DK8-HTX"
+config BOARD_IWILL_DK8S2
+	bool "DK8S2"
+config BOARD_IWILL_DK8X
+	bool "DK8X"
+
+endchoice
 
 source "src/mainboard/iwill/dk8_htx/Kconfig"
 source "src/mainboard/iwill/dk8s2/Kconfig"
 source "src/mainboard/iwill/dk8x/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "IWILL"
 
+endif # VENDOR_IWILL
diff --git a/src/mainboard/iwill/dk8_htx/Kconfig b/src/mainboard/iwill/dk8_htx/Kconfig
index 1b425f6..eebfef5 100644
--- a/src/mainboard/iwill/dk8_htx/Kconfig
+++ b/src/mainboard/iwill/dk8_htx/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IWILL_DK8_HTX
-	bool "DK8-HTX"
+if BOARD_IWILL_DK8_HTX
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -23,89 +25,73 @@
 config MAINBOARD_DIR
 	string
 	default iwill/dk8_htx
-	depends on BOARD_IWILL_DK8_HTX
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_IWILL_DK8_HTX
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_IWILL_DK8_HTX
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_IWILL_DK8_HTX
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_IWILL_DK8_HTX
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "DK8-HTX"
-	depends on BOARD_IWILL_DK8_HTX
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_IWILL_DK8_HTX
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_IWILL_DK8_HTX
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_IWILL_DK8_HTX
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_IWILL_DK8_HTX
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_IWILL_DK8_HTX
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_IWILL_DK8_HTX
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0xa
-	depends on BOARD_IWILL_DK8_HTX
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_IWILL_DK8_HTX
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_IWILL_DK8_HTX
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_IWILL_DK8_HTX
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2b80
-	depends on BOARD_IWILL_DK8_HTX
 
 config ACPI_SSDTX_NUM
 	int
 	default 5
-	depends on BOARD_IWILL_DK8_HTX
+
+endif # BOARD_IWILL_DK8_HTX
diff --git a/src/mainboard/iwill/dk8s2/Kconfig b/src/mainboard/iwill/dk8s2/Kconfig
index 10d525a..ee88bd3 100644
--- a/src/mainboard/iwill/dk8s2/Kconfig
+++ b/src/mainboard/iwill/dk8s2/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IWILL_DK8S2
-	bool "DK8S2"
+if BOARD_IWILL_DK8S2
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -20,85 +22,69 @@
 config MAINBOARD_DIR
 	string
 	default iwill/dk8s2
-	depends on BOARD_IWILL_DK8S2
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_IWILL_DK8S2
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_IWILL_DK8S2
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_IWILL_DK8S2
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_IWILL_DK8S2
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "DK8S2"
-	depends on BOARD_IWILL_DK8S2
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_IWILL_DK8S2
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_IWILL_DK8S2
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_IWILL_DK8S2
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_IWILL_DK8S2
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_IWILL_DK8S2
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_IWILL_DK8S2
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_IWILL_DK8S2
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_IWILL_DK8S2
 
 config IRQ_SLOT_COUNT
 	int
 	default 12
-	depends on BOARD_IWILL_DK8S2
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x161f
-	depends on BOARD_IWILL_DK8S2
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3016
-	depends on BOARD_IWILL_DK8S2
 
+endif # BOARD_IWILL_DK8S2
diff --git a/src/mainboard/iwill/dk8x/Kconfig b/src/mainboard/iwill/dk8x/Kconfig
index 184edc0..652ff1b 100644
--- a/src/mainboard/iwill/dk8x/Kconfig
+++ b/src/mainboard/iwill/dk8x/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_IWILL_DK8X
-	bool "DK8X"
+if BOARD_IWILL_DK8X
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,74 +21,61 @@
 config MAINBOARD_DIR
 	string
 	default iwill/dk8x
-	depends on BOARD_IWILL_DK8X
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_IWILL_DK8X
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_IWILL_DK8X
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_IWILL_DK8X
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_IWILL_DK8X
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "DK8X"
-	depends on BOARD_IWILL_DK8X
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_IWILL_DK8X
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_IWILL_DK8X
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_IWILL_DK8X
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_IWILL_DK8X
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_IWILL_DK8X
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_IWILL_DK8X
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_IWILL_DK8X
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_IWILL_DK8X
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_IWILL_DK8X
+
+endif # BOARD_IWILL_DK8X
diff --git a/src/mainboard/jetway/Kconfig b/src/mainboard/jetway/Kconfig
index dd631da..8023665 100644
--- a/src/mainboard/jetway/Kconfig
+++ b/src/mainboard/jetway/Kconfig
@@ -1,8 +1,20 @@
+if VENDOR_JETWAY
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_JETWAY
+
+config BOARD_JETWAY_J7F24
+	bool "J7F24"
+config BOARD_JETWAY_PA78VM5
+	bool "PA78VM5 (Fam10)"
+
+endchoice
 
 source "src/mainboard/jetway/j7f24/Kconfig"
 source "src/mainboard/jetway/pa78vm5/Kconfig"
-endchoice
 
+config MAINBOARD_VENDOR
+	string
+	default "Jetway"
+
+endif # VENDOR_JETWAY
diff --git a/src/mainboard/jetway/j7f24/Kconfig b/src/mainboard/jetway/j7f24/Kconfig
index 5742a5d..e8ea448 100644
--- a/src/mainboard/jetway/j7f24/Kconfig
+++ b/src/mainboard/jetway/j7f24/Kconfig
@@ -1,6 +1,8 @@
 # FIXME: There is no such board, "J7F24" is probably too generic and/or wrong.
-config BOARD_JETWAY_J7F24
-	bool "J7F24"
+if BOARD_JETWAY_J7F24
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C7
 	select NORTHBRIDGE_VIA_CN700
@@ -13,19 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default jetway/j7f24
-	depends on BOARD_JETWAY_J7F24
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "J7f24"
-	depends on BOARD_JETWAY_J7F24
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_JETWAY_J7F24
 
 config IRQ_SLOT_COUNT
 	int
 	default 10
-	depends on BOARD_JETWAY_J7F24
+
+endif # BOARD_JETWAY_J7F24
diff --git a/src/mainboard/jetway/pa78vm5/Kconfig b/src/mainboard/jetway/pa78vm5/Kconfig
index 722fee7..23ad721 100644
--- a/src/mainboard/jetway/pa78vm5/Kconfig
+++ b/src/mainboard/jetway/pa78vm5/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_JETWAY_PA78VM5
-	bool "PA78VM5 (Fam10)"
+if BOARD_JETWAY_PA78VM5
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2R2
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -27,99 +29,81 @@
 config MAINBOARD_DIR
 	string
 	default jetway/pa78vm5
-	depends on BOARD_JETWAY_PA78VM5
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_JETWAY_PA78VM5
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PA78VM5 (Fam10)"
-	depends on BOARD_JETWAY_PA78VM5
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_JETWAY_PA78VM5
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_JETWAY_PA78VM5
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_JETWAY_PA78VM5
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_JETWAY_PA78VM5
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_JETWAY_PA78VM5
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_JETWAY_PA78VM5
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_JETWAY_PA78VM5
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_JETWAY_PA78VM5
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_JETWAY_PA78VM5
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_010000b6.h"
-	depends on BOARD_JETWAY_PA78VM5
 
 config RAMTOP
 	hex
 	default 0x2000000
-	depends on BOARD_JETWAY_PA78VM5
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_JETWAY_PA78VM5
 
 config ACPI_SSDTX_NUM
 	int
 	default 0
-	depends on BOARD_JETWAY_PA78VM5
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3060
-	depends on BOARD_JETWAY_PA78VM5
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_JETWAY_PA78VM5
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_JETWAY_PA78VM5
 
 config COMPRESS
 	hex
 	default 0
-	depends on BOARD_JETWAY_PA78VM5
+
+endif # BOARD_JETWAY_PA78VM5
diff --git a/src/mainboard/kontron/986lcd-m/Kconfig b/src/mainboard/kontron/986lcd-m/Kconfig
index ac45c8c..59b5028 100644
--- a/src/mainboard/kontron/986lcd-m/Kconfig
+++ b/src/mainboard/kontron/986lcd-m/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_KONTRON_986LCD_M
-	bool "986LCD-M/mITX"
+if BOARD_KONTRON_986LCD_M
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_CORE
 	select CPU_INTEL_SOCKET_MFCPGA478
@@ -24,45 +26,37 @@
 config MAINBOARD_DIR
 	string
 	default kontron/986lcd-m
-	depends on BOARD_KONTRON_986LCD_M
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_KONTRON_986LCD_M
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_KONTRON_986LCD_M
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "986LCD-M"
-	depends on BOARD_KONTRON_986LCD_M
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xf0000000
-	depends on BOARD_KONTRON_986LCD_M
 
 config IRQ_SLOT_COUNT
 	int
 	default 18
-	depends on BOARD_KONTRON_986LCD_M
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_KONTRON_986LCD_M
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_KONTRON_986LCD_M
 
 config FALLBACK_VGA_BIOS_FILE
 	string
 	default "amipci_01.20"
-	depends on BOARD_KONTRON_986LCD_M
 
+endif # BOARD_KONTRON_986LCD_M
diff --git a/src/mainboard/kontron/Kconfig b/src/mainboard/kontron/Kconfig
index 81e4b9e..5d64476 100644
--- a/src/mainboard/kontron/Kconfig
+++ b/src/mainboard/kontron/Kconfig
@@ -1,8 +1,20 @@
+if VENDOR_KONTRON
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_KONTRON
+
+config BOARD_KONTRON_986LCD_M
+	bool "986LCD-M/mITX"
+config BOARD_KONTRON_KT690
+	bool "KT690/mITX"
+
+endchoice
 
 source "src/mainboard/kontron/986lcd-m/Kconfig"
 source "src/mainboard/kontron/kt690/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Kontron"
+
+endif # VENDOR_KONTRON
diff --git a/src/mainboard/kontron/kt690/Kconfig b/src/mainboard/kontron/kt690/Kconfig
index a8acc3a..f87cffa 100644
--- a/src/mainboard/kontron/kt690/Kconfig
+++ b/src/mainboard/kontron/kt690/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_KONTRON_KT690
-	bool "KT690/mITX"
+if BOARD_KONTRON_KT690
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_S1G1
 	select NORTHBRIDGE_AMD_AMDK8
@@ -23,69 +25,57 @@
 config MAINBOARD_DIR
 	string
 	default kontron/kt690
-	depends on BOARD_KONTRON_KT690
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1488
-	depends on BOARD_KONTRON_KT690
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x6900
-	depends on BOARD_KONTRON_KT690
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_KONTRON_KT690
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "KT690/mITX"
-	depends on BOARD_KONTRON_KT690
 
 config HEAP_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_KONTRON_KT690
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_KONTRON_KT690
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_KONTRON_KT690
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_KONTRON_KT690
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_KONTRON_KT690
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_KONTRON_KT690
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_KONTRON_KT690
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_KONTRON_KT690
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_KONTRON_KT690
+
+endif # BOARD_KONTRON_KT690
diff --git a/src/mainboard/lanner/Kconfig b/src/mainboard/lanner/Kconfig
index f499efa..842c4f0 100644
--- a/src/mainboard/lanner/Kconfig
+++ b/src/mainboard/lanner/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_LANNER
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_LANNER
 
-source "src/mainboard/lanner/em8510/Kconfig"
+config BOARD_LANNER_EM8510
+	bool "EM-8510"
 
 endchoice
 
+source "src/mainboard/lanner/em8510/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Lanner"
+
+endif # VENDOR_LANNER
diff --git a/src/mainboard/lanner/em8510/Kconfig b/src/mainboard/lanner/em8510/Kconfig
index 97d2949..fb19ddc 100644
--- a/src/mainboard/lanner/em8510/Kconfig
+++ b/src/mainboard/lanner/em8510/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_LANNER_EM8510
-	bool "EM-8510"
+if BOARD_LANNER_EM8510
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA479M
 	select NORTHBRIDGE_INTEL_I855
@@ -15,24 +17,21 @@
 config MAINBOARD_DIR
 	string
 	default lanner/em8510
-	depends on BOARD_LANNER_EM8510
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EM-8510"
-	depends on BOARD_LANNER_EM8510
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_LANNER_EM8510
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_LANNER_EM8510
 
 config IRQ_SLOT_COUNT
 	int
 	default 10
-	depends on BOARD_LANNER_EM8510
+
+endif # BOARD_LANNER_EM8510
diff --git a/src/mainboard/lippert/Kconfig b/src/mainboard/lippert/Kconfig
index 792a143..3b9a2ff 100644
--- a/src/mainboard/lippert/Kconfig
+++ b/src/mainboard/lippert/Kconfig
@@ -1,10 +1,23 @@
+if VENDOR_LIPPERT
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_LIPPERT
+
+config BOARD_LIPPERT_FRONTRUNNER
+	bool "Cool Frontrunner"
+config BOARD_LIPPERT_ROADRUNNER_LX
+	bool "Cool RoadRunner-LX"
+config BOARD_LIPPERT_SPACERUNNER_LX
+	bool "Cool SpaceRunner-LX"
+
+endchoice
 
 source "src/mainboard/lippert/frontrunner/Kconfig"
 source "src/mainboard/lippert/roadrunner-lx/Kconfig"
 source "src/mainboard/lippert/spacerunner-lx/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Lippert"
 
+endif # VENDOR_LIPPERT
diff --git a/src/mainboard/lippert/frontrunner/Kconfig b/src/mainboard/lippert/frontrunner/Kconfig
index f9e555e..adf2765 100644
--- a/src/mainboard/lippert/frontrunner/Kconfig
+++ b/src/mainboard/lippert/frontrunner/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_LIPPERT_FRONTRUNNER
-	bool "Cool Frontrunner"
+if BOARD_LIPPERT_FRONTRUNNER
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX2
 	select NORTHBRIDGE_AMD_GX2
@@ -12,15 +14,13 @@
 config MAINBOARD_DIR
 	string
 	default lippert/frontrunner
-	depends on BOARD_LIPPERT_FRONTRUNNER
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Cool Frontrunner"
-	depends on BOARD_LIPPERT_FRONTRUNNER
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_LIPPERT_FRONTRUNNER
 
+endif # BOARD_LIPPERT_FRONTRUNNER
diff --git a/src/mainboard/lippert/roadrunner-lx/Kconfig b/src/mainboard/lippert/roadrunner-lx/Kconfig
index 9f20930..6bc2e9a 100644
--- a/src/mainboard/lippert/roadrunner-lx/Kconfig
+++ b/src/mainboard/lippert/roadrunner-lx/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_LIPPERT_ROADRUNNER_LX
-	bool "Cool RoadRunner-LX"
+if BOARD_LIPPERT_ROADRUNNER_LX
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -14,19 +16,17 @@
 config MAINBOARD_DIR
 	string
 	default lippert/roadrunner-lx
-	depends on BOARD_LIPPERT_ROADRUNNER_LX
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Cool RoadRunner-LX"
-	depends on BOARD_LIPPERT_ROADRUNNER_LX
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_LIPPERT_ROADRUNNER_LX
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+endif # BOARD_LIPPERT_ROADRUNNER_LX
diff --git a/src/mainboard/lippert/spacerunner-lx/Kconfig b/src/mainboard/lippert/spacerunner-lx/Kconfig
index 700c04e..bef1899 100644
--- a/src/mainboard/lippert/spacerunner-lx/Kconfig
+++ b/src/mainboard/lippert/spacerunner-lx/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_LIPPERT_SPACERUNNER_LX
-	bool "Cool SpaceRunner-LX"
+if BOARD_LIPPERT_SPACERUNNER_LX
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -15,19 +17,17 @@
 config MAINBOARD_DIR
 	string
 	default lippert/spacerunner-lx
-	depends on BOARD_LIPPERT_SPACERUNNER_LX
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Cool SpaceRunner-LX"
-	depends on BOARD_LIPPERT_SPACERUNNER_LX
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_LIPPERT_SPACERUNNER_LX
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+endif # BOARD_LIPPERT_SPACERUNNER_LX
diff --git a/src/mainboard/mitac/6513wu/Kconfig b/src/mainboard/mitac/6513wu/Kconfig
index 2bcd961..77ed6e9 100644
--- a/src/mainboard/mitac/6513wu/Kconfig
+++ b/src/mainboard/mitac/6513wu/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_MITAC_6513WU
 
-config BOARD_MITAC_6513WU
-	bool "6513WU"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -34,15 +35,13 @@
 config MAINBOARD_DIR
 	string
 	default mitac/6513wu
-	depends on BOARD_MITAC_6513WU
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "6513WU"
-	depends on BOARD_MITAC_6513WU
 
 config IRQ_SLOT_COUNT
 	int
 	default 8
-	depends on BOARD_MITAC_6513WU
 
+endif # BOARD_MITAC_6513WU
diff --git a/src/mainboard/mitac/Kconfig b/src/mainboard/mitac/Kconfig
index 0d20e69..679f1c5 100644
--- a/src/mainboard/mitac/Kconfig
+++ b/src/mainboard/mitac/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_MITAC
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_MITAC
 
-source "src/mainboard/mitac/6513wu/Kconfig"
+config BOARD_MITAC_6513WU
+	bool "6513WU"
 
 endchoice
 
+source "src/mainboard/mitac/6513wu/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Mitac"
+
+endif # VENDOR_MITAC
diff --git a/src/mainboard/msi/Kconfig b/src/mainboard/msi/Kconfig
index 5070294..c2f1595 100644
--- a/src/mainboard/msi/Kconfig
+++ b/src/mainboard/msi/Kconfig
@@ -16,10 +16,31 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_MSI
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_MSI
+
+config BOARD_MSI_MS_6119
+	bool "MS-6119"
+config BOARD_MSI_MS_6147
+	bool "MS-6147"
+config BOARD_MSI_MS_6156
+	bool "MS-6156"
+config BOARD_MSI_MS_6178
+	bool "MS-6178"
+config BOARD_MSI_MS7135
+	bool "MS-7135 (K8N Neo3)"
+config BOARD_MSI_MS7260
+	bool "MS-7260 (K9N Neo)"
+config BOARD_MSI_MS9185
+	bool "MS-9185 (K9SD Master-S2R)"
+config BOARD_MSI_MS9282
+	bool "MS-9282 (K9SD Master)"
+config BOARD_MSI_MS9652_FAM10
+	bool "MS-9652 Fam10 (Speedster K9ND)"
+
+endchoice
 
 source "src/mainboard/msi/ms6119/Kconfig"
 source "src/mainboard/msi/ms6147/Kconfig"
@@ -31,5 +52,12 @@
 source "src/mainboard/msi/ms9282/Kconfig"
 source "src/mainboard/msi/ms9652_fam10/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "MSI"
 
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x1462
+
+endif # VENDOR_MSI
diff --git a/src/mainboard/msi/ms6119/Kconfig b/src/mainboard/msi/ms6119/Kconfig
index e786f4f..a11f9cf 100644
--- a/src/mainboard/msi/ms6119/Kconfig
+++ b/src/mainboard/msi/ms6119/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_MSI_MS_6119
 
-config BOARD_MSI_MS_6119
-	bool "MS-6119"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms6119
-	depends on BOARD_MSI_MS_6119
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-6119"
-	depends on BOARD_MSI_MS_6119
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_MSI_MS_6119
 
+endif # BOARD_MSI_MS_6119
diff --git a/src/mainboard/msi/ms6147/Kconfig b/src/mainboard/msi/ms6147/Kconfig
index 1e443a4..198618f 100644
--- a/src/mainboard/msi/ms6147/Kconfig
+++ b/src/mainboard/msi/ms6147/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_MSI_MS_6147
 
-config BOARD_MSI_MS_6147
-	bool "MS-6147"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms6147
-	depends on BOARD_MSI_MS_6147
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-6147"
-	depends on BOARD_MSI_MS_6147
 
 config IRQ_SLOT_COUNT
 	int
 	default 8
-	depends on BOARD_MSI_MS_6147
 
+endif # BOARD_MSI_MS_6147
diff --git a/src/mainboard/msi/ms6156/Kconfig b/src/mainboard/msi/ms6156/Kconfig
index 5dcd212..ba13265 100644
--- a/src/mainboard/msi/ms6156/Kconfig
+++ b/src/mainboard/msi/ms6156/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_MSI_MS_6156
 
-config BOARD_MSI_MS_6156
-	bool "MS-6156"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms6156
-	depends on BOARD_MSI_MS_6156
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-6156"
-	depends on BOARD_MSI_MS_6156
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_MSI_MS_6156
 
+endif # BOARD_MSI_MS_6156
diff --git a/src/mainboard/msi/ms6178/Kconfig b/src/mainboard/msi/ms6178/Kconfig
index 605b650..fc8f425 100644
--- a/src/mainboard/msi/ms6178/Kconfig
+++ b/src/mainboard/msi/ms6178/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_MSI_MS_6178
 
-config BOARD_MSI_MS_6178
-	bool "MS-6178"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -33,21 +34,18 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms6178
-	depends on BOARD_MSI_MS_6178
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-6178"
-	depends on BOARD_MSI_MS_6178
 
 config IRQ_SLOT_COUNT
 	int
 	default 4
-	depends on BOARD_MSI_MS_6178
 
 # No need to override the chipset FALLBACK_VGA_BIOS_ID.
 config FALLBACK_VGA_BIOS_FILE
 	string
 	default "i810.vga"
-	depends on BOARD_MSI_MS_6178
 
+endif # BOARD_MSI_MS_6178
diff --git a/src/mainboard/msi/ms7135/Kconfig b/src/mainboard/msi/ms7135/Kconfig
index 2ccca0f..e6996ab 100644
--- a/src/mainboard/msi/ms7135/Kconfig
+++ b/src/mainboard/msi/ms7135/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_MSI_MS7135
-	bool "MS-7135 (K8N Neo3)"
+if BOARD_MSI_MS7135
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_754
 	select NORTHBRIDGE_AMD_AMDK8
@@ -17,79 +19,65 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms7135
-	depends on BOARD_MSI_MS7135
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_MSI_MS7135
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_MSI_MS7135
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_MSI_MS7135
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-7135"
-	depends on BOARD_MSI_MS7135
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x7135
-	depends on BOARD_MSI_MS7135
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_MSI_MS7135
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_MSI_MS7135
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_MSI_MS7135
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_MSI_MS7135
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0
-	depends on BOARD_MSI_MS7135
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_MSI_MS7135
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_MSI_MS7135
 
 config IRQ_SLOT_COUNT
 	int
 	default 13
-	depends on BOARD_MSI_MS7135
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_MSI_MS7135
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_MSI_MS7135
+
+endif # BOARD_MSI_MS7135
diff --git a/src/mainboard/msi/ms7260/Kconfig b/src/mainboard/msi/ms7260/Kconfig
index 13c54e4..f89bfe0 100644
--- a/src/mainboard/msi/ms7260/Kconfig
+++ b/src/mainboard/msi/ms7260/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_MSI_MS7260
-	bool "MS-7260 (K9N Neo)"
+if BOARD_MSI_MS7260
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_AM2
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,94 +21,77 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms7260
-	depends on BOARD_MSI_MS7260
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_MSI_MS7260
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_MSI_MS7260
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_MSI_MS7260
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_MSI_MS7260
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_MSI_MS7260
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_MSI_MS7260
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-7260"
-	depends on BOARD_MSI_MS7260
 
 config PCI_64BIT_PREF_MEM
 	bool
-        default n
-	depends on BOARD_MSI_MS7260
+	default n
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_MSI_MS7260
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_MSI_MS7260
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_MSI_MS7260
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_MSI_MS7260
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_MSI_MS7260
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_MSI_MS7260
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_MSI_MS7260
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1462
-	depends on BOARD_MSI_MS7260
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x7260
-	depends on BOARD_MSI_MS7260
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_MSI_MS7260
+
+endif # BOARD_MSI_MS7260
diff --git a/src/mainboard/msi/ms9185/Kconfig b/src/mainboard/msi/ms9185/Kconfig
index b80a03c..646d002 100644
--- a/src/mainboard/msi/ms9185/Kconfig
+++ b/src/mainboard/msi/ms9185/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_MSI_MS9185
-	bool "MS-9185 (K9SD Master-S2R)"
+if BOARD_MSI_MS9185
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -20,75 +22,61 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms9185
-	depends on BOARD_MSI_MS9185
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcc000
-	depends on BOARD_MSI_MS9185
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_MSI_MS9185
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_MSI_MS9185
 
 config APIC_ID_OFFSET
 	hex
 	default 0x8
-	depends on BOARD_MSI_MS9185
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_MSI_MS9185
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-9185"
-	depends on BOARD_MSI_MS9185
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_MSI_MS9185
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_MSI_MS9185
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_MSI_MS9185
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_MSI_MS9185
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_MSI_MS9185
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_MSI_MS9185
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_MSI_MS9185
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2b80
-	depends on BOARD_MSI_MS9185
 
+endif # BOARD_MSI_MS9185
diff --git a/src/mainboard/msi/ms9282/Kconfig b/src/mainboard/msi/ms9282/Kconfig
index 81e4548..365d2c3 100644
--- a/src/mainboard/msi/ms9282/Kconfig
+++ b/src/mainboard/msi/ms9282/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_MSI_MS9282
-	bool "MS-9282 (K9SD Master)"
+if BOARD_MSI_MS9282
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,89 +20,73 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms9282
-	depends on BOARD_MSI_MS9282
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcc000
-	depends on BOARD_MSI_MS9282
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_MSI_MS9282
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_MSI_MS9282
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_MSI_MS9282
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_MSI_MS9282
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-9282"
-	depends on BOARD_MSI_MS9282
 
 config PCI_64BIT_PREF_MEM
 	bool
-        default n
-	depends on BOARD_MSI_MS9282
+	default n
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_MSI_MS9282
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_MSI_MS9282
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_MSI_MS9282
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_MSI_MS9282
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_MSI_MS9282
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_MSI_MS9282
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_MSI_MS9282
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1462
-	depends on BOARD_MSI_MS9282
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x9282
-	depends on BOARD_MSI_MS9282
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_MSI_MS9282
+
+endif # BOARD_MSI_MS9282
diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig
index b355dc9..212cd70 100644
--- a/src/mainboard/msi/ms9652_fam10/Kconfig
+++ b/src/mainboard/msi/ms9652_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_MSI_MS9652_FAM10
-	bool "MS-9652 Fam10 (Speedster K9ND)"
+if BOARD_MSI_MS9652_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F_1207
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -20,216 +22,175 @@
 config MAINBOARD_DIR
 	string
 	default msi/ms9652_fam10
-	depends on BOARD_MSI_MS9652_FAM10
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc4000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x0c000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config GENERATE_PIRQ_TABLE
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 # Define to 0 because the IRQ slot count is
 # determined dynamically for this board.
 config IRQ_SLOT_COUNT
 	int
 	default 0
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_MSI_MS9652_FAM10
 
 config LOGICAL_CPUS
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config IOAPIC
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config SMP
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config STACK_SIZE
 	hex
 	default 0x20000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0x20000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config USE_OPTION_TABLE
 	bool
 	default n
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "MS-9652"
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1462
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x9652
-	depends on BOARD_MSI_MS9652_FAM10
 
 config RAMBASE
 	hex
 	default 0x00200000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config TTYS0_BAUD
 	int
 	default 115200
-	depends on BOARD_MSI_MS9652_FAM10
 
 config TTYS0_BASE
 	hex
 	default 0x3f8
-	depends on BOARD_MSI_MS9652_FAM10
 
 config TTYS0_LCS
 	int
 	default 3
-	depends on BOARD_MSI_MS9652_FAM10
 
 config DEFAULT_CONSOLE_LOGLEVEL
 	int
 	default 9
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAXIMUM_CONSOLE_LOGLEVEL
 	int
 	default 9
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config CONSOLE_SERIAL8250
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config CONSOLE_VGA
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config PCI_ROM_RUN
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config USBDEBUG
 	bool
 	default n
-	depends on BOARD_MSI_MS9652_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_MSI_MS9652_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_MSI_MS9652_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x00
-	depends on BOARD_MSI_MS9652_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_MSI_MS9652_FAM10
 
 config VAR_MTRR_HOLE
 	bool
 	default n
-	depends on BOARD_MSI_MS9652_FAM10
 
 config SERIAL_CPU_INIT
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0x00
-	depends on BOARD_MSI_MS9652_FAM10
 
 config LIFT_BSP_APIC_ID
 	bool
 	default 1
-	depends on BOARD_MSI_MS9652_FAM10
 
 config RAMTOP
 	hex
 	default 0x1000000
-	depends on BOARD_MSI_MS9652_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_MSI_MS9652_FAM10
 
 config WAIT_BEFORE_CPUS_INIT
 	bool
 	default n
-	depends on BOARD_MSI_MS9652_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_01000096.h"
-	depends on BOARD_MSI_MS9652_FAM10
 
 config ID_SECTION_OFFSET
 	hex
 	default 0x80
-	depends on BOARD_MSI_MS9652_FAM10
 
 config HT3_SUPPORT
 	bool
 	default y
-	depends on BOARD_MSI_MS9652_FAM10
+
+endif # BOARD_MSI_MS9652_FAM10
diff --git a/src/mainboard/nec/Kconfig b/src/mainboard/nec/Kconfig
index 660d2bc..068d4bb 100644
--- a/src/mainboard/nec/Kconfig
+++ b/src/mainboard/nec/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_NEC
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_NEC
 
-source "src/mainboard/nec/powermate2000/Kconfig"
+config BOARD_NEC_POWERMATE_2000
+	bool "PowerMate 2000"
 
 endchoice
 
+source "src/mainboard/nec/powermate2000/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "NEC"
+
+endif # VENDOR_NEC
diff --git a/src/mainboard/nec/powermate2000/Kconfig b/src/mainboard/nec/powermate2000/Kconfig
index cb00e91..d0f29bb 100644
--- a/src/mainboard/nec/powermate2000/Kconfig
+++ b/src/mainboard/nec/powermate2000/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_NEC_POWERMATE_2000
 
-config BOARD_NEC_POWERMATE_2000
-	bool "PowerMate 2000"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I82810
@@ -34,15 +35,13 @@
 config MAINBOARD_DIR
 	string
 	default nec/powermate2000
-	depends on BOARD_NEC_POWERMATE_2000
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PowerMate 2000"
-	depends on BOARD_NEC_POWERMATE_2000
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_NEC_POWERMATE_2000
 
+endif # BOARD_NEC_POWERMATE_2000
diff --git a/src/mainboard/newisys/Kconfig b/src/mainboard/newisys/Kconfig
index 308cced..2870c41 100644
--- a/src/mainboard/newisys/Kconfig
+++ b/src/mainboard/newisys/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_NEWISYS
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_NEWISYS
 
-source "src/mainboard/newisys/khepri/Kconfig"
+config BOARD_NEWISYS_KHEPRI
+	bool "Khephri - 2100 Server (SUN Fire v20z)"
 
 endchoice
 
+source "src/mainboard/newisys/khepri/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Newisys"
+
+endif # VENDOR_NEWISYS
diff --git a/src/mainboard/newisys/khepri/Kconfig b/src/mainboard/newisys/khepri/Kconfig
index 4d480ad..859bb19 100644
--- a/src/mainboard/newisys/khepri/Kconfig
+++ b/src/mainboard/newisys/khepri/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_NEWISYS_KHEPRI
-	bool "Khephri - 2100 Server (SUN Fire v20z)"
+if BOARD_NEWISYS_KHEPRI
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,80 +20,65 @@
 config MAINBOARD_DIR
 	string
 	default newisys/khepri
-	depends on BOARD_NEWISYS_KHEPRI
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_NEWISYS_KHEPRI
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_NEWISYS_KHEPRI
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_NEWISYS_KHEPRI
 
 config K8_REV_F_SUPPORT
 	bool
 	default n
-	depends on BOARD_NEWISYS_KHEPRI
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_NEWISYS_KHEPRI
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Khepri"
-	depends on BOARD_NEWISYS_KHEPRI
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_NEWISYS_KHEPRI
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_NEWISYS_KHEPRI
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_NEWISYS_KHEPRI
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_NEWISYS_KHEPRI
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_NEWISYS_KHEPRI
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_NEWISYS_KHEPRI
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_NEWISYS_KHEPRI
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x17c2
-	depends on BOARD_NEWISYS_KHEPRI
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x10
-	depends on BOARD_NEWISYS_KHEPRI
 
+endif # BOARD_NEWISYS_KHEPRI
diff --git a/src/mainboard/nokia/Kconfig b/src/mainboard/nokia/Kconfig
index 438939a..1f3a565 100644
--- a/src/mainboard/nokia/Kconfig
+++ b/src/mainboard/nokia/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_NOKIA
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_NOKIA
 
-source "src/mainboard/nokia/ip530/Kconfig"
+config BOARD_NOKIA_IP530
+	bool "IP530"
 
 endchoice
 
+source "src/mainboard/nokia/ip530/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Nokia"
+
+endif # VENDOR_NOKIA
diff --git a/src/mainboard/nokia/ip530/Kconfig b/src/mainboard/nokia/ip530/Kconfig
index 9a5982b..be09194 100644
--- a/src/mainboard/nokia/ip530/Kconfig
+++ b/src/mainboard/nokia/ip530/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_NOKIA_IP530
 
-config BOARD_NOKIA_IP530
-	bool "IP530"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_PGA370
 	select NORTHBRIDGE_INTEL_I440BX
@@ -35,61 +36,51 @@
 config MAINBOARD_DIR
 	string
 	default nokia/ip530
-	depends on BOARD_NOKIA_IP530
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "IP530"
-	depends on BOARD_NOKIA_IP530
 
 config IRQ_SLOT_COUNT
 	int
 	default 22
-	depends on BOARD_NOKIA_IP530
 
 ## Configuration items for the ethernet adaptors
 config DEC21143_CACHE_LINE_SIZE
 	hex
 	default 0x00000000
-	depends on BOARD_NOKIA_IP530
 
 config DEC21143_EXPANSION_ROM_BASE_ADDRESS
 	hex
 	default 0x00000000
-	depends on BOARD_NOKIA_IP530
 
 config DEC21143_COMMAND_AND_STATUS_CONFIGURATION
 	hex
 	default 0x02800107
-	depends on BOARD_NOKIA_IP530
 
 ## Configuration for the PCMCIA-Cardbus controller.
 config TI_PCMCIA_CARDBUS_CMDR
 	hex
 	default 0x0107
-	depends on BOARD_NOKIA_IP530
 
 config TI_PCMCIA_CARDBUS_CLSR
 	hex
 	default 0x00
-	depends on BOARD_NOKIA_IP530
 
 config TI_PCMCIA_CARDBUS_CLTR
 	hex
 	default 0x40
-	depends on BOARD_NOKIA_IP530
 
 config TI_PCMCIA_CARDBUS_BCR
 	hex
 	default 0x07C0
-	depends on BOARD_NOKIA_IP530
 
 config TI_PCMCIA_CARDBUS_SCR
 	hex
 	default 0x08449060
-	depends on BOARD_NOKIA_IP530
 
 config TI_PCMCIA_CARDBUS_MRR
 	hex
 	default 0x00007522
-	depends on BOARD_NOKIA_IP530
+
+endif # BOARD_NOKIA_IP530
diff --git a/src/mainboard/nvidia/Kconfig b/src/mainboard/nvidia/Kconfig
index ac3b92f..d755719 100644
--- a/src/mainboard/nvidia/Kconfig
+++ b/src/mainboard/nvidia/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_NVIDIA
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_NVIDIA
 
-source "src/mainboard/nvidia/l1_2pvv/Kconfig"
+config BOARD_NVIDIA_L1_2PVV
+	bool "l1_2pvv"
 
 endchoice
 
+source "src/mainboard/nvidia/l1_2pvv/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "NVIDIA"
+
+endif # VENDOR_NVIDIA
diff --git a/src/mainboard/nvidia/l1_2pvv/Kconfig b/src/mainboard/nvidia/l1_2pvv/Kconfig
index d6a5c12..062d27a 100644
--- a/src/mainboard/nvidia/l1_2pvv/Kconfig
+++ b/src/mainboard/nvidia/l1_2pvv/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_NVIDIA_L1_2PVV
-	bool "l1_2pvv"
+if BOARD_NVIDIA_L1_2PVV
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,94 +21,77 @@
 config MAINBOARD_DIR
 	string
 	default nvidia/l1_2pvv
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config MEM_TRAIN_SEQ
 	int
 	default 1
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "l1_2pvv"
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config PCI_64BIT_PREF_MEM
 	bool
-        default n
-	depends on BOARD_NVIDIA_L1_2PVV
+	default n
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2b80
-	depends on BOARD_NVIDIA_L1_2PVV
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_NVIDIA_L1_2PVV
+
+endif # BOARD_NVIDIA_L1_2PVV
diff --git a/src/mainboard/olpc/Kconfig b/src/mainboard/olpc/Kconfig
index a74f393..c297f32 100644
--- a/src/mainboard/olpc/Kconfig
+++ b/src/mainboard/olpc/Kconfig
@@ -1,9 +1,20 @@
+if VENDOR_OLPC
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_OLPC
 
-source "src/mainboard/olpc/rev_a/Kconfig"
-source "src/mainboard/olpc/btest/Kconfig"
+config BOARD_OLPC_BTEST
+	bool "btest"
+config BOARD_OLPC_REV_A
+	bool "rev_a"
 
 endchoice
 
+source "src/mainboard/olpc/btest/Kconfig"
+source "src/mainboard/olpc/rev_a/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "OLPC"
+
+endif # VENDOR_OLPC
diff --git a/src/mainboard/olpc/btest/Kconfig b/src/mainboard/olpc/btest/Kconfig
index 520d609..009b9be 100644
--- a/src/mainboard/olpc/btest/Kconfig
+++ b/src/mainboard/olpc/btest/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_OLPC_BTEST
-	bool "btest"
+if BOARD_OLPC_BTEST
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX2
 	select NORTHBRIDGE_AMD_GX2
@@ -12,14 +14,13 @@
 config MAINBOARD_DIR
 	string
 	default olpc/btest
-	depends on BOARD_OLPC_BTEST
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "btest"
-	depends on BOARD_OLPC_BTEST
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_OLPC_BTEST
+
+endif # BOARD_OLPC_BTEST
diff --git a/src/mainboard/olpc/rev_a/Kconfig b/src/mainboard/olpc/rev_a/Kconfig
index c2b3911..bae2692 100644
--- a/src/mainboard/olpc/rev_a/Kconfig
+++ b/src/mainboard/olpc/rev_a/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_OLPC_REV_A
-	bool "rev_a"
+if BOARD_OLPC_REV_A
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX2
 	select NORTHBRIDGE_AMD_GX2
@@ -12,14 +14,13 @@
 config MAINBOARD_DIR
 	string
 	default olpc/rev_a
-	depends on BOARD_OLPC_REV_A
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "rev_a"
-	depends on BOARD_OLPC_REV_A
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_OLPC_REV_A
+
+endif # BOARD_OLPC_REV_A
diff --git a/src/mainboard/pcengines/Kconfig b/src/mainboard/pcengines/Kconfig
index db6426d..bdcd869 100644
--- a/src/mainboard/pcengines/Kconfig
+++ b/src/mainboard/pcengines/Kconfig
@@ -1,9 +1,20 @@
+if VENDOR_PC_ENGINES
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_PC_ENGINES
+
+config BOARD_PCENGINES_ALIX1C
+	bool "ALIX.1C"
+config BOARD_PCENGINES_ALIX2D3
+	bool "ALIX.2D3"
+
+endchoice
 
 source "src/mainboard/pcengines/alix1c/Kconfig"
 source "src/mainboard/pcengines/alix2d3/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "PC Engines"
 
+endif # VENDOR_PC_ENGINES
diff --git a/src/mainboard/pcengines/alix1c/Kconfig b/src/mainboard/pcengines/alix1c/Kconfig
index 0b815d8..ef1f074 100644
--- a/src/mainboard/pcengines/alix1c/Kconfig
+++ b/src/mainboard/pcengines/alix1c/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_PCENGINES_ALIX1C
-	bool "ALIX.1C"
+if BOARD_PCENGINES_ALIX1C
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -14,19 +16,17 @@
 config MAINBOARD_DIR
 	string
 	default pcengines/alix1c
-	depends on BOARD_PCENGINES_ALIX1C
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "ALIX.1C"
-	depends on BOARD_PCENGINES_ALIX1C
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_PCENGINES_ALIX1C
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_PCENGINES_ALIX1C
+
+endif # BOARD_PCENGINES_ALIX1C
diff --git a/src/mainboard/pcengines/alix2d3/Kconfig b/src/mainboard/pcengines/alix2d3/Kconfig
index ab6bcda..53afe99 100644
--- a/src/mainboard/pcengines/alix2d3/Kconfig
+++ b/src/mainboard/pcengines/alix2d3/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_PCENGINES_ALIX2D3
-	bool "ALIX.2D3"
+if BOARD_PCENGINES_ALIX2D3
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -13,19 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default pcengines/alix2d3
-	depends on BOARD_PCENGINES_ALIX2D3
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "ALIX.2D3"
-	depends on BOARD_PCENGINES_ALIX2D3
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_PCENGINES_ALIX2D3
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_PCENGINES_ALIX2D3
+
+endif # BOARD_PCENGINES_ALIX2D3
diff --git a/src/mainboard/rca/Kconfig b/src/mainboard/rca/Kconfig
index bd272be..c5c9fa6 100644
--- a/src/mainboard/rca/Kconfig
+++ b/src/mainboard/rca/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_RCA
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_RCA
 
-source "src/mainboard/rca/rm4100/Kconfig"
+config BOARD_RCA_RM4100
+	bool "RM4100"
 
 endchoice
 
+source "src/mainboard/rca/rm4100/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "RCA"
+
+endif # VENDOR_RCA
diff --git a/src/mainboard/rca/rm4100/Kconfig b/src/mainboard/rca/rm4100/Kconfig
index c0d13c9..4ec025b 100644
--- a/src/mainboard/rca/rm4100/Kconfig
+++ b/src/mainboard/rca/rm4100/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_RCA_RM4100
-	bool "RM4100"
+if BOARD_RCA_RM4100
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MFCBGA479
 	select NORTHBRIDGE_INTEL_I82830
@@ -18,25 +20,21 @@
 config MAINBOARD_DIR
 	string
 	default rca/rm4100
-	depends on BOARD_RCA_RM4100
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "RM4100"
-	depends on BOARD_RCA_RM4100
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_RCA_RM4100
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_RCA_RM4100
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_RCA_RM4100
 
+endif # BOARD_RCA_RM4100
diff --git a/src/mainboard/roda/Kconfig b/src/mainboard/roda/Kconfig
index c2adb8c..d2f1e95 100644
--- a/src/mainboard/roda/Kconfig
+++ b/src/mainboard/roda/Kconfig
@@ -1,7 +1,21 @@
+if VENDOR_RODA
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_RODA
+
+config BOARD_RODA_RK886EX
+	bool "RK886EX"
+
+endchoice
 
 source "src/mainboard/roda/rk886ex/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Roda"
+
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x4352
+
+endif # VENDOR_RODA
diff --git a/src/mainboard/roda/rk886ex/Kconfig b/src/mainboard/roda/rk886ex/Kconfig
index a4ac792..29ae5d0 100644
--- a/src/mainboard/roda/rk886ex/Kconfig
+++ b/src/mainboard/roda/rk886ex/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_RODA_RK886EX
-	bool "RK886EX"
+if BOARD_RODA_RK886EX
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_CORE
 	select CPU_INTEL_SOCKET_MFCPGA478
@@ -21,45 +23,37 @@
 config MAINBOARD_DIR
 	string
 	default roda/rk886ex
-	depends on BOARD_RODA_RK886EX
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_RODA_RK886EX
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_RODA_RK886EX
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "RK886EX"
-	depends on BOARD_RODA_RK886EX
 
 config MMCONF_BASE_ADDRESS
 	hex
 	default 0xf0000000
-	depends on BOARD_RODA_RK886EX
 
 config IRQ_SLOT_COUNT
 	int
 	default 18
-	depends on BOARD_RODA_RK886EX
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_RODA_RK886EX
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_RODA_RK886EX
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x6886
-	depends on BOARD_RODA_RK886EX
 
+endif # BOARD_RODA_RK886EX
diff --git a/src/mainboard/soyo/Kconfig b/src/mainboard/soyo/Kconfig
index 6217921..df797f4 100644
--- a/src/mainboard/soyo/Kconfig
+++ b/src/mainboard/soyo/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_SOYO
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_SOYO
 
-source "src/mainboard/soyo/sy-6ba-plus-iii/Kconfig"
+config BOARD_SOYO_SY_6BA_PLUS_III
+	bool "SY-6BA+ III"
 
 endchoice
 
+source "src/mainboard/soyo/sy-6ba-plus-iii/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Soyo"
+
+endif # VENDOR_SOYO
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig b/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig
index a0a3de1..bff1bdb 100644
--- a/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_SOYO_SY_6BA_PLUS_III
 
-config BOARD_SOYO_SY_6BA_PLUS_III
-	bool "SY-6BA+ III"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -32,15 +33,13 @@
 config MAINBOARD_DIR
 	string
 	default soyo/sy-6ba-plus-iii
-	depends on BOARD_SOYO_SY_6BA_PLUS_III
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "SY-6BA+ III"
-	depends on BOARD_SOYO_SY_6BA_PLUS_III
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_SOYO_SY_6BA_PLUS_III
 
+endif # BOARD_SOYO_SY_6BA_PLUS_III
diff --git a/src/mainboard/sunw/Kconfig b/src/mainboard/sunw/Kconfig
index 8a42be7..0ee7f2e 100644
--- a/src/mainboard/sunw/Kconfig
+++ b/src/mainboard/sunw/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_SUNW
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_SUNW
 
-source "src/mainboard/sunw/ultra40/Kconfig"
+config BOARD_SUNW_ULTRA40
+	bool "Ultra 40"
 
 endchoice
 
+source "src/mainboard/sunw/ultra40/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Sun"
+
+endif # VENDOR_SUNW
diff --git a/src/mainboard/sunw/ultra40/Kconfig b/src/mainboard/sunw/ultra40/Kconfig
index 937a8c8..d806174 100644
--- a/src/mainboard/sunw/ultra40/Kconfig
+++ b/src/mainboard/sunw/ultra40/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUNW_ULTRA40
-	bool "Ultra 40"
+if BOARD_SUNW_ULTRA40
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -17,80 +19,65 @@
 config MAINBOARD_DIR
 	string
 	default sunw/ultra40
-	depends on BOARD_SUNW_ULTRA40
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_SUNW_ULTRA40
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_SUNW_ULTRA40
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_SUNW_ULTRA40
 
 config K8_REV_F_SUPPORT
 	bool
 	default n
-	depends on BOARD_SUNW_ULTRA40
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUNW_ULTRA40
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Ultra 40"
-	depends on BOARD_SUNW_ULTRA40
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_SUNW_ULTRA40
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUNW_ULTRA40
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_SUNW_ULTRA40
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_SUNW_ULTRA40
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_SUNW_ULTRA40
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUNW_ULTRA40
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_SUNW_ULTRA40
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x108e
-	depends on BOARD_SUNW_ULTRA40
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x40
-	depends on BOARD_SUNW_ULTRA40
 
+endif # BOARD_SUNW_ULTRA40
diff --git a/src/mainboard/supermicro/Kconfig b/src/mainboard/supermicro/Kconfig
index 1948784..5ac7dda 100644
--- a/src/mainboard/supermicro/Kconfig
+++ b/src/mainboard/supermicro/Kconfig
@@ -1,16 +1,45 @@
+if VENDOR_SUPERMICRO
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_SUPERMICRO
+
+config BOARD_SUPERMICRO_H8DME
+	bool "H8DME-2"
+config BOARD_SUPERMICRO_H8DMR
+	bool "H8DMR-i2"
+config BOARD_SUPERMICRO_H8DMR_FAM10
+	bool "H8DMR-i2 (Fam10)"
+config BOARD_SUPERMICRO_H8QME_FAM10
+	bool "H8QME-2+ (Fam10)"
+config BOARD_SUPERMICRO_X6DAI_G
+	bool "X6DAi-G"
+config BOARD_SUPERMICRO_X6DHE_G2
+	bool "X6DHE-G2"
+config BOARD_SUPERMICRO_X6DHE_G
+	bool "X6DHE-G"
+config BOARD_SUPERMICRO_X6DHR_IG2
+	bool "X6DHR-iG2"
+config BOARD_SUPERMICRO_X6DHR_IG
+	bool "X6DHR-iG"
+
+endchoice
 
 source "src/mainboard/supermicro/h8dme/Kconfig"
 source "src/mainboard/supermicro/h8dmr/Kconfig"
 source "src/mainboard/supermicro/h8dmr_fam10/Kconfig"
 source "src/mainboard/supermicro/h8qme_fam10/Kconfig"
 source "src/mainboard/supermicro/x6dai_g/Kconfig"
-source "src/mainboard/supermicro/x6dhe_g/Kconfig"
 source "src/mainboard/supermicro/x6dhe_g2/Kconfig"
-source "src/mainboard/supermicro/x6dhr_ig/Kconfig"
+source "src/mainboard/supermicro/x6dhe_g/Kconfig"
 source "src/mainboard/supermicro/x6dhr_ig2/Kconfig"
+source "src/mainboard/supermicro/x6dhr_ig/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Supermicro"
 
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x15d9
+
+endif # VENDOR_SUPERMICRO
diff --git a/src/mainboard/supermicro/h8dme/Kconfig b/src/mainboard/supermicro/h8dme/Kconfig
index 9b87022..afe96bf 100644
--- a/src/mainboard/supermicro/h8dme/Kconfig
+++ b/src/mainboard/supermicro/h8dme/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_H8DME
-	bool "H8DME-2"
+if BOARD_SUPERMICRO_H8DME
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,85 +21,69 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/h8dme
-	depends on BOARD_SUPERMICRO_H8DME
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_SUPERMICRO_H8DME
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_SUPERMICRO_H8DME
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_SUPERMICRO_H8DME
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_SUPERMICRO_H8DME
 
 config MEM_TRAIN_SEQ
 	int
 	default 1
-	depends on BOARD_SUPERMICRO_H8DME
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DME
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "H8DME-2"
-	depends on BOARD_SUPERMICRO_H8DME
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_SUPERMICRO_H8DME
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_H8DME
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DME
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_SUPERMICRO_H8DME
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_SUPERMICRO_H8DME
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DME
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_SUPERMICRO_H8DME
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_H8DME
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x1511
-	depends on BOARD_SUPERMICRO_H8DME
 
+endif # BOARD_SUPERMICRO_H8DME
diff --git a/src/mainboard/supermicro/h8dmr/Kconfig b/src/mainboard/supermicro/h8dmr/Kconfig
index 810d2a6..da72aff 100644
--- a/src/mainboard/supermicro/h8dmr/Kconfig
+++ b/src/mainboard/supermicro/h8dmr/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_H8DMR
-	bool "H8DMR-i2"
+if BOARD_SUPERMICRO_H8DMR
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,85 +20,69 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/h8dmr
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config MEM_TRAIN_SEQ
 	int
 	default 1
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "H8DMR-i2"
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_H8DMR
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x1511
-	depends on BOARD_SUPERMICRO_H8DMR
 
+endif # BOARD_SUPERMICRO_H8DMR
diff --git a/src/mainboard/supermicro/h8dmr_fam10/Kconfig b/src/mainboard/supermicro/h8dmr_fam10/Kconfig
index b6d6651..5f3930b 100644
--- a/src/mainboard/supermicro/h8dmr_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8dmr_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_H8DMR_FAM10
-	bool "H8DMR-i2 (Fam10)"
+if BOARD_SUPERMICRO_H8DMR_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F_1207
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -20,104 +22,85 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/h8dmr_fam10
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc4000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x0c000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config RAMTOP
 	hex
 	default 0x1000000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "H8DMR-i2 (Fam10)"
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_0100009f.h"
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x1511
-	depends on BOARD_SUPERMICRO_H8DMR_FAM10
+
+endif # BOARD_SUPERMICRO_H8DMR_FAM10
diff --git a/src/mainboard/supermicro/h8qme_fam10/Kconfig b/src/mainboard/supermicro/h8qme_fam10/Kconfig
index 4f8499c..576116c 100644
--- a/src/mainboard/supermicro/h8qme_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8qme_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_H8QME_FAM10
-	bool "H8QME-2+ (Fam10)"
+if BOARD_SUPERMICRO_H8QME_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F_1207
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -21,109 +23,89 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/h8qme_fam10
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc4000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x0c000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config RAMTOP
 	hex
 	default 0x1000000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0xff000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "H8QME-2+ (Fam10)"
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config MAX_CPUS
 	int
 	default 16
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_0100009f.h"
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config SERIAL_CPU_INIT
 	bool
 	default y
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x1511
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
 
 config STACK_SIZE
 	hex
 	default 0x10000
-	depends on BOARD_SUPERMICRO_H8QME_FAM10
+
+endif # BOARD_SUPERMICRO_H8QME_FAM10
diff --git a/src/mainboard/supermicro/x6dai_g/Kconfig b/src/mainboard/supermicro/x6dai_g/Kconfig
index 66cc17d..8b1cf5a 100644
--- a/src/mainboard/supermicro/x6dai_g/Kconfig
+++ b/src/mainboard/supermicro/x6dai_g/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_X6DAI_G
-	bool "X6DAi-G"
+if BOARD_SUPERMICRO_X6DAI_G
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7525
@@ -16,29 +18,25 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/x6dai_g
-	depends on BOARD_SUPERMICRO_X6DAI_G
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "X6DAi-G"
-	depends on BOARD_SUPERMICRO_X6DAI_G
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_X6DAI_G
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x6780
-	depends on BOARD_SUPERMICRO_X6DAI_G
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_X6DAI_G
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_SUPERMICRO_X6DAI_G
+
+endif # BOARD_SUPERMICRO_X6DAI_G
diff --git a/src/mainboard/supermicro/x6dhe_g/Kconfig b/src/mainboard/supermicro/x6dhe_g/Kconfig
index e437283..8771d9e 100644
--- a/src/mainboard/supermicro/x6dhe_g/Kconfig
+++ b/src/mainboard/supermicro/x6dhe_g/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_X6DHE_G
-	bool "X6DHE-G"
+if BOARD_SUPERMICRO_X6DHE_G
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7520
@@ -18,30 +20,25 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/x6dhe_g
-	depends on BOARD_SUPERMICRO_X6DHE_G
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "X6DHE-G"
-	depends on BOARD_SUPERMICRO_X6DHE_G
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_X6DHE_G
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x6080
-	depends on BOARD_SUPERMICRO_X6DHE_G
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_X6DHE_G
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_SUPERMICRO_X6DHE_G
 
+endif # BOARD_SUPERMICRO_X6DHE_G
diff --git a/src/mainboard/supermicro/x6dhe_g2/Kconfig b/src/mainboard/supermicro/x6dhe_g2/Kconfig
index b2ff1d1..96549d6 100644
--- a/src/mainboard/supermicro/x6dhe_g2/Kconfig
+++ b/src/mainboard/supermicro/x6dhe_g2/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_X6DHE_G2
-	bool "X6DHE-G2"
+if BOARD_SUPERMICRO_X6DHE_G2
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7520
@@ -19,30 +21,25 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/x6dhe_g2
-	depends on BOARD_SUPERMICRO_X6DHE_G2
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "X6DHE-G2"
-	depends on BOARD_SUPERMICRO_X6DHE_G2
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_X6DHE_G2
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x6080
-	depends on BOARD_SUPERMICRO_X6DHE_G2
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_X6DHE_G2
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_SUPERMICRO_X6DHE_G2
 
+endif # BOARD_SUPERMICRO_X6DHE_G2
diff --git a/src/mainboard/supermicro/x6dhr_ig/Kconfig b/src/mainboard/supermicro/x6dhr_ig/Kconfig
index b650a8d..d1163d7 100644
--- a/src/mainboard/supermicro/x6dhr_ig/Kconfig
+++ b/src/mainboard/supermicro/x6dhr_ig/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_X6DHR_IG
-	bool "X6DHR-iG"
+if BOARD_SUPERMICRO_X6DHR_IG
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7520
@@ -18,29 +20,25 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/x6dhr_ig
-	depends on BOARD_SUPERMICRO_X6DHR_IG
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "X6DHR-iG"
-	depends on BOARD_SUPERMICRO_X6DHR_IG
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_X6DHR_IG
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x5580
-	depends on BOARD_SUPERMICRO_X6DHR_IG
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_X6DHR_IG
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_SUPERMICRO_X6DHR_IG
+
+endif # BOARD_SUPERMICRO_X6DHR_IG
diff --git a/src/mainboard/supermicro/x6dhr_ig2/Kconfig b/src/mainboard/supermicro/x6dhr_ig2/Kconfig
index c1a335b..494b0ed 100644
--- a/src/mainboard/supermicro/x6dhr_ig2/Kconfig
+++ b/src/mainboard/supermicro/x6dhr_ig2/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_SUPERMICRO_X6DHR_IG2
-	bool "X6DHR-iG2"
+if BOARD_SUPERMICRO_X6DHR_IG2
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7520
@@ -18,29 +20,25 @@
 config MAINBOARD_DIR
 	string
 	default supermicro/x6dhr_ig2
-	depends on BOARD_SUPERMICRO_X6DHR_IG2
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "X6DHR-iG2"
-	depends on BOARD_SUPERMICRO_X6DHR_IG2
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x15d9
-	depends on BOARD_SUPERMICRO_X6DHR_IG2
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x5580
-	depends on BOARD_SUPERMICRO_X6DHR_IG2
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_SUPERMICRO_X6DHR_IG2
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_SUPERMICRO_X6DHR_IG2
+
+endif # BOARD_SUPERMICRO_X6DHR_IG2
diff --git a/src/mainboard/technexion/Kconfig b/src/mainboard/technexion/Kconfig
index da13c34..c85266f 100644
--- a/src/mainboard/technexion/Kconfig
+++ b/src/mainboard/technexion/Kconfig
@@ -1,9 +1,20 @@
+if VENDOR_TECHNEXION
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_TECHNEXION
 
-source "src/mainboard/technexion/tim8690/Kconfig"
-source "src/mainboard/technexion/tim5690/Kconfig"
+config BOARD_TECHNEXION_TIM5690
+	bool "TIM-5690"
+config BOARD_TECHNEXION_TIM8690
+	bool "TIM-8690"
 
 endchoice
 
+source "src/mainboard/technexion/tim5690/Kconfig"
+source "src/mainboard/technexion/tim8690/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Technexion"
+
+endif # VENDOR_TECHNEXION
diff --git a/src/mainboard/technexion/tim5690/Kconfig b/src/mainboard/technexion/tim5690/Kconfig
index 03dc666..56dc7c8 100644
--- a/src/mainboard/technexion/tim5690/Kconfig
+++ b/src/mainboard/technexion/tim5690/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TECHNEXION_TIM5690
-	bool "TIM-5690"
+if BOARD_TECHNEXION_TIM5690
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_S1G1
 	select NORTHBRIDGE_AMD_AMDK8
@@ -23,90 +25,73 @@
 config MAINBOARD_DIR
 	string
 	default technexion/tim5690
-	depends on BOARD_TECHNEXION_TIM5690
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_TECHNEXION_TIM5690
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_TECHNEXION_TIM5690
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_TECHNEXION_TIM5690
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TECHNEXION_TIM5690
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "TIM-5690"
-	depends on BOARD_TECHNEXION_TIM5690
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TECHNEXION_TIM5690
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_TECHNEXION_TIM5690
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_TECHNEXION_TIM5690
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TECHNEXION_TIM5690
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_TECHNEXION_TIM5690
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TECHNEXION_TIM5690
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_TECHNEXION_TIM5690
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TECHNEXION_TIM5690
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_TECHNEXION_TIM5690
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3050
-	depends on BOARD_TECHNEXION_TIM5690
 
 config STACK_SIZE
 	hex
 	default 0x2000
-	depends on BOARD_TECHNEXION_TIM5690
 
 config HEAP_SIZE
 	hex
 	default 0x4000
-	depends on BOARD_TECHNEXION_TIM5690
 
+endif # BOARD_TECHNEXION_TIM5690
diff --git a/src/mainboard/technexion/tim8690/Kconfig b/src/mainboard/technexion/tim8690/Kconfig
index 85d3f5b..9a52459 100644
--- a/src/mainboard/technexion/tim8690/Kconfig
+++ b/src/mainboard/technexion/tim8690/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TECHNEXION_TIM8690
-	bool "TIM-8690"
+if BOARD_TECHNEXION_TIM8690
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_S1G1
 	select NORTHBRIDGE_AMD_AMDK8
@@ -22,79 +24,65 @@
 config MAINBOARD_DIR
 	string
 	default technexion/tim8690
-	depends on BOARD_TECHNEXION_TIM8690
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_TECHNEXION_TIM8690
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_TECHNEXION_TIM8690
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_TECHNEXION_TIM8690
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TECHNEXION_TIM8690
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "TIM-8690"
-	depends on BOARD_TECHNEXION_TIM8690
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TECHNEXION_TIM8690
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_TECHNEXION_TIM8690
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_TECHNEXION_TIM8690
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TECHNEXION_TIM8690
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 1
-	depends on BOARD_TECHNEXION_TIM8690
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TECHNEXION_TIM8690
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_TECHNEXION_TIM8690
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TECHNEXION_TIM8690
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1022
-	depends on BOARD_TECHNEXION_TIM8690
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x3050
-	depends on BOARD_TECHNEXION_TIM8690
+
+endif # BOARD_TECHNEXION_TIM8690
diff --git a/src/mainboard/technologic/Kconfig b/src/mainboard/technologic/Kconfig
index 5756361..792dc5e 100644
--- a/src/mainboard/technologic/Kconfig
+++ b/src/mainboard/technologic/Kconfig
@@ -1,8 +1,17 @@
+if VENDOR_TECHNOLOGIC
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_TECHNOLOGIC
 
-source "src/mainboard/technologic/ts5300/Kconfig"
+config BOARD_TECHNOLOGIC_TS5300
+	bool "TS-5300"
 
 endchoice
 
+source "src/mainboard/technologic/ts5300/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Technologic"
+
+endif # VENDOR_TECHNOLOGIC
diff --git a/src/mainboard/technologic/ts5300/Kconfig b/src/mainboard/technologic/ts5300/Kconfig
index 442e7e5..49fbead 100644
--- a/src/mainboard/technologic/ts5300/Kconfig
+++ b/src/mainboard/technologic/ts5300/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TECHNOLOGIC_TS5300
-	bool "TS-5300"
+if BOARD_TECHNOLOGIC_TS5300
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SC520
 	select ROMCC
@@ -10,14 +12,13 @@
 config MAINBOARD_DIR
 	string
 	default technologic/ts5300
-	depends on BOARD_TECHNOLOGIC_TS5300
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "TS-5300"
-	depends on BOARD_TECHNOLOGIC_TS5300
 
 config IRQ_SLOT_COUNT
 	int
 	default 2
-	depends on BOARD_TECHNOLOGIC_TS5300
+
+endif # BOARD_TECHNOLOGIC_TS5300
diff --git a/src/mainboard/televideo/Kconfig b/src/mainboard/televideo/Kconfig
index 4ee3601..4d798aa 100644
--- a/src/mainboard/televideo/Kconfig
+++ b/src/mainboard/televideo/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_TELEVIDEO
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_TELEVIDEO
 
-source "src/mainboard/televideo/tc7020/Kconfig"
+config BOARD_TELEVIDEO_TC7020
+	bool "TC7020"
 
 endchoice
 
+source "src/mainboard/televideo/tc7020/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "TeleVideo"
+
+endif # VENDOR_TELEVIDEO
diff --git a/src/mainboard/televideo/tc7020/Kconfig b/src/mainboard/televideo/tc7020/Kconfig
index 13d82cd..b3233d9 100644
--- a/src/mainboard/televideo/tc7020/Kconfig
+++ b/src/mainboard/televideo/tc7020/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_TELEVIDEO_TC7020
 
-config BOARD_TELEVIDEO_TC7020
-	bool "TC7020"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX1
 	select NORTHBRIDGE_AMD_GX1
@@ -33,15 +34,13 @@
 config MAINBOARD_DIR
 	string
 	default televideo/tc7020
-	depends on BOARD_TELEVIDEO_TC7020
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "TC7020"
-	depends on BOARD_TELEVIDEO_TC7020
 
 config IRQ_SLOT_COUNT
 	int
 	default 3
-	depends on BOARD_TELEVIDEO_TC7020
 
+endif # BOARD_TELEVIDEO_TC7020
diff --git a/src/mainboard/thomson/Kconfig b/src/mainboard/thomson/Kconfig
index eb2caa0..c1ba64f 100644
--- a/src/mainboard/thomson/Kconfig
+++ b/src/mainboard/thomson/Kconfig
@@ -1,20 +1,17 @@
+if VENDOR_THOMSON
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_THOMSON
+
+config BOARD_THOMSON_IP1000
+	bool "IP1000"
+
+endchoice
 
 source "src/mainboard/thomson/ip1000/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Thomson"
 
-choice
-	prompt "IP1000 Onboard Memory"
-	default ONBOARD_MEMORY_64MB
-	depends on BOARD_THOMSON_IP1000
-
-config ONBOARD_MEMORY_64MB
-	bool "IP1000-64MB"
-config ONBOARD_MEMORY_128MB
-	bool "IP1000T-128MB"
-
-endchoice
-
+endif # VENDOR_THOMSON
diff --git a/src/mainboard/thomson/ip1000/Kconfig b/src/mainboard/thomson/ip1000/Kconfig
index 74f2214..907ab96 100644
--- a/src/mainboard/thomson/ip1000/Kconfig
+++ b/src/mainboard/thomson/ip1000/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_THOMSON_IP1000
-	bool "IP1000"
+if BOARD_THOMSON_IP1000
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MFCBGA479
 	select NORTHBRIDGE_INTEL_I82830
@@ -18,24 +20,32 @@
 config MAINBOARD_DIR
 	string
 	default thomson/ip1000
-	depends on BOARD_THOMSON_IP1000
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "IP1000"
-	depends on BOARD_THOMSON_IP1000
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xffdf8000
-	depends on BOARD_THOMSON_IP1000
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x8000
-	depends on BOARD_THOMSON_IP1000
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_THOMSON_IP1000
+
+choice
+	prompt "IP1000 Onboard Memory"
+	default ONBOARD_MEMORY_64MB
+
+config ONBOARD_MEMORY_64MB
+	bool "IP1000-64MB"
+config ONBOARD_MEMORY_128MB
+	bool "IP1000T-128MB"
+
+endchoice
+
+endif # BOARD_THOMSON_IP1000
diff --git a/src/mainboard/traverse/Kconfig b/src/mainboard/traverse/Kconfig
index 692af42..bb755358 100644
--- a/src/mainboard/traverse/Kconfig
+++ b/src/mainboard/traverse/Kconfig
@@ -1,7 +1,17 @@
+if VENDOR_TRAVERSE
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_TRAVERSE
+
+config BOARD_TRAVERSE_GEOS
+	bool "Geos"
+
+endchoice
 
 source "src/mainboard/traverse/geos/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Traverse Technologies"
+
+endif # VENDOR_TRAVERSE
diff --git a/src/mainboard/traverse/geos/Kconfig b/src/mainboard/traverse/geos/Kconfig
index c04ba03..c1d23e4 100644
--- a/src/mainboard/traverse/geos/Kconfig
+++ b/src/mainboard/traverse/geos/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TRAVERSE_GEOS
-	bool "Geos"
+if BOARD_TRAVERSE_GEOS
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -13,19 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default traverse/geos
-	depends on BOARD_TRAVERSE_GEOS
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "Geos"
-	depends on BOARD_TRAVERSE_GEOS
 
 config IRQ_SLOT_COUNT
 	int
 	default 6
-	depends on BOARD_TRAVERSE_GEOS
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_TRAVERSE_GEOS
+
+endif # BOARD_TRAVERSE_GEOS
diff --git a/src/mainboard/tyan/Kconfig b/src/mainboard/tyan/Kconfig
index 77998f1..6af48a2 100644
--- a/src/mainboard/tyan/Kconfig
+++ b/src/mainboard/tyan/Kconfig
@@ -16,10 +16,43 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_TYAN
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_TYAN
+
+config BOARD_TYAN_S1846
+	bool "S1846 (Tsunami ATX)"
+config BOARD_TYAN_S2735
+	bool "S2735 (Tiger i7501R)"
+config BOARD_TYAN_S2850
+	bool "S2850 (Tomcat K8S)"
+config BOARD_TYAN_S2875
+	bool "S2875 (Tiger K8W)"
+config BOARD_TYAN_S2880
+	bool "S2880 (Thunder K8S)"
+config BOARD_TYAN_S2881
+	bool "S2881 (Thunder K8SR)"
+config BOARD_TYAN_S2882
+	bool "S2882 (Thunder K8S Pro)"
+config BOARD_TYAN_S2885
+	bool "S2885 (Thunder K8W)"
+config BOARD_TYAN_S2891
+	bool "S2891 (Thunder K8SRE)"
+config BOARD_TYAN_S2892
+	bool "S2892 (Thunder K8SE)"
+config BOARD_TYAN_S2895
+	bool "S2895 (Thunder K8WE)"
+config BOARD_TYAN_S2912
+	bool "S2912 (Thunder n3600R)"
+config BOARD_TYAN_S2912_FAM10
+	bool "S2912 Fam10 (Thunder n3600R)"
+config BOARD_TYAN_S4880
+	bool "S4880 (Thunder K8QS)"
+config BOARD_TYAN_S4882
+	bool "S4882 (Thunder K8QS Pro)"
+
+endchoice
 
 source "src/mainboard/tyan/s1846/Kconfig"
 source "src/mainboard/tyan/s2735/Kconfig"
@@ -37,5 +70,12 @@
 source "src/mainboard/tyan/s4880/Kconfig"
 source "src/mainboard/tyan/s4882/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "Tyan"
 
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x10f1
+
+endif # VENDOR_TYAN
diff --git a/src/mainboard/tyan/s1846/Kconfig b/src/mainboard/tyan/s1846/Kconfig
index 2d50ad3..cd64746 100644
--- a/src/mainboard/tyan/s1846/Kconfig
+++ b/src/mainboard/tyan/s1846/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_TYAN_S1846
 
-config BOARD_TYAN_S1846
-	bool "S1846 (Tsunami ATX)"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SLOT_1
 	select NORTHBRIDGE_INTEL_I440BX
@@ -31,10 +32,9 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s1846
-	depends on BOARD_TYAN_S1846
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S1846"
-	depends on BOARD_TYAN_S1846
 
+endif # BOARD_TYAN_S1846
diff --git a/src/mainboard/tyan/s2735/Kconfig b/src/mainboard/tyan/s2735/Kconfig
index 30fe9eb..10f32a0 100644
--- a/src/mainboard/tyan/s2735/Kconfig
+++ b/src/mainboard/tyan/s2735/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2735
-	bool "S2735 (Tiger i7501R)"
+if BOARD_TYAN_S2735
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_INTEL_SOCKET_MPGA604
 	select NORTHBRIDGE_INTEL_E7501
@@ -19,40 +21,33 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2735
-	depends on BOARD_TYAN_S2735
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_TYAN_S2735
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x1000
-	depends on BOARD_TYAN_S2735
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2735"
-	depends on BOARD_TYAN_S2735
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_TYAN_S2735
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2735
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2735
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2735
-	depends on BOARD_TYAN_S2735
 
+endif # BOARD_TYAN_S2735
diff --git a/src/mainboard/tyan/s2850/Kconfig b/src/mainboard/tyan/s2850/Kconfig
index 788096b..0d56519 100644
--- a/src/mainboard/tyan/s2850/Kconfig
+++ b/src/mainboard/tyan/s2850/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2850
-	bool "S2850 (Tomcat K8S)"
+if BOARD_TYAN_S2850
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -16,55 +18,45 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2850
-	depends on BOARD_TYAN_S2850
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2850"
-	depends on BOARD_TYAN_S2850
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2850
-	depends on BOARD_TYAN_S2850
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2850
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2850
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 1
-	depends on BOARD_TYAN_S2850
 
 config IRQ_SLOT_COUNT
 	int
 	default 12
-	depends on BOARD_TYAN_S2850
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 1
-	depends on BOARD_TYAN_S2850
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2850
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_TYAN_S2850
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TYAN_S2850
 
+endif # BOARD_TYAN_S2850
diff --git a/src/mainboard/tyan/s2875/Kconfig b/src/mainboard/tyan/s2875/Kconfig
index bb8f410..3eaaca5 100644
--- a/src/mainboard/tyan/s2875/Kconfig
+++ b/src/mainboard/tyan/s2875/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2875
-	bool "S2875 (Tiger K8W)"
+if BOARD_TYAN_S2875
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -17,60 +19,49 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2875
-	depends on BOARD_TYAN_S2875
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2875"
-	depends on BOARD_TYAN_S2875
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2875
-	depends on BOARD_TYAN_S2875
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2875
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2875
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2875
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2875
 
 config IRQ_SLOT_COUNT
 	int
 	default 13
-	depends on BOARD_TYAN_S2875
 
 config HT_CHAIN_UNITID_BASE
 	hex
-        default 1
-        depends on BOARD_TYAN_S2875
+	default 1
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
-        default 0x20
-        depends on BOARD_TYAN_S2875
+	default 0x20
 
 config SB_HT_CHAIN_ON_BUS0
-        int
-        default 0
-        depends on BOARD_TYAN_S2875
+	int
+	default 0
 
 config APIC_ID_OFFSET
 	hex
-        default 0x0
-        depends on BOARD_TYAN_S2875
+	default 0x0
 
+endif # BOARD_TYAN_S2875
diff --git a/src/mainboard/tyan/s2880/Kconfig b/src/mainboard/tyan/s2880/Kconfig
index 0e12c21..cc85c5b 100644
--- a/src/mainboard/tyan/s2880/Kconfig
+++ b/src/mainboard/tyan/s2880/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2880
-	bool "S2880 (Thunder K8S)"
+if BOARD_TYAN_S2880
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -17,59 +19,49 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2880
-	depends on BOARD_TYAN_S2880
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TYAN_S2880
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_TYAN_S2880
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2880"
-	depends on BOARD_TYAN_S2880
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2880
-	depends on BOARD_TYAN_S2880
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2880
 
 config MAX_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2880
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2880
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2880
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TYAN_S2880
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2880
 
 config IRQ_SLOT_COUNT
 	int
 	default 13
-	depends on BOARD_TYAN_S2880
+
+endif # BOARD_TYAN_S2880
diff --git a/src/mainboard/tyan/s2881/Kconfig b/src/mainboard/tyan/s2881/Kconfig
index eae991c..d502cd7 100644
--- a/src/mainboard/tyan/s2881/Kconfig
+++ b/src/mainboard/tyan/s2881/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2881
-	bool "S2881 (Thunder K8SR)"
+if BOARD_TYAN_S2881
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,59 +21,49 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2881
-	depends on BOARD_TYAN_S2881
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TYAN_S2881
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2881
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2881"
-	depends on BOARD_TYAN_S2881
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2881
-	depends on BOARD_TYAN_S2881
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2881
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2881
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2881
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2881
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0xa
-	depends on BOARD_TYAN_S2881
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_TYAN_S2881
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_TYAN_S2881
+
+endif # BOARD_TYAN_S2881
diff --git a/src/mainboard/tyan/s2882/Kconfig b/src/mainboard/tyan/s2882/Kconfig
index 1c12f41..52ea2e1 100644
--- a/src/mainboard/tyan/s2882/Kconfig
+++ b/src/mainboard/tyan/s2882/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2882
-	bool "S2882 (Thunder K8S Pro)"
+if BOARD_TYAN_S2882
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,59 +20,49 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2882
-	depends on BOARD_TYAN_S2882
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TYAN_S2882
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_TYAN_S2882
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2882"
-	depends on BOARD_TYAN_S2882
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2882
-	depends on BOARD_TYAN_S2882
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2882
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2882
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2882
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2882
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TYAN_S2882
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2882
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_TYAN_S2882
+
+endif # BOARD_TYAN_S2882
diff --git a/src/mainboard/tyan/s2885/Kconfig b/src/mainboard/tyan/s2885/Kconfig
index 95f0f7f..9509ca6 100644
--- a/src/mainboard/tyan/s2885/Kconfig
+++ b/src/mainboard/tyan/s2885/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2885
-	bool "S2885 (Thunder K8W)"
+if BOARD_TYAN_S2885
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,59 +21,49 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2885
-	depends on BOARD_TYAN_S2885
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_TYAN_S2885
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2885
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2885"
-	depends on BOARD_TYAN_S2885
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2885
-	depends on BOARD_TYAN_S2885
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2885
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2885
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2885
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2885
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0xa
-	depends on BOARD_TYAN_S2885
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x6
-	depends on BOARD_TYAN_S2885
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TYAN_S2885
+
+endif # BOARD_TYAN_S2885
diff --git a/src/mainboard/tyan/s2891/Kconfig b/src/mainboard/tyan/s2891/Kconfig
index ef09eb2..34711b9 100644
--- a/src/mainboard/tyan/s2891/Kconfig
+++ b/src/mainboard/tyan/s2891/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2891
-	bool "S2891 (Thunder K8SRE)"
+if BOARD_TYAN_S2891
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -20,59 +22,49 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2891
-	depends on BOARD_TYAN_S2891
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_TYAN_S2891
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2891
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2891"
-	depends on BOARD_TYAN_S2891
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2891
-	depends on BOARD_TYAN_S2891
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2891
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2891
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2891
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2891
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0
-	depends on BOARD_TYAN_S2891
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2891
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TYAN_S2891
+
+endif # BOARD_TYAN_S2891
diff --git a/src/mainboard/tyan/s2892/Kconfig b/src/mainboard/tyan/s2892/Kconfig
index ddef376..45a8d09 100644
--- a/src/mainboard/tyan/s2892/Kconfig
+++ b/src/mainboard/tyan/s2892/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2892
-	bool "S2892 (Thunder K8SE)"
+if BOARD_TYAN_S2892
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,64 +21,53 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2892
-	depends on BOARD_TYAN_S2892
 
 config APIC_ID_OFFSET
 	hex
 	default 0x0
-	depends on BOARD_TYAN_S2892
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2892
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2892"
-	depends on BOARD_TYAN_S2892
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2892
-	depends on BOARD_TYAN_S2892
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2892
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2892
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2892
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2892
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0
-	depends on BOARD_TYAN_S2892
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2892
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2892
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TYAN_S2892
+
+endif # BOARD_TYAN_S2892
diff --git a/src/mainboard/tyan/s2895/Kconfig b/src/mainboard/tyan/s2895/Kconfig
index 07a5af2..d3d3856 100644
--- a/src/mainboard/tyan/s2895/Kconfig
+++ b/src/mainboard/tyan/s2895/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2895
-	bool "S2895 (Thunder K8WE)"
+if BOARD_TYAN_S2895
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,64 +21,53 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2895
-	depends on BOARD_TYAN_S2895
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_TYAN_S2895
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2895
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2895"
-	depends on BOARD_TYAN_S2895
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2895
-	depends on BOARD_TYAN_S2895
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2895
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2895
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2895
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2895
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0
-	depends on BOARD_TYAN_S2895
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2895
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2895
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TYAN_S2895
+
+endif # BOARD_TYAN_S2895
diff --git a/src/mainboard/tyan/s2912/Kconfig b/src/mainboard/tyan/s2912/Kconfig
index 233f2ae..27fcbb2 100644
--- a/src/mainboard/tyan/s2912/Kconfig
+++ b/src/mainboard/tyan/s2912/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2912
-	bool "S2912 (Thunder n3600R)"
+if BOARD_TYAN_S2912
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F
 	select NORTHBRIDGE_AMD_AMDK8
@@ -19,89 +21,73 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2912
-	depends on BOARD_TYAN_S2912
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc8000
-	depends on BOARD_TYAN_S2912
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x08000
-	depends on BOARD_TYAN_S2912
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_TYAN_S2912
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_TYAN_S2912
 
 config MEM_TRAIN_SEQ
 	int
 	default 1
-	depends on BOARD_TYAN_S2912
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2912
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2912"
-	depends on BOARD_TYAN_S2912
 
 config PCI_64BIT_PREF_MEM
 	bool
-        default n
-	depends on BOARD_TYAN_S2912
+	default n
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2912
 
 config MAX_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S2912
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2912
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2912
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x0
-	depends on BOARD_TYAN_S2912
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2912
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_TYAN_S2912
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2912
-	depends on BOARD_TYAN_S2912
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TYAN_S2912
+
+endif # BOARD_TYAN_S2912
diff --git a/src/mainboard/tyan/s2912_fam10/Kconfig b/src/mainboard/tyan/s2912_fam10/Kconfig
index 564a378..d1a3233 100644
--- a/src/mainboard/tyan/s2912_fam10/Kconfig
+++ b/src/mainboard/tyan/s2912_fam10/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S2912_FAM10
-	bool "S2912 Fam10 (Thunder n3600R)"
+if BOARD_TYAN_S2912_FAM10
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_F_1207
 	select NORTHBRIDGE_AMD_AMDFAM10
@@ -20,109 +22,89 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s2912_fam10
-	depends on BOARD_TYAN_S2912_FAM10
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xc4000
-	depends on BOARD_TYAN_S2912_FAM10
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x0c000
-	depends on BOARD_TYAN_S2912_FAM10
 
 config DCACHE_RAM_GLOBAL_VAR_SIZE
 	hex
 	default 0x04000
-	depends on BOARD_TYAN_S2912_FAM10
 
 config APIC_ID_OFFSET
 	hex
 	default 0
-	depends on BOARD_TYAN_S2912_FAM10
 
 config MEM_TRAIN_SEQ
 	int
 	default 2
-	depends on BOARD_TYAN_S2912_FAM10
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 2
-	depends on BOARD_TYAN_S2912_FAM10
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S2912 (Fam10)"
-	depends on BOARD_TYAN_S2912_FAM10
 
 config PCI_64BIT_PREF_MEM
 	bool
 	default n
-	depends on BOARD_TYAN_S2912_FAM10
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S2912_FAM10
 
 config MAX_CPUS
 	int
 	default 12
-	depends on BOARD_TYAN_S2912_FAM10
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 2
-	depends on BOARD_TYAN_S2912_FAM10
 
 config HW_MEM_HOLE_SIZE_AUTO_INC
 	bool
 	default n
-	depends on BOARD_TYAN_S2912_FAM10
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TYAN_S2912_FAM10
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S2912_FAM10
 
 config SERIAL_CPU_INIT
 	bool
 	default n
-	depends on BOARD_TYAN_S2912_FAM10
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x2912
-	depends on BOARD_TYAN_S2912_FAM10
 
 config IRQ_SLOT_COUNT
 	int
 	default 11
-	depends on BOARD_TYAN_S2912_FAM10
 
 config AMD_UCODE_PATCH_FILE
 	string
 	default "mc_patch_01000095.h"
-	depends on BOARD_TYAN_S2912_FAM10
 
 config RAMBASE
 	hex
 	default 0x200000
-	depends on BOARD_TYAN_S2912_FAM10
 
 config RAMTOP
 	hex
 	default 0x1000000
-	depends on BOARD_TYAN_S2912_FAM10
 
 config HEAP_SIZE
 	hex
 	default 0xc0000
-	depends on BOARD_TYAN_S2912_FAM10
+
+endif # BOARD_TYAN_S2912_FAM10
diff --git a/src/mainboard/tyan/s4880/Kconfig b/src/mainboard/tyan/s4880/Kconfig
index 749c79a..0f0837b 100644
--- a/src/mainboard/tyan/s4880/Kconfig
+++ b/src/mainboard/tyan/s4880/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S4880
-	bool "S4880 (Thunder K8QS)"
+if BOARD_TYAN_S4880
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,70 +20,57 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s4880
-	depends on BOARD_TYAN_S4880
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_TYAN_S4880
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_TYAN_S4880
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_TYAN_S4880
 
 config K8_REV_F_SUPPORT
 	bool
 	default n
-	depends on BOARD_TYAN_S4880
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_TYAN_S4880
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S4880"
-	depends on BOARD_TYAN_S4880
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S4880
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_TYAN_S4880
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S4880
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S4880
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TYAN_S4880
 
 config IRQ_SLOT_COUNT
 	int
 	default 22
-	depends on BOARD_TYAN_S4880
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x4880
-	depends on BOARD_TYAN_S4880
 
+endif # BOARD_TYAN_S4880
diff --git a/src/mainboard/tyan/s4882/Kconfig b/src/mainboard/tyan/s4882/Kconfig
index 4dcbbaa..40d2d65 100644
--- a/src/mainboard/tyan/s4882/Kconfig
+++ b/src/mainboard/tyan/s4882/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_TYAN_S4882
-	bool "S4882 (Thunder K8QS Pro)"
+if BOARD_TYAN_S4882
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_SOCKET_940
 	select NORTHBRIDGE_AMD_AMDK8
@@ -18,70 +20,57 @@
 config MAINBOARD_DIR
 	string
 	default tyan/s4882
-	depends on BOARD_TYAN_S4882
 
 config DCACHE_RAM_BASE
 	hex
 	default 0xcf000
-	depends on BOARD_TYAN_S4882
 
 config DCACHE_RAM_SIZE
 	hex
 	default 0x01000
-	depends on BOARD_TYAN_S4882
 
 config APIC_ID_OFFSET
 	hex
 	default 0x10
-	depends on BOARD_TYAN_S4882
 
 config K8_REV_F_SUPPORT
 	bool
 	default n
-	depends on BOARD_TYAN_S4882
 
 config SB_HT_CHAIN_ON_BUS0
 	int
 	default 0
-	depends on BOARD_TYAN_S4882
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "S4882"
-	depends on BOARD_TYAN_S4882
 
 config HW_MEM_HOLE_SIZEK
 	hex
 	default 0x100000
-	depends on BOARD_TYAN_S4882
 
 config MAX_CPUS
 	int
 	default 8
-	depends on BOARD_TYAN_S4882
 
 config MAX_PHYSICAL_CPUS
 	int
 	default 4
-	depends on BOARD_TYAN_S4882
 
 config HT_CHAIN_END_UNITID_BASE
 	hex
 	default 0x20
-	depends on BOARD_TYAN_S4882
 
 config HT_CHAIN_UNITID_BASE
 	hex
 	default 0x1
-	depends on BOARD_TYAN_S4882
 
 config IRQ_SLOT_COUNT
 	int
 	default 22
-	depends on BOARD_TYAN_S4882
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0x4882
-	depends on BOARD_TYAN_S4882
 
+endif # BOARD_TYAN_S4882
diff --git a/src/mainboard/via/Kconfig b/src/mainboard/via/Kconfig
index 8f2d0db..f272247 100644
--- a/src/mainboard/via/Kconfig
+++ b/src/mainboard/via/Kconfig
@@ -1,14 +1,39 @@
+if VENDOR_VIA
+
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_VIA
+
+config BOARD_VIA_EPIA
+	bool "EPIA"
+config BOARD_VIA_EPIA_CN
+	bool "EPIA-CN"
+config BOARD_VIA_EPIA_M700
+	bool "EPIA-M700"
+config BOARD_VIA_EPIA_M
+	bool "EPIA-M"
+config BOARD_VIA_EPIA_N
+	bool "EPIA-N"
+config BOARD_VIA_PC2500E
+	bool "pc2500e"
+config BOARD_VIA_VT8454C
+	bool "VT8454c"
+
+endchoice
 
 source "src/mainboard/via/epia/Kconfig"
 source "src/mainboard/via/epia-cn/Kconfig"
-source "src/mainboard/via/epia-m/Kconfig"
 source "src/mainboard/via/epia-m700/Kconfig"
+source "src/mainboard/via/epia-m/Kconfig"
 source "src/mainboard/via/epia-n/Kconfig"
 source "src/mainboard/via/pc2500e/Kconfig"
 source "src/mainboard/via/vt8454c/Kconfig"
 
-endchoice
+config MAINBOARD_VENDOR
+	string
+	default "VIA"
 
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x1019
+
+endif # VENDOR_VIA
diff --git a/src/mainboard/via/epia-cn/Kconfig b/src/mainboard/via/epia-cn/Kconfig
index 2066321..a228c3d 100644
--- a/src/mainboard/via/epia-cn/Kconfig
+++ b/src/mainboard/via/epia-cn/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_EPIA_CN
-	bool "EPIA-CN"
+if BOARD_VIA_EPIA_CN
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C7
 	select NORTHBRIDGE_VIA_CN700
@@ -12,19 +14,17 @@
 config MAINBOARD_DIR
 	string
 	default via/epia-cn
-	depends on BOARD_VIA_EPIA_CN
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EPIA-CN"
-	depends on BOARD_VIA_EPIA_CN
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_VIA_EPIA_CN
 
 config IRQ_SLOT_COUNT
 	int
 	default 9
-	depends on BOARD_VIA_EPIA_CN
+
+endif # BOARD_VIA_EPIA_CN
diff --git a/src/mainboard/via/epia-m/Kconfig b/src/mainboard/via/epia-m/Kconfig
index b424a9d..bf7f13d 100644
--- a/src/mainboard/via/epia-m/Kconfig
+++ b/src/mainboard/via/epia-m/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_EPIA_M
-	bool "EPIA-M"
+if BOARD_VIA_EPIA_M
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C3
 	select NORTHBRIDGE_VIA_VT8623
@@ -16,15 +18,13 @@
 config MAINBOARD_DIR
 	string
 	default via/epia-m
-	depends on BOARD_VIA_EPIA_M
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EPIA-M"
-	depends on BOARD_VIA_EPIA_M
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_VIA_EPIA_M
 
+endif # BOARD_VIA_EPIA_M
diff --git a/src/mainboard/via/epia-m700/Kconfig b/src/mainboard/via/epia-m700/Kconfig
index 1756426..43a36ce 100644
--- a/src/mainboard/via/epia-m700/Kconfig
+++ b/src/mainboard/via/epia-m700/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_EPIA_M700
-	bool "EPIA-M700"
+if BOARD_VIA_EPIA_M700
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C7
 	select NORTHBRIDGE_VIA_VX800
@@ -12,19 +14,17 @@
 config MAINBOARD_DIR
 	string
 	default via/epia-m700
-	depends on BOARD_VIA_EPIA_M700
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EPIA-M700"
-	depends on BOARD_VIA_EPIA_M700
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_VIA_EPIA_M700
 
 config IRQ_SLOT_COUNT
 	int
 	default 13
-	depends on BOARD_VIA_EPIA_M700
+
+endif # BOARD_VIA_EPIA_M700
diff --git a/src/mainboard/via/epia-n/Kconfig b/src/mainboard/via/epia-n/Kconfig
index 1356b7a..6b7a896 100644
--- a/src/mainboard/via/epia-n/Kconfig
+++ b/src/mainboard/via/epia-n/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_EPIA_N
-	bool "EPIA-N"
+if BOARD_VIA_EPIA_N
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C3
 	select NORTHBRIDGE_VIA_CN400
@@ -17,20 +19,17 @@
 config MAINBOARD_DIR
 	string
 	default via/epia-n
-	depends on BOARD_VIA_EPIA_N
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EPIA-N"
-	depends on BOARD_VIA_EPIA_N
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_VIA_EPIA_N
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_VIA_EPIA_N
 
+endif # BOARD_VIA_EPIA_N
diff --git a/src/mainboard/via/epia/Kconfig b/src/mainboard/via/epia/Kconfig
index 05a9735..e4fa3b8 100644
--- a/src/mainboard/via/epia/Kconfig
+++ b/src/mainboard/via/epia/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_EPIA
-	bool "EPIA"
+if BOARD_VIA_EPIA
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C3
 	select NORTHBRIDGE_VIA_VT8601
@@ -13,19 +15,17 @@
 config MAINBOARD_DIR
 	string
 	default via/epia
-	depends on BOARD_VIA_EPIA
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "EPIA"
-	depends on BOARD_VIA_EPIA
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_VIA_EPIA
 
 config IRQ_SLOT_COUNT
 	int
 	default 5
-	depends on BOARD_VIA_EPIA
+
+endif # BOARD_VIA_EPIA
diff --git a/src/mainboard/via/pc2500e/Kconfig b/src/mainboard/via/pc2500e/Kconfig
index f2bf195..96932d7 100644
--- a/src/mainboard/via/pc2500e/Kconfig
+++ b/src/mainboard/via/pc2500e/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_PC2500E
-	bool "pc2500e"
+if BOARD_VIA_PC2500E
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C7
 	select NORTHBRIDGE_VIA_CN700
@@ -15,40 +17,33 @@
 config MAINBOARD_DIR
 	string
 	default via/pc2500e
-	depends on BOARD_VIA_PC2500E
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "pc2500e"
-	depends on BOARD_VIA_PC2500E
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_VIA_PC2500E
 
 config IRQ_SLOT_COUNT
 	int
 	default 10
-	depends on BOARD_VIA_PC2500E
 
 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 	hex
 	default 0x1019
-	depends on BOARD_VIA_PC2500E
 
 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 	hex
 	default 0xaa51
-	depends on BOARD_VIA_PC2500E
 
 config FALLBACK_VGA_BIOS_FILE
 	string
 	default "M14CRT.ROM"
-	depends on BOARD_VIA_PC2500E
 
 config FALLBACK_VGA_BIOS_ID
 	string
 	default "1106,3344"
-	depends on BOARD_VIA_PC2500E
 
+endif # BOARD_VIA_PC2500E
diff --git a/src/mainboard/via/vt8454c/Kconfig b/src/mainboard/via/vt8454c/Kconfig
index 33b75b4..547f6c6 100644
--- a/src/mainboard/via/vt8454c/Kconfig
+++ b/src/mainboard/via/vt8454c/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_VIA_VT8454C
-	bool "VT8454c"
+if BOARD_VIA_VT8454C
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_VIA_C7
 	select NORTHBRIDGE_VIA_CX700
@@ -18,19 +20,17 @@
 config MAINBOARD_DIR
 	string
 	default via/vt8454c
-	depends on BOARD_VIA_VT8454C
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "VT8454c"
-	depends on BOARD_VIA_VT8454C
 
 config IRQ_SLOT_COUNT
 	int
 	default 15
-	depends on BOARD_VIA_VT8454C
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_VIA_VT8454C
+
+endif # BOARD_VIA_VT8454C
diff --git a/src/mainboard/winent/Kconfig b/src/mainboard/winent/Kconfig
index aa935b5..7dd75ce 100644
--- a/src/mainboard/winent/Kconfig
+++ b/src/mainboard/winent/Kconfig
@@ -16,12 +16,20 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_WINENT
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_WINENT
 
-source "src/mainboard/winent/pl6064/Kconfig"
+config BOARD_WINENT_PL6064
+	bool "PL6064"
 
 endchoice
 
+source "src/mainboard/winent/pl6064/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Win Enterprise"
+
+endif # VENDOR_WINENT
diff --git a/src/mainboard/winent/pl6064/Kconfig b/src/mainboard/winent/pl6064/Kconfig
index 09ad88a..ea43881 100644
--- a/src/mainboard/winent/pl6064/Kconfig
+++ b/src/mainboard/winent/pl6064/Kconfig
@@ -1,5 +1,7 @@
-config BOARD_WINENT_PL6064
-	bool "PL6064"
+if BOARD_WINENT_PL6064
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_LX
 	select NORTHBRIDGE_AMD_LX
@@ -14,19 +16,17 @@
 config MAINBOARD_DIR
 	string
 	default winent/pl6064
-	depends on BOARD_WINENT_PL6064
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "PL6064"
-	depends on BOARD_WINENT_PL6064
 
 config IRQ_SLOT_COUNT
 	int
 	default 7
-	depends on BOARD_WINENT_PL6064
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_WINENT_PL6064
+
+endif # BOARD_WINENT_PL6064
diff --git a/src/mainboard/wyse/Kconfig b/src/mainboard/wyse/Kconfig
index c99132f..2607d6c 100644
--- a/src/mainboard/wyse/Kconfig
+++ b/src/mainboard/wyse/Kconfig
@@ -16,12 +16,24 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if VENDOR_WYSE
 
 choice
 	prompt "Mainboard model"
-	depends on VENDOR_WYSE
 
-source "src/mainboard/wyse/s50/Kconfig"
+config BOARD_WYSE_S50
+	bool "S50"
 
 endchoice
 
+source "src/mainboard/wyse/s50/Kconfig"
+
+config MAINBOARD_VENDOR
+	string
+	default "Wyse"
+
+config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
+	hex
+	default 0x102d
+
+endif # VENDOR_WYSE
diff --git a/src/mainboard/wyse/s50/Kconfig b/src/mainboard/wyse/s50/Kconfig
index 0204655..22514c3 100644
--- a/src/mainboard/wyse/s50/Kconfig
+++ b/src/mainboard/wyse/s50/Kconfig
@@ -16,9 +16,10 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
+if BOARD_WYSE_S50
 
-config BOARD_WYSE_S50
-	bool "S50"
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
 	select ARCH_X86
 	select CPU_AMD_GX2
 	select NORTHBRIDGE_AMD_GX2
@@ -32,19 +33,17 @@
 config MAINBOARD_DIR
 	string
 	default wyse/s50
-	depends on BOARD_WYSE_S50
 
 config MAINBOARD_PART_NUMBER
 	string
 	default "s50"
-	depends on BOARD_WYSE_S50
 
 config IRQ_SLOT_COUNT
 	int
 	default 3
-	depends on BOARD_WYSE_S50
 
 config RAMBASE
 	hex
 	default 0x4000
-	depends on BOARD_WYSE_S50
+
+endif # BOARD_WYSE_S50