diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3611f4d..cda0caf 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -368,35 +368,8 @@ config TARGET_SAMA5D3XEK
 config TARGET_BCM28155_AP
 	bool "Support bcm28155_ap"
 
-config TARGET_ARNDALE
-	bool "Support arndale"
-
-config TARGET_ORIGEN
-	bool "Support origen"
-
-config TARGET_SMDK5250
-	bool "Support smdk5250"
-
-config TARGET_SNOW
-	bool "Support snow"
-
-config TARGET_PEACH_PIT
-	bool "Support peach-pit"
-
-config TARGET_SMDK5420
-	bool "Support smdk5420"
-
-config TARGET_SMDKV310
-	bool "Support smdkv310"
-
-config TARGET_TRATS
-	bool "Support trats"
-
-config TARGET_TRATS2
-	bool "Support trats2"
-
-config TARGET_S5PC210_UNIVERSAL
-	bool "Support s5pc210_universal"
+config ARCH_EXYNOS
+	bool "Samsung EXYNOS"
 
 config TARGET_HIGHBANK
 	bool "Support highbank"
@@ -653,6 +626,8 @@ config TARGET_JORNADA
 
 endchoice
 
+source "arch/arm/cpu/armv7/exynos/Kconfig"
+
 source "arch/arm/cpu/arm926ejs/kirkwood/Kconfig"
 
 source "arch/arm/cpu/armv7/rmobile/Kconfig"
@@ -788,17 +763,9 @@ source "board/raspberrypi/rpi_b/Kconfig"
 source "board/ronetix/pm9261/Kconfig"
 source "board/ronetix/pm9263/Kconfig"
 source "board/ronetix/pm9g45/Kconfig"
-source "board/samsung/arndale/Kconfig"
 source "board/samsung/goni/Kconfig"
-source "board/samsung/origen/Kconfig"
 source "board/samsung/smdk2410/Kconfig"
-source "board/samsung/smdk5250/Kconfig"
-source "board/samsung/smdk5420/Kconfig"
 source "board/samsung/smdkc100/Kconfig"
-source "board/samsung/smdkv310/Kconfig"
-source "board/samsung/trats/Kconfig"
-source "board/samsung/trats2/Kconfig"
-source "board/samsung/universal_c210/Kconfig"
 source "board/sandisk/sansa_fuze_plus/Kconfig"
 source "board/scb9328/Kconfig"
 source "board/schulercontrol/sc_sps_1/Kconfig"
