diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 304200e911480eca8d67d2c3be4069b1b7e99b96..4e9e26fbc3da27b235e1c8476adce3fc21af0055 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -308,14 +308,8 @@ config TARGET_SPEAR600
 config TARGET_X600
 	bool "Support x600"
 
-config TARGET_VERSATILEAB
-	bool "Support versatileab"
-
-config TARGET_VERSATILEPB
-	bool "Support versatilepb"
-
-config TARGET_VERSATILEQEMU
-	bool "Support versatileqemu"
+config ARCH_VERSATILE
+	bool "ARM Ltd. Versatile family"
 
 config TARGET_INTEGRATORCP_CM1136
 	bool "Support integratorcp_cm1136"
@@ -720,6 +714,8 @@ source "arch/arm/cpu/armv7/rmobile/Kconfig"
 
 source "arch/arm/cpu/armv7/tegra-common/Kconfig"
 
+source "arch/arm/cpu/arm926ejs/versatile/Kconfig"
+
 source "arch/arm/cpu/armv7/zynq/Kconfig"
 
 source "board/8dtech/eco5pk/Kconfig"
@@ -750,7 +746,6 @@ source "board/ait/cam_enc_4xx/Kconfig"
 source "board/altera/socfpga/Kconfig"
 source "board/armadeus/apf27/Kconfig"
 source "board/armltd/integrator/Kconfig"
-source "board/armltd/versatile/Kconfig"
 source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/atmel/at91rm9200ek/Kconfig"
diff --git a/arch/arm/cpu/arm926ejs/versatile/Kconfig b/arch/arm/cpu/arm926ejs/versatile/Kconfig
new file mode 100644
index 0000000000000000000000000000000000000000..fc29c9800fd0b0c16214eebe902c943651291cfa
--- /dev/null
+++ b/arch/arm/cpu/arm926ejs/versatile/Kconfig
@@ -0,0 +1,23 @@
+if ARCH_VERSATILE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "versatile"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_SOC
+	string
+	default "versatile"
+
+config SYS_CONFIG_NAME
+	string
+	default "versatile"
+
+endif
diff --git a/board/armltd/versatile/Kconfig b/board/armltd/versatile/Kconfig
deleted file mode 100644
index f96d0b2a569a4d85b6de6a3e611e00a1bc620c8c..0000000000000000000000000000000000000000
--- a/board/armltd/versatile/Kconfig
+++ /dev/null
@@ -1,71 +0,0 @@
-if TARGET_VERSATILEAB
-
-config SYS_CPU
-	string
-	default "arm926ejs"
-
-config SYS_BOARD
-	string
-	default "versatile"
-
-config SYS_VENDOR
-	string
-	default "armltd"
-
-config SYS_SOC
-	string
-	default "versatile"
-
-config SYS_CONFIG_NAME
-	string
-	default "versatile"
-
-endif
-
-if TARGET_VERSATILEPB
-
-config SYS_CPU
-	string
-	default "arm926ejs"
-
-config SYS_BOARD
-	string
-	default "versatile"
-
-config SYS_VENDOR
-	string
-	default "armltd"
-
-config SYS_SOC
-	string
-	default "versatile"
-
-config SYS_CONFIG_NAME
-	string
-	default "versatile"
-
-endif
-
-if TARGET_VERSATILEQEMU
-
-config SYS_CPU
-	string
-	default "arm926ejs"
-
-config SYS_BOARD
-	string
-	default "versatile"
-
-config SYS_VENDOR
-	string
-	default "armltd"
-
-config SYS_SOC
-	string
-	default "versatile"
-
-config SYS_CONFIG_NAME
-	string
-	default "versatile"
-
-endif
diff --git a/configs/versatileab_defconfig b/configs/versatileab_defconfig
index 9d64dd0e560d8b6d104b91358bbc424a04c4dd47..94680fef213a26d294d60e79979d7673bbc72f1c 100644
--- a/configs/versatileab_defconfig
+++ b/configs/versatileab_defconfig
@@ -1,3 +1,3 @@
 CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_AB"
 CONFIG_ARM=y
-CONFIG_TARGET_VERSATILEAB=y
+CONFIG_ARCH_VERSATILE=y
diff --git a/configs/versatilepb_defconfig b/configs/versatilepb_defconfig
index fadaf93cdd4fc8b8c09f677a430e4fac0f756f0e..2c59e5c51095347075c4f8f5e563ce1a4032221f 100644
--- a/configs/versatilepb_defconfig
+++ b/configs/versatilepb_defconfig
@@ -1,3 +1,3 @@
 CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_PB"
 CONFIG_ARM=y
-CONFIG_TARGET_VERSATILEPB=y
+CONFIG_ARCH_VERSATILE=y
diff --git a/configs/versatileqemu_defconfig b/configs/versatileqemu_defconfig
index 9d24558688ee712c01b510a753fd6d91e70f72bc..fb0485d9854675bf8a0feba9cc467da122c9dd5c 100644
--- a/configs/versatileqemu_defconfig
+++ b/configs/versatileqemu_defconfig
@@ -1,3 +1,3 @@
 CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB"
 CONFIG_ARM=y
-CONFIG_TARGET_VERSATILEQEMU=y
+CONFIG_ARCH_VERSATILE=y