diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ac7a11b..8046d3e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -61,18 +61,6 @@ config SEMIHOSTING
 choice
 	prompt "Target select"
 
-config TARGET_INTEGRATORAP_CM720T
-	bool "Support integratorap_cm720t"
-	select CPU_ARM720T
-
-config TARGET_INTEGRATORAP_CM920T
-	bool "Support integratorap_cm920t"
-	select CPU_ARM920T
-
-config TARGET_INTEGRATORCP_CM920T
-	bool "Support integratorcp_cm920t"
-	select CPU_ARM920T
-
 config ARCH_AT91
 	bool "Atmel AT91"
 
@@ -92,14 +80,6 @@ config TARGET_SMDK2410
 	bool "Support smdk2410"
 	select CPU_ARM920T
 
-config TARGET_INTEGRATORAP_CM926EJS
-	bool "Support integratorap_cm926ejs"
-	select CPU_ARM926EJS
-
-config TARGET_INTEGRATORCP_CM926EJS
-	bool "Support integratorcp_cm926ejs"
-	select CPU_ARM926EJS
-
 config TARGET_ASPENITE
 	bool "Support aspenite"
 	select CPU_ARM926EJS
@@ -247,10 +227,6 @@ config ARCH_VERSATILE
 	bool "ARM Ltd. Versatile family"
 	select CPU_ARM926EJS
 
-config TARGET_INTEGRATORCP_CM1136
-	bool "Support integratorcp_cm1136"
-	select CPU_ARM1136
-
 config TARGET_IMX31_PHYCORE
 	bool "Support imx31_phycore"
 	select CPU_ARM1136
@@ -299,14 +275,6 @@ config ARCH_BCM283X
 	select DM_SERIAL
 	select DM_GPIO
 
-config TARGET_INTEGRATORAP_CM946ES
-	bool "Support integratorap_cm946es"
-	select CPU_ARM946ES
-
-config TARGET_INTEGRATORCP_CM946ES
-	bool "Support integratorcp_cm946es"
-	select CPU_ARM946ES
-
 config TARGET_VEXPRESS_CA15_TC2
 	bool "Support vexpress_ca15_tc2"
 	select CPU_V7
@@ -461,6 +429,9 @@ config ARCH_HIGHBANK
 	bool "Calxeda Highbank"
 	select CPU_V7
 
+config ARCH_INTEGRATOR
+	bool "ARM Ltd. Integrator family"
+
 config ARCH_KEYSTONE
 	bool "TI Keystone"
 	select CPU_V7
@@ -789,6 +760,8 @@ source "arch/arm/cpu/armv7/exynos/Kconfig"
 
 source "arch/arm/mach-highbank/Kconfig"
 
+source "arch/arm/mach-integrator/Kconfig"
+
 source "arch/arm/mach-keystone/Kconfig"
 
 source "arch/arm/mach-kirkwood/Kconfig"
@@ -835,7 +808,6 @@ source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/db-mv784mp-gp/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
 source "board/armadeus/apf27/Kconfig"
-source "board/armltd/integrator/Kconfig"
 source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/bachmann/ot1200/Kconfig"
diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig
new file mode 100644
index 0000000..4406399
--- /dev/null
+++ b/arch/arm/mach-integrator/Kconfig
@@ -0,0 +1,57 @@
+menu "Integrator Options"
+	depends on ARCH_INTEGRATOR
+
+choice
+	prompt "ARM Ltd. Integrator board select"
+
+config TARGET_INTEGRATORAP_CM720T
+	bool "Support integratorap_cm720t"
+	select CPU_ARM720T
+
+config TARGET_INTEGRATORAP_CM920T
+	bool "Support integratorap_cm920t"
+	select CPU_ARM920T
+
+config TARGET_INTEGRATORCP_CM920T
+	bool "Support integratorcp_cm920t"
+	select CPU_ARM920T
+
+config TARGET_INTEGRATORAP_CM926EJS
+	bool "Support integratorap_cm926ejs"
+	select CPU_ARM926EJS
+
+config TARGET_INTEGRATORCP_CM926EJS
+	bool "Support integratorcp_cm926ejs"
+	select CPU_ARM926EJS
+
+config TARGET_INTEGRATORCP_CM1136
+	bool "Support integratorcp_cm1136"
+	select CPU_ARM1136
+
+config TARGET_INTEGRATORAP_CM946ES
+	bool "Support integratorap_cm946es"
+	select CPU_ARM946ES
+
+config TARGET_INTEGRATORCP_CM946ES
+	bool "Support integratorcp_cm946es"
+	select CPU_ARM946ES
+
+endchoice
+
+config SYS_BOARD
+	default "integrator"
+
+config SYS_VENDOR
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	default "integratorap" if TARGET_INTEGRATORAP_CM720T || \
+				  TARGET_INTEGRATORAP_CM920T || \
+				  TARGET_INTEGRATORAP_CM926EJS || \
+				  TARGET_INTEGRATORAP_CM946ES
+	default "integratorcp" if TARGET_INTEGRATORCP_CM920T || \
+				  TARGET_INTEGRATORCP_CM926EJS || \
+				  TARGET_INTEGRATORCP_CM946ES || \
+				  TARGET_INTEGRATORCP_CM1136
+
+endmenu
diff --git a/board/armltd/integrator/Kconfig b/board/armltd/integrator/Kconfig
deleted file mode 100644
index 6153b5d..0000000
--- a/board/armltd/integrator/Kconfig
+++ /dev/null
@@ -1,103 +0,0 @@
-if TARGET_INTEGRATORAP_CM720T
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorap"
-
-endif
-
-if TARGET_INTEGRATORAP_CM920T
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorap"
-
-endif
-
-if TARGET_INTEGRATORCP_CM920T
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorcp"
-
-endif
-
-if TARGET_INTEGRATORAP_CM926EJS
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorap"
-
-endif
-
-if TARGET_INTEGRATORCP_CM926EJS
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorcp"
-
-endif
-
-if TARGET_INTEGRATORCP_CM1136
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorcp"
-
-endif
-
-if TARGET_INTEGRATORAP_CM946ES
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorap"
-
-endif
-
-if TARGET_INTEGRATORCP_CM946ES
-
-config SYS_BOARD
-	default "integrator"
-
-config SYS_VENDOR
-	default "armltd"
-
-config SYS_CONFIG_NAME
-	default "integratorcp"
-
-endif
diff --git a/configs/integratorap_cm720t_defconfig b/configs/integratorap_cm720t_defconfig
index 0bb7b08..5c15d57 100644
--- a/configs/integratorap_cm720t_defconfig
+++ b/configs/integratorap_cm720t_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM720T"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORAP_CM720T=y
diff --git a/configs/integratorap_cm920t_defconfig b/configs/integratorap_cm920t_defconfig
index fb925d5..d2a9a71 100644
--- a/configs/integratorap_cm920t_defconfig
+++ b/configs/integratorap_cm920t_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM920T"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORAP_CM920T=y
diff --git a/configs/integratorap_cm926ejs_defconfig b/configs/integratorap_cm926ejs_defconfig
index 308a1e6..af4cfa5 100644
--- a/configs/integratorap_cm926ejs_defconfig
+++ b/configs/integratorap_cm926ejs_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM926EJ_S"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORAP_CM926EJS=y
diff --git a/configs/integratorap_cm946es_defconfig b/configs/integratorap_cm946es_defconfig
index d1b9db5..ee07206 100644
--- a/configs/integratorap_cm946es_defconfig
+++ b/configs/integratorap_cm946es_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM946ES"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORAP_CM946ES=y
diff --git a/configs/integratorcp_cm1136_defconfig b/configs/integratorcp_cm1136_defconfig
index 3feb656..5deedc8 100644
--- a/configs/integratorcp_cm1136_defconfig
+++ b/configs/integratorcp_cm1136_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM1136"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORCP_CM1136=y
diff --git a/configs/integratorcp_cm920t_defconfig b/configs/integratorcp_cm920t_defconfig
index f304bbe..5ed8539 100644
--- a/configs/integratorcp_cm920t_defconfig
+++ b/configs/integratorcp_cm920t_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM920T"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORCP_CM920T=y
diff --git a/configs/integratorcp_cm926ejs_defconfig b/configs/integratorcp_cm926ejs_defconfig
index a8d762b..4840ec4 100644
--- a/configs/integratorcp_cm926ejs_defconfig
+++ b/configs/integratorcp_cm926ejs_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM924EJ_S"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORCP_CM926EJS=y
diff --git a/configs/integratorcp_cm946es_defconfig b/configs/integratorcp_cm946es_defconfig
index 2e67dbc..dcd034d 100644
--- a/configs/integratorcp_cm946es_defconfig
+++ b/configs/integratorcp_cm946es_defconfig
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="CM946ES"
 CONFIG_ARM=y
+CONFIG_ARCH_INTEGRATOR=y
 CONFIG_TARGET_INTEGRATORCP_CM946ES=y
diff --git a/include/configs/integratorap.h b/include/configs/integratorap.h
index e168c8c..8439db7 100644
--- a/include/configs/integratorap.h
+++ b/include/configs/integratorap.h
@@ -18,7 +18,6 @@
 #include "integrator-common.h"
 
 /* Integrator/AP-specific configuration */
-#define CONFIG_ARCH_INTEGRATOR
 #define CONFIG_SYS_HZ_CLOCK		24000000	/* Timer 1 is clocked at 24Mhz */
 
 /*
