summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/chumby_falconwing
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-01-20 09:38:20 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-01-20 10:33:30 +0100
commit61a8639441b77826f9441fff9cd12cdad669c247 (patch)
tree5f34e37e3c60930878e088bd988ed839d9169b70 /arch/arm/boards/chumby_falconwing
parent67292676434827f9978f61710aadc820b2a5f833 (diff)
downloadbarebox-61a8639441b77826f9441fff9cd12cdad669c247.tar.gz
barebox-61a8639441b77826f9441fff9cd12cdad669c247.tar.xz
ARM Chumby: Add MMU support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/chumby_falconwing')
-rw-r--r--arch/arm/boards/chumby_falconwing/falconwing.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/boards/chumby_falconwing/falconwing.c b/arch/arm/boards/chumby_falconwing/falconwing.c
index 2887f8cf91..966d99b748 100644
--- a/arch/arm/boards/chumby_falconwing/falconwing.c
+++ b/arch/arm/boards/chumby_falconwing/falconwing.c
@@ -25,6 +25,7 @@
#include <usb/ehci.h>
#include <asm/armlinux.h>
#include <asm/io.h>
+#include <asm/mmu.h>
#include <generated/mach-types.h>
#include <mach/imx-regs.h>
#include <mach/clock.h>
@@ -264,6 +265,28 @@ static const uint32_t pad_setup[] = {
GPMI_RDY3_GPIO | GPIO_IN | PULLUP(1),
};
+#ifdef CONFIG_MMU
+static int falconwing_mmu_init(void)
+{
+ mmu_init();
+
+ arm_create_section(0x40000000, 0x40000000, 64, PMD_SECT_DEF_CACHED);
+ arm_create_section(0x50000000, 0x40000000, 64, PMD_SECT_DEF_UNCACHED);
+
+ setup_dma_coherent(0x10000000);
+
+#if TEXT_BASE & (0x100000 - 1)
+#warning cannot create vector section. Adjust TEXT_BASE to a 1M boundary
+#else
+ arm_create_section(0x0, TEXT_BASE, 1, PMD_SECT_DEF_UNCACHED);
+#endif
+ mmu_enable();
+
+ return 0;
+}
+postcore_initcall(falconwing_mmu_init);
+#endif
+
/**
* Try to register an environment storage on the attached MCI card
* @return 0 on success