diff --git a/arch/arm/cpu/armv7/exynos/Kconfig b/arch/arm/cpu/armv7/exynos/Kconfig
new file mode 100644
index 0000000..f1cacdc
--- /dev/null
+++ b/arch/arm/cpu/armv7/exynos/Kconfig
@@ -0,0 +1,55 @@
+if ARCH_EXYNOS
+
+choice
+	prompt "EXYNOS board select"
+
+config TARGET_SMDKV310
+	bool "Exynos4210 SMDKV310 board"
+
+config TARGET_TRATS
+	bool "Exynos4210 Trats board"
+
+config TARGET_S5PC210_UNIVERSAL
+	bool "EXYNOS4210 Universal C210 board"
+
+config TARGET_ORIGEN
+	bool "Exynos4412 Origen board"
+
+config TARGET_TRATS2
+	bool "Exynos4412 Trat2 board"
+
+config TARGET_ARNDALE
+	bool "Exynos5250 Arndale board"
+
+config TARGET_SMDK5250
+	bool "SMDK5250 board"
+
+config TARGET_SNOW
+	bool "Snow board"
+
+config TARGET_SMDK5420
+	bool "SMDK5420 board"
+
+config TARGET_PEACH_PIT
+	bool "Peach Pi board"
+
+endchoice
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+source "board/samsung/smdkv310/Kconfig"
+source "board/samsung/trats/Kconfig"
+source "board/samsung/universal_c210/Kconfig"
+source "board/samsung/origen/Kconfig"
+source "board/samsung/trats2/Kconfig"
+source "board/samsung/arndale/Kconfig"
+source "board/samsung/smdk5250/Kconfig"
+source "board/samsung/smdk5420/Kconfig"
+
+endif
diff --git a/board/samsung/arndale/Kconfig b/board/samsung/arndale/Kconfig
index c3af0ec..5fdbacb 100644
--- a/board/samsung/arndale/Kconfig
+++ b/board/samsung/arndale/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_ARNDALE
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "arndale"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "arndale"
diff --git a/board/samsung/origen/Kconfig b/board/samsung/origen/Kconfig
index f52de83..3eda350 100644
--- a/board/samsung/origen/Kconfig
+++ b/board/samsung/origen/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_ORIGEN
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "origen"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "origen"
diff --git a/board/samsung/smdk5250/Kconfig b/board/samsung/smdk5250/Kconfig
index edebbde..e7036f5 100644
--- a/board/samsung/smdk5250/Kconfig
+++ b/board/samsung/smdk5250/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_SMDK5250
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "smdk5250"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "smdk5250"
@@ -24,10 +16,6 @@ endif
 
 if TARGET_SNOW
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "smdk5250"
@@ -36,10 +24,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "snow"
diff --git a/board/samsung/smdk5420/Kconfig b/board/samsung/smdk5420/Kconfig
index 052c275..fb9bedd 100644
--- a/board/samsung/smdk5420/Kconfig
+++ b/board/samsung/smdk5420/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_PEACH_PIT
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "smdk5420"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "peach-pit"
@@ -24,10 +16,6 @@ endif
 
 if TARGET_SMDK5420
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "smdk5420"
@@ -36,10 +24,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "smdk5420"
diff --git a/board/samsung/smdkv310/Kconfig b/board/samsung/smdkv310/Kconfig
index e467092..785fae2 100644
--- a/board/samsung/smdkv310/Kconfig
+++ b/board/samsung/smdkv310/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_SMDKV310
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "smdkv310"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "smdkv310"
diff --git a/board/samsung/trats/Kconfig b/board/samsung/trats/Kconfig
index 040413e..8bfb12d 100644
--- a/board/samsung/trats/Kconfig
+++ b/board/samsung/trats/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_TRATS
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "trats"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "trats"
diff --git a/board/samsung/trats2/Kconfig b/board/samsung/trats2/Kconfig
index a82fdfb..f359c03 100644
--- a/board/samsung/trats2/Kconfig
+++ b/board/samsung/trats2/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_TRATS2
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "trats2"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "trats2"
diff --git a/board/samsung/universal_c210/Kconfig b/board/samsung/universal_c210/Kconfig
index 082168f..72b879a 100644
--- a/board/samsung/universal_c210/Kconfig
+++ b/board/samsung/universal_c210/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_S5PC210_UNIVERSAL
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "universal_c210"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "samsung"
 
-config SYS_SOC
-	string
-	default "exynos"
-
 config SYS_CONFIG_NAME
 	string
 	default "s5pc210_universal"
diff --git a/configs/arndale_defconfig b/configs/arndale_defconfig
index 7cc4307..7ea5c0d 100644
--- a/configs/arndale_defconfig
+++ b/configs/arndale_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_ARNDALE=y
diff --git a/configs/origen_defconfig b/configs/origen_defconfig
index e0d10d3..aa92381 100644
--- a/configs/origen_defconfig
+++ b/configs/origen_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_ORIGEN=y
diff --git a/configs/peach-pit_defconfig b/configs/peach-pit_defconfig
index 68ba794..797d5e0 100644
--- a/configs/peach-pit_defconfig
+++ b/configs/peach-pit_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_PEACH_PIT=y
diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
index 572df1d..a9a3446 100644
--- a/configs/s5pc210_universal_defconfig
+++ b/configs/s5pc210_universal_defconfig
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_S5PC210_UNIVERSAL=y
diff --git a/configs/smdk5250_defconfig b/configs/smdk5250_defconfig
index a35e4fc..465a75a 100644
--- a/configs/smdk5250_defconfig
+++ b/configs/smdk5250_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDK5250=y
diff --git a/configs/smdk5420_defconfig b/configs/smdk5420_defconfig
index 12933f0..9dc43f2 100644
--- a/configs/smdk5420_defconfig
+++ b/configs/smdk5420_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDK5420=y
diff --git a/configs/smdkv310_defconfig b/configs/smdkv310_defconfig
index d87986a..44da273 100644
--- a/configs/smdkv310_defconfig
+++ b/configs/smdkv310_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDKV310=y
diff --git a/configs/snow_defconfig b/configs/snow_defconfig
index 44c4701..2d59046 100644
--- a/configs/snow_defconfig
+++ b/configs/snow_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SPL=y
 +S:CONFIG_ARM=y
++S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SNOW=y
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
index 0a53f09..fa82724 100644
--- a/configs/trats2_defconfig
+++ b/configs/trats2_defconfig
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS2=y
diff --git a/configs/trats_defconfig b/configs/trats_defconfig
index 93b94c0..f888a51 100644
--- a/configs/trats_defconfig
+++ b/configs/trats_defconfig
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS=y
