diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7a191c733b34fab513f6beb6228f39ca294e3ec6..8ac16f96efe2cb19528e9eea9a83b1fa4e3edbcb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -337,11 +337,8 @@ config ARCH_EXYNOS
 config TARGET_HIGHBANK
 	bool "Support highbank"
 
-config TARGET_K2E_EVM
-	bool "Support k2e_evm"
-
-config TARGET_K2HK_EVM
-	bool "Support k2hk_evm"
+config ARCH_KEYSTONE
+	bool "TI Keystone"
 
 config TARGET_M53EVK
 	bool "Support m53evk"
@@ -515,6 +512,8 @@ source "arch/arm/cpu/arm926ejs/davinci/Kconfig"
 
 source "arch/arm/cpu/armv7/exynos/Kconfig"
 
+source "arch/arm/cpu/armv7/keystone/Kconfig"
+
 source "arch/arm/cpu/arm926ejs/kirkwood/Kconfig"
 
 source "arch/arm/cpu/armv7/omap3/Kconfig"
@@ -656,7 +655,6 @@ source "board/syteco/zmx25/Kconfig"
 source "board/taskit/stamp9g20/Kconfig"
 source "board/ti/am335x/Kconfig"
 source "board/ti/am43xx/Kconfig"
-source "board/ti/ks2_evm/Kconfig"
 source "board/ti/ti814x/Kconfig"
 source "board/ti/ti816x/Kconfig"
 source "board/ti/tnetv107xevm/Kconfig"
diff --git a/arch/arm/cpu/armv7/keystone/Kconfig b/arch/arm/cpu/armv7/keystone/Kconfig
new file mode 100644
index 0000000000000000000000000000000000000000..24d0cbe82007172d08af30e8209276354bd25ab7
--- /dev/null
+++ b/arch/arm/cpu/armv7/keystone/Kconfig
@@ -0,0 +1,24 @@
+if ARCH_KEYSTONE
+
+choice
+	prompt "TI Keystone board select"
+
+config TARGET_K2HK_EVM
+	bool "TI Keystone 2 Kepler/Hawking EVM"
+
+config TARGET_K2E_EVM
+	bool "TI Keystone 2 Edison EVM"
+
+endchoice
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_SOC
+	string
+	default "keystone"
+
+source "board/ti/ks2_evm/Kconfig"
+
+endif
diff --git a/board/ti/ks2_evm/Kconfig b/board/ti/ks2_evm/Kconfig
index 7890b3018ae03e05dad921555015b5ca7a9929f6..3108782876569b230b29e2159e5563134a99e846 100644
--- a/board/ti/ks2_evm/Kconfig
+++ b/board/ti/ks2_evm/Kconfig
@@ -1,9 +1,5 @@
 if TARGET_K2E_EVM
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "ks2_evm"
@@ -12,10 +8,6 @@ config SYS_VENDOR
 	string
 	default "ti"
 
-config SYS_SOC
-	string
-	default "keystone"
-
 config SYS_CONFIG_NAME
 	string
 	default "k2e_evm"
@@ -24,10 +16,6 @@ endif
 
 if TARGET_K2HK_EVM
 
-config SYS_CPU
-	string
-	default "armv7"
-
 config SYS_BOARD
 	string
 	default "ks2_evm"
@@ -36,10 +24,6 @@ config SYS_VENDOR
 	string
 	default "ti"
 
-config SYS_SOC
-	string
-	default "keystone"
-
 config SYS_CONFIG_NAME
 	string
 	default "k2hk_evm"
diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
index c210ad5dec6b564f4d0c8cf557e01ea1e44e7b6f..be8d2ee5e90ed5e3257c5a5c916cb1220bb63dad 100644
--- a/configs/k2e_evm_defconfig
+++ b/configs/k2e_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
+CONFIG_ARCH_KEYSTONE=y
 CONFIG_TARGET_K2E_EVM=y
diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
index caa763a546b6edd4cd9a697cff7118b1c8d756ce..eee3335487fda99f83966ef5ede884e3f18392e8 100644
--- a/configs/k2hk_evm_defconfig
+++ b/configs/k2hk_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
+CONFIG_ARCH_KEYSTONE=y
 CONFIG_TARGET_K2HK_EVM=y