diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8c5d43d803052626e55f16642d3fb30390d8e600..13087e1a83a6b7fac75682ba54e3dcdce8378fd6 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -374,35 +374,8 @@ config TARGET_BCM958300K
 config TARGET_BCM958622HR
 	bool "Support bcm958622hr"
 
-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"
@@ -659,6 +632,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"
@@ -796,17 +771,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 0000000000000000000000000000000000000000..f1cacdce2951973bb420a577049ca998ce2be472
--- /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 c3af0ecf2bac555017d2fd7afafa7e83f4b8964e..5fdbacbbac0b1d6f3797769bf86c6892dfa742c0 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 f52de83e25ddbef1559e00619cdb445942c69e94..3eda350e2d0889d195c76bc18fbdf38ee818603d 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 edebbdeabb2b67a9bbe2b430e8e58f3b296955f3..e7036f5965c90d9ecb70232b82a9eac28d1b344c 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 052c2754f0fa1d1ef8cb934eae94ec6136723c66..fb9beddb1c6cac35eca3b52e0f61886e03d87c09 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 e467092b5bbe895beff8d40c4cd9ef9ac7c092dc..785fae29b8b55dc53b69675bf9e293d3868ff234 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 040413ee14b9e21ceae0de86ca604d8ad315a762..8bfb12d5cdab054d302e7507de031f66260fc0a9 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 a82fdfb4f906625f4afced7af5251d725df83e82..f359c03e2938e109bff155f43698ded785a648d3 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 082168fb4fe40598a745d5b11e677d61316b0333..72b879a26b480c68c963e74d9e0f07ae9f9a833a 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 7cc4307aef35325a6873a316db759dc661adbb58..7ea5c0da2cc01ac1959550ed258aeb7912207a02 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 e0d10d3ef4d2e565c70ed6007aa2777744e494b1..aa9238142a08b2712f00129a2329a0f945f17b32 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 68ba7940b5a5e8bffec65a0ba6c3019932f411a9..797d5e079005ece17c11cc54ddcee28a87655cf7 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 572df1d0f971fdf153bff5553ae9d6b185860a31..a9a3446fe5496264073ab23a0280565c65279437 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 a35e4fc17532db51dc2e4ceddb6155c2669fd0fd..465a75a6e33f91cd964b8fbdf7302924bc63ae73 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 12933f030180d3af77ae7ef0fa5758b7a79009ad..9dc43f27a63e1c2b2d05afc117946a43e838e792 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 d87986a00bd146942020c37920ef2da62f5aad1b..44da2732b605675ea5baae354abadfb8276dcd45 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 44c4701f26e440bfc8ed79e04d82546d7365f68d..2d59046f34906d939a33c9108776a5bf52e84ab5 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 0a53f0980ffc39eee3b85f476cb7c4abea720ee3..fa827241029a1983e939129867c143f9f7a85f6e 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 93b94c0f6045b6560d18e696d2175b5cca38c613..f888a514c19c036f150c63c7067373a1b19c830a 100644
--- a/configs/trats_defconfig
+++ b/configs/trats_defconfig
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS=y