diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 8ff94a3c0b42232f1eae9fc4ea150699a7b7f3f9..6f30098f0accc59eb6c94d454c801222cebeeeb7 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -53,6 +53,7 @@ machine-$(CONFIG_ARMADA_XP)		+= mvebu
 machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
 # TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X
 machine-$(CONFIG_ORION5X)		+= orion5x
+machine-$(CONFIG_ARCH_SOCFPGA)		+= socfpga
 machine-$(CONFIG_TEGRA)			+= tegra
 machine-$(CONFIG_ARCH_UNIPHIER)		+= uniphier
 machine-$(CONFIG_ARCH_VERSATILE)	+= versatile
diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile
index d335845d93cbd0d2a3f82d30cfb2c479513db4de..64a283f866f8b0545dded44544346252d6242e09 100644
--- a/arch/arm/cpu/armv7/Makefile
+++ b/arch/arm/cpu/armv7/Makefile
@@ -50,7 +50,6 @@ obj-$(CONFIG_OMAP44XX) += omap4/
 obj-$(CONFIG_OMAP54XX) += omap5/
 obj-$(CONFIG_RMOBILE) += rmobile/
 obj-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx/
-obj-$(CONFIG_SOCFPGA) += socfpga/
 obj-$(if $(filter stv0991,$(SOC)),y) += stv0991/
 obj-$(CONFIG_ARCH_SUNXI) += sunxi/
 obj-$(CONFIG_U8500) += u8500/
diff --git a/arch/arm/cpu/armv7/socfpga/Makefile b/arch/arm/mach-socfpga/Makefile
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/Makefile
rename to arch/arm/mach-socfpga/Makefile
diff --git a/arch/arm/cpu/armv7/socfpga/clock_manager.c b/arch/arm/mach-socfpga/clock_manager.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/clock_manager.c
rename to arch/arm/mach-socfpga/clock_manager.c
diff --git a/arch/arm/cpu/armv7/socfpga/fpga_manager.c b/arch/arm/mach-socfpga/fpga_manager.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/fpga_manager.c
rename to arch/arm/mach-socfpga/fpga_manager.c
diff --git a/arch/arm/cpu/armv7/socfpga/freeze_controller.c b/arch/arm/mach-socfpga/freeze_controller.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/freeze_controller.c
rename to arch/arm/mach-socfpga/freeze_controller.c
diff --git a/arch/arm/cpu/armv7/socfpga/misc.c b/arch/arm/mach-socfpga/misc.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/misc.c
rename to arch/arm/mach-socfpga/misc.c
diff --git a/arch/arm/cpu/armv7/socfpga/reset_manager.c b/arch/arm/mach-socfpga/reset_manager.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/reset_manager.c
rename to arch/arm/mach-socfpga/reset_manager.c
diff --git a/arch/arm/cpu/armv7/socfpga/scan_manager.c b/arch/arm/mach-socfpga/scan_manager.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/scan_manager.c
rename to arch/arm/mach-socfpga/scan_manager.c
diff --git a/arch/arm/cpu/armv7/socfpga/spl.c b/arch/arm/mach-socfpga/spl.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/spl.c
rename to arch/arm/mach-socfpga/spl.c
diff --git a/arch/arm/cpu/armv7/socfpga/system_manager.c b/arch/arm/mach-socfpga/system_manager.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/system_manager.c
rename to arch/arm/mach-socfpga/system_manager.c
diff --git a/arch/arm/cpu/armv7/socfpga/timer.c b/arch/arm/mach-socfpga/timer.c
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/timer.c
rename to arch/arm/mach-socfpga/timer.c
diff --git a/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds b/arch/arm/mach-socfpga/u-boot-spl.lds
similarity index 100%
rename from arch/arm/cpu/armv7/socfpga/u-boot-spl.lds
rename to arch/arm/mach-socfpga/u-boot-spl.lds
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 41bb52bc8c071199fe09e56f8ec0a1f0d220e1b8..61ce37696832c3f472e75921e3c4aa247a40d597 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -298,7 +298,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 #define CONFIG_CRC32_VERIFY
 
 /* Linker script for SPL */
-#define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/armv7/socfpga/u-boot-spl.lds"
+#define CONFIG_SPL_LDSCRIPT	"arch/arm/mach-socfpga/u-boot-spl.lds"
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT