diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index adecafcad1cc9a20d13080c17c23c8ff78d97aa2..887c0d5b6ee1673c012c122df6c8182c3629b436 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -716,7 +716,7 @@ endchoice
 
 source "arch/arm/mach-at91/Kconfig"
 
-source "arch/arm/cpu/arm926ejs/davinci/Kconfig"
+source "arch/arm/mach-davinci/Kconfig"
 
 source "arch/arm/cpu/arm1176/bcm2835/Kconfig"
 
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index f1ae929154c432b7266885103c82647e95fff717..e321057a0edcad2b9b54e72673dd10ea994f5b84 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -5,6 +5,7 @@
 # Machine directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
 machine-$(CONFIG_ARCH_AT91)		+= at91
+machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
 # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA
 machine-$(CONFIG_TEGRA)			+= tegra
 
diff --git a/arch/arm/cpu/arm926ejs/Makefile b/arch/arm/cpu/arm926ejs/Makefile
index f41357aaeb42fa0b7730c5a9e0f4da61aaedf58c..27b4353a9dea36de7ae5d5670edd9d7f7b973a0d 100644
--- a/arch/arm/cpu/arm926ejs/Makefile
+++ b/arch/arm/cpu/arm926ejs/Makefile
@@ -15,7 +15,6 @@ endif
 endif
 
 obj-$(CONFIG_ARMADA100) += armada100/
-obj-$(CONFIG_ARCH_DAVINCI) += davinci/
 obj-$(CONFIG_KIRKWOOD) += kirkwood/
 obj-$(if $(filter lpc32xx,$(SOC)),y) += lpc32xx/
 obj-$(CONFIG_MB86R0x) += mb86r0x/
diff --git a/arch/arm/cpu/arm926ejs/davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/Kconfig
rename to arch/arm/mach-davinci/Kconfig
diff --git a/arch/arm/cpu/arm926ejs/davinci/Makefile b/arch/arm/mach-davinci/Makefile
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/Makefile
rename to arch/arm/mach-davinci/Makefile
diff --git a/arch/arm/cpu/arm926ejs/davinci/config.mk b/arch/arm/mach-davinci/config.mk
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/config.mk
rename to arch/arm/mach-davinci/config.mk
diff --git a/arch/arm/cpu/arm926ejs/davinci/cpu.c b/arch/arm/mach-davinci/cpu.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/cpu.c
rename to arch/arm/mach-davinci/cpu.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/da830_pinmux.c b/arch/arm/mach-davinci/da830_pinmux.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/da830_pinmux.c
rename to arch/arm/mach-davinci/da830_pinmux.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/mach-davinci/da850_lowlevel.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
rename to arch/arm/mach-davinci/da850_lowlevel.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_pinmux.c b/arch/arm/mach-davinci/da850_pinmux.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/da850_pinmux.c
rename to arch/arm/mach-davinci/da850_pinmux.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/dm355.c b/arch/arm/mach-davinci/dm355.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/dm355.c
rename to arch/arm/mach-davinci/dm355.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/dm365.c
rename to arch/arm/mach-davinci/dm365.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/dm365_lowlevel.c b/arch/arm/mach-davinci/dm365_lowlevel.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/dm365_lowlevel.c
rename to arch/arm/mach-davinci/dm365_lowlevel.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/dm644x.c
rename to arch/arm/mach-davinci/dm644x.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/dm646x.c
rename to arch/arm/mach-davinci/dm646x.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/dp83848.c b/arch/arm/mach-davinci/dp83848.c
similarity index 98%
rename from arch/arm/cpu/arm926ejs/davinci/dp83848.c
rename to arch/arm/mach-davinci/dp83848.c
index 603d507c70a98eec51771ca8d0f9c65f2bc92cf2..6387e956b23024c0d7ef4f65041a6357fdc545bb 100644
--- a/arch/arm/cpu/arm926ejs/davinci/dp83848.c
+++ b/arch/arm/mach-davinci/dp83848.c
@@ -13,7 +13,7 @@
 #include <net.h>
 #include <dp83848.h>
 #include <asm/arch/emac_defs.h>
-#include "../../../../../drivers/net/davinci_emac.h"
+#include "../../../drivers/net/davinci_emac.h"
 
 #ifdef CONFIG_DRIVER_TI_EMAC
 
diff --git a/arch/arm/cpu/arm926ejs/davinci/et1011c.c b/arch/arm/mach-davinci/et1011c.c
similarity index 94%
rename from arch/arm/cpu/arm926ejs/davinci/et1011c.c
rename to arch/arm/mach-davinci/et1011c.c
index 9d53875b93da1eee7b390b974da412a6d6e60c7f..151020d45aa0e75ca23886476a1d232555e7866c 100644
--- a/arch/arm/cpu/arm926ejs/davinci/et1011c.c
+++ b/arch/arm/mach-davinci/et1011c.c
@@ -10,7 +10,7 @@
 #include <net.h>
 #include <miiphy.h>
 #include <asm/arch/emac_defs.h>
-#include "../../../../../drivers/net/davinci_emac.h"
+#include "../../../drivers/net/davinci_emac.h"
 
 #ifdef CONFIG_DRIVER_TI_EMAC
 
diff --git a/arch/arm/cpu/arm926ejs/davinci/ksz8873.c b/arch/arm/mach-davinci/ksz8873.c
similarity index 95%
rename from arch/arm/cpu/arm926ejs/davinci/ksz8873.c
rename to arch/arm/mach-davinci/ksz8873.c
index 4af5dd2135db2ea0a2b561d9ab5ef184ef02296d..75af13538d14ebcd2b9b99e05eeb4eaa12b42bb9 100644
--- a/arch/arm/cpu/arm926ejs/davinci/ksz8873.c
+++ b/arch/arm/mach-davinci/ksz8873.c
@@ -20,7 +20,7 @@
 #include <net.h>
 #include <asm/arch/emac_defs.h>
 #include <asm/io.h>
-#include "../../../../../drivers/net/davinci_emac.h"
+#include "../../../drivers/net/davinci_emac.h"
 
 int ksz8873_is_phy_connected(int phy_addr)
 {
diff --git a/arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S b/arch/arm/mach-davinci/lowlevel_init.S
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S
rename to arch/arm/mach-davinci/lowlevel_init.S
diff --git a/arch/arm/cpu/arm926ejs/davinci/lxt972.c b/arch/arm/mach-davinci/lxt972.c
similarity index 97%
rename from arch/arm/cpu/arm926ejs/davinci/lxt972.c
rename to arch/arm/mach-davinci/lxt972.c
index c482fd93780247dc500cc975f71b0d764903e189..a7356f9672e51b7324c427264ccaee5c9dc984fa 100644
--- a/arch/arm/cpu/arm926ejs/davinci/lxt972.c
+++ b/arch/arm/mach-davinci/lxt972.c
@@ -14,7 +14,7 @@
 #include <miiphy.h>
 #include <lxt971a.h>
 #include <asm/arch/emac_defs.h>
-#include "../../../../../drivers/net/davinci_emac.h"
+#include "../../../drivers/net/davinci_emac.h"
 
 #ifdef CONFIG_DRIVER_TI_EMAC
 
diff --git a/arch/arm/cpu/arm926ejs/davinci/misc.c b/arch/arm/mach-davinci/misc.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/misc.c
rename to arch/arm/mach-davinci/misc.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/pinmux.c b/arch/arm/mach-davinci/pinmux.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/pinmux.c
rename to arch/arm/mach-davinci/pinmux.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/psc.c b/arch/arm/mach-davinci/psc.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/psc.c
rename to arch/arm/mach-davinci/psc.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/reset.c b/arch/arm/mach-davinci/reset.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/reset.c
rename to arch/arm/mach-davinci/reset.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c b/arch/arm/mach-davinci/spl.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/spl.c
rename to arch/arm/mach-davinci/spl.c
diff --git a/arch/arm/cpu/arm926ejs/davinci/timer.c b/arch/arm/mach-davinci/timer.c
similarity index 100%
rename from arch/arm/cpu/arm926ejs/davinci/timer.c
rename to arch/arm/mach-davinci/timer.